Skip to content

Commit cbd519b

Browse files
committed
time.sleep() rounds to nearest msec
1 parent 857d8ab commit cbd519b

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

shared-bindings/time/__init__.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,16 @@ MP_DEFINE_CONST_FUN_OBJ_0(time_monotonic_obj, time_monotonic);
7070
//|
7171
STATIC mp_obj_t time_sleep(mp_obj_t seconds_o) {
7272
#if MICROPY_PY_BUILTINS_FLOAT
73-
float seconds = mp_obj_get_float(seconds_o);
73+
mp_float_t seconds = mp_obj_get_float(seconds_o);
74+
mp_float_t msecs = 1000.0f * seconds + 0.5f;
7475
#else
75-
int seconds = mp_obj_get_int(seconds_o);
76+
mp_int_t seconds = mp_obj_get_int(seconds_o);
77+
mp_int_t msecs = 1000 * seconds;
7678
#endif
7779
if (seconds < 0) {
7880
mp_raise_ValueError(translate("sleep length must be non-negative"));
7981
}
80-
common_hal_time_delay_ms(1000 * seconds);
82+
common_hal_time_delay_ms(msecs);
8183
return mp_const_none;
8284
}
8385
MP_DEFINE_CONST_FUN_OBJ_1(time_sleep_obj, time_sleep);

0 commit comments

Comments
 (0)