Skip to content
Qifan Lu edited this page Oct 6, 2017 · 2 revisions

Issues

This article lists the current issues of the WISP Extended Runtime.

WISP Firmware

  • Investigate if WISP_doRFID() is corrupting the stack and if it is, fix it.
  • To improve the efficiency of WIO functions, do not use wio_status_t for functions that does not throw any error. Return values directly instead of returning results through parameters.
  • Refactor the WIO buffer API to make it more efficient. Remove the bounds check inside wio_read() and wio_write(), and provide a spearate function for bounds check of the buffer. Inline as much WIO buffer functions as possible.
  • The WIO timer API still has bugs and sometimes can't be used. The current_time variable is sometimes mysteriously modified outside the WIO API code, causing the software timer system to fail. Investigate the cause of the problem and fix it.

WTP

  • Refactor function signatures and usage of WIO functions to bring WTP on par with the WIO API.
  • Currently function wtp_after_do_rfid() is directly inlined in the RFID loop, because the WTP code fails to work if the code is replaced by a function call. The problem might be related with potential stack corruption inside WISP_doRFID(). Before the problem is solved inside the firmware, see if we have any workarounds that solve the problem.
  • Because of the timer issue inside the WISP firmware, retransmission for the uplink isn't enabled. Implements the uplink retransmission using WIO timers. The server-side retransmission code can be used as a reference.
  • Support multiple OpSpec inside one AccessSpec. The current way that the WTP hook functions are called isn't compatible with that. May also requires optimization of the WTP client-side code.
  • Acknowledgement, timeout and retransmission mechanism for control packets. Many types of control packets needs to be delivered reliably, and currently WTP has no such mechansim.

WISP ERT

  • Improves the efficiency of the u-RPC code and refactor its usage of WIO functions.
  • Refactor the server-side WISP ERT code to allow custom services and configurations being applied for the wisp-ert command line utilities.
Clone this wiki locally