summaryrefslogtreecommitdiffstatshomepage
path: root/unix/modtermios.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-10-30 03:07:22 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-10-30 03:07:22 +0300
commite429daa5724e5e3c5f8866742abc64eb90ded71d (patch)
treea524c6ce5b9b054884967cac27bdbe6b3a5aa425 /unix/modtermios.c
parent76146b3d9ab0ab88ce0f0d1cfa0235ec0758a4a9 (diff)
downloadmicropython-e429daa5724e5e3c5f8866742abc64eb90ded71d.tar.gz
micropython-e429daa5724e5e3c5f8866742abc64eb90ded71d.zip
extmod/utime_mphal: Fix implementation of new semantics of ticks_diff().
Now the function properly uses ring arithmetic to return signed value in range (inclusive): [-MICROPY_PY_UTIME_TICKS_PERIOD/2, MICROPY_PY_UTIME_TICKS_PERIOD/2-1]. That means that function can properly process 2 time values away from each other within MICROPY_PY_UTIME_TICKS_PERIOD/2 ticks, but away in both directions. For example, if tick value 'a' predates tick value 'b', ticks_diff(a, b) will return negative value, and positive value otherwise. But at positive value of MICROPY_PY_UTIME_TICKS_PERIOD/2-1, the result of the function will wrap around to negative -MICROPY_PY_UTIME_TICKS_PERIOD/2, in other words, if a follows b in more than MICROPY_PY_UTIME_TICKS_PERIOD/2 - 1 ticks, the function will "consider" a to actually predate b.
Diffstat (limited to 'unix/modtermios.c')
0 files changed, 0 insertions, 0 deletions