File tree 1 file changed +9
-0
lines changed 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -69,13 +69,22 @@ STATIC mp_obj_t time_ticks_ms(void) {
69
69
}
70
70
STATIC MP_DEFINE_CONST_FUN_OBJ_0 (time_ticks_ms_obj , time_ticks_ms );
71
71
72
+ STATIC mp_obj_t time_ticks_diff (mp_obj_t start_in , mp_obj_t end_in ) {
73
+ // we assume that the arguments come from ticks_xx so are small ints
74
+ uint32_t start = MP_OBJ_SMALL_INT_VALUE (start_in );
75
+ uint32_t end = MP_OBJ_SMALL_INT_VALUE (end_in );
76
+ return MP_OBJ_NEW_SMALL_INT ((end - start ) & MP_SMALL_INT_POSITIVE_MASK );
77
+ }
78
+ STATIC MP_DEFINE_CONST_FUN_OBJ_2 (time_ticks_diff_obj , time_ticks_diff );
79
+
72
80
STATIC const mp_map_elem_t time_module_globals_table [] = {
73
81
{ MP_OBJ_NEW_QSTR (MP_QSTR___name__ ), MP_OBJ_NEW_QSTR (MP_QSTR_utime ) },
74
82
75
83
{ MP_OBJ_NEW_QSTR (MP_QSTR_sleep ), (mp_obj_t )& time_sleep_obj },
76
84
{ MP_OBJ_NEW_QSTR (MP_QSTR_sleep_ms ), (mp_obj_t )& time_sleep_ms_obj },
77
85
{ MP_OBJ_NEW_QSTR (MP_QSTR_sleep_us ), (mp_obj_t )& time_sleep_us_obj },
78
86
{ MP_OBJ_NEW_QSTR (MP_QSTR_ticks_ms ), (mp_obj_t )& time_ticks_ms_obj },
87
+ { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_diff ), (mp_obj_t )& time_ticks_diff_obj },
79
88
};
80
89
81
90
STATIC MP_DEFINE_CONST_DICT (time_module_globals , time_module_globals_table );
You can’t perform that action at this time.
0 commit comments