-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Are all time.tick_xxx()
functions bound to 30 bits?
#421
Comments
Ah, looking at the upstream code it's more clear that this is the case: STATIC mp_obj_t time_ticks_ms(void) {
return MP_OBJ_NEW_SMALL_INT(mp_hal_ticks_ms() & (MICROPY_PY_TIME_TICKS_PERIOD - 1));
}
MP_DEFINE_CONST_FUN_OBJ_0(mp_time_ticks_ms_obj, time_ticks_ms);
STATIC mp_obj_t time_ticks_us(void) {
return MP_OBJ_NEW_SMALL_INT(mp_hal_ticks_us() & (MICROPY_PY_TIME_TICKS_PERIOD - 1));
}
MP_DEFINE_CONST_FUN_OBJ_0(mp_time_ticks_us_obj, time_ticks_us);
STATIC mp_obj_t time_ticks_cpu(void) {
return MP_OBJ_NEW_SMALL_INT(mp_hal_ticks_cpu() & (MICROPY_PY_TIME_TICKS_PERIOD - 1));
}
MP_DEFINE_CONST_FUN_OBJ_0(mp_time_ticks_cpu_obj, time_ticks_cpu); And https://github.com/bbcmicrobit/micropython/blob/v1.1.1/source/extmod/utime_mphal.c#L67-L80. We can update the micro:bit MicroPython docs for V1 and V2 to reflect this. |
microbit-carlos
added
the
documentation
Improvements or additions to documentation
label
Apr 3, 2024
Ups, wrong repo, moved to microbit-foundation/micropython-microbit-v2#178 |
microbit-carlos
removed
the
documentation
Improvements or additions to documentation
label
Apr 3, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Looking at
time.tick_cpu()
and the values returned, it looks like this functions overflows at the 30-bit limit of a MicroPython "small int".Would this be true for all
time.tick_xxx()
? If that's the case, it's something we could add to the docs.The text was updated successfully, but these errors were encountered: