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