kmk_firmware/kmk/kmktime.py
2021-09-17 08:40:20 -07:00

16 lines
380 B
Python

from micropython import const
_TICKS_PERIOD = const(1 << 29)
_TICKS_MAX = const(_TICKS_PERIOD - 1)
_TICKS_HALFPERIOD = const(_TICKS_PERIOD // 2)
def ticks_diff(new, start):
diff = (new - start) & _TICKS_MAX
diff = ((diff + _TICKS_HALFPERIOD) & _TICKS_MAX) - _TICKS_HALFPERIOD
return diff
def check_deadline(new, start, ms):
return ticks_diff(new, start) < ms