ticks_xx wrap-around period

  • The ticks_xx functions wrap around at a certain value. For the initial micropython, this values is 2^30-1 (MP short int). For the pycom port, it is 2^32-1. Thats done by simply using C 32 bit integers. This implementation has two drawbacks:

    • uasyncio expects timers to be MP short ints.
    • using 32 bit ints cause the values to be standard ints in Python, which are more time-consuming to deal with. That may hurt if for instance ticks_diff and ticks_xx are used a tight timing loop.

    So the question is, should we go again to the 2^30-1 wrap-around period. It is not difficult. The code is still there and just has to be enabled by a config flag, and then unused code can be deleted. Only ticks_cpu requires special care, since different from the mp.org version is counts us ticks and the timing call is also used by the SX1272 and SX1276 driver. But besides that, I see nothing to consider.

Log in to reply

Pycom on Twitter