8000 atmel-samd: Add time.ticks_diff function from esp port. · cpforbes/circuitpython@f77113c · GitHub
[go: up one dir, main page]

Skip to content

Commit f77113c

Browse files
committed
atmel-samd: Add time.ticks_diff function from esp port.
1 parent 903bc8d commit f77113c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

atmel-samd/modutime.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,22 @@ STATIC mp_obj_t time_ticks_ms(void) {
6969
}
7070
STATIC MP_DEFINE_CONST_FUN_OBJ_0(time_ticks_ms_obj, time_ticks_ms);
7171

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+
7280
STATIC const mp_map_elem_t time_module_globals_table[] = {
7381
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_utime) },
7482

7583
{ MP_OBJ_NEW_QSTR(MP_QSTR_sleep), (mp_obj_t)&time_sleep_obj },
7684
{ MP_OBJ_NEW_QSTR(MP_QSTR_sleep_ms), (mp_obj_t)&time_sleep_ms_obj },
7785
{ MP_OBJ_NEW_QSTR(MP_QSTR_sleep_us), (mp_obj_t)&time_sleep_us_obj },
7886
{ 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 },
7988
};
8089

8190
STATIC MP_DEFINE_CONST_DICT(time_module_globals, time_module_globals_table);

0 commit comments

Comments
 (0)
0