diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-10-30 03:07:22 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-10-30 03:07:22 +0300 |
commit | e429daa5724e5e3c5f8866742abc64eb90ded71d (patch) | |
tree | a524c6ce5b9b054884967cac27bdbe6b3a5aa425 /unix | |
parent | 76146b3d9ab0ab88ce0f0d1cfa0235ec0758a4a9 (diff) | |
download | micropython-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')
0 files changed, 0 insertions, 0 deletions