3838#include "modpybrtc.h"
3939#include "timeutils.h"
4040#include "user_interface.h"
41+ #include "extmod/utime_mphal.h"
4142
4243/// \module time - time related functions
4344///
@@ -99,53 +100,6 @@ STATIC mp_obj_t time_mktime(mp_obj_t tuple) {
99100}
100101MP_DEFINE_CONST_FUN_OBJ_1 (time_mktime_obj , time_mktime );
101102
102- /// \function sleep(seconds)
103- /// Sleep for the given number of seconds.
104- STATIC mp_obj_t time_sleep (mp_obj_t seconds_o ) {
105- #if MICROPY_PY_BUILTINS_FLOAT
106- mp_hal_delay_ms (1000 * mp_obj_get_float (seconds_o ));
107- #else
108- mp_hal_delay_ms (1000 * mp_obj_get_int (seconds_o ));
109- #endif
110- return mp_const_none ;
111- }
112- MP_DEFINE_CONST_FUN_OBJ_1 (time_sleep_obj , time_sleep );
113-
114- STATIC mp_obj_t time_sleep_ms (mp_obj_t arg ) {
115- mp_hal_delay_ms (mp_obj_get_int (arg ));
116- return mp_const_none ;
117- }
118- STATIC MP_DEFINE_CONST_FUN_OBJ_1 (time_sleep_ms_obj , time_sleep_ms );
119-
120- STATIC mp_obj_t time_sleep_us (mp_obj_t arg ) {
121- mp_hal_delay_us (mp_obj_get_int (arg ));
122- return mp_const_none ;
123- }
124- STATIC MP_DEFINE_CONST_FUN_OBJ_1 (time_sleep_us_obj , time_sleep_us );
125-
126- STATIC mp_obj_t time_ticks_ms (void ) {
127- return MP_OBJ_NEW_SMALL_INT (mp_hal_ticks_ms () & MP_SMALL_INT_POSITIVE_MASK );
128- }
129- STATIC MP_DEFINE_CONST_FUN_OBJ_0 (time_ticks_ms_obj , time_ticks_ms );
130-
131- STATIC mp_obj_t time_ticks_us (void ) {
132- return MP_OBJ_NEW_SMALL_INT (mp_hal_ticks_us () & MP_SMALL_INT_POSITIVE_MASK );
133- }
134- STATIC MP_DEFINE_CONST_FUN_OBJ_0 (time_ticks_us_obj , time_ticks_us );
135-
136- STATIC mp_obj_t time_ticks_cpu (void ) {
137- return MP_OBJ_NEW_SMALL_INT (mp_hal_ticks_cpu () & MP_SMALL_INT_POSITIVE_MASK );
138- }
139- STATIC MP_DEFINE_CONST_FUN_OBJ_0 (time_ticks_cpu_obj , time_ticks_cpu );
140-
141- STATIC mp_obj_t time_ticks_diff (mp_obj_t start_in , mp_obj_t end_in ) {
142- // we assume that the arguments come from ticks_xx so are small ints
143- uint32_t start = MP_OBJ_SMALL_INT_VALUE (start_in );
144- uint32_t end = MP_OBJ_SMALL_INT_VALUE (end_in );
145- return MP_OBJ_NEW_SMALL_INT ((end - start ) & MP_SMALL_INT_POSITIVE_MASK );
146- }
147- STATIC MP_DEFINE_CONST_FUN_OBJ_2 (time_ticks_diff_obj , time_ticks_diff );
148-
149103/// \function time()
150104/// Returns the number of seconds, as an integer, since 1/1/2000.
151105STATIC mp_obj_t time_time (void ) {
@@ -159,13 +113,13 @@ STATIC const mp_map_elem_t time_module_globals_table[] = {
159113
160114 { MP_OBJ_NEW_QSTR (MP_QSTR_localtime ), (mp_obj_t )& time_localtime_obj },
161115 { MP_OBJ_NEW_QSTR (MP_QSTR_mktime ), (mp_obj_t )& time_mktime_obj },
162- { MP_OBJ_NEW_QSTR (MP_QSTR_sleep ), (mp_obj_t )& time_sleep_obj },
163- { MP_OBJ_NEW_QSTR (MP_QSTR_sleep_ms ), (mp_obj_t )& time_sleep_ms_obj },
164- { MP_OBJ_NEW_QSTR (MP_QSTR_sleep_us ), (mp_obj_t )& time_sleep_us_obj },
165- { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_ms ), (mp_obj_t )& time_ticks_ms_obj },
166- { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_us ), (mp_obj_t )& time_ticks_us_obj },
167- { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_cpu ), (mp_obj_t )& time_ticks_cpu_obj },
168- { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_diff ), (mp_obj_t )& time_ticks_diff_obj },
116+ { MP_OBJ_NEW_QSTR (MP_QSTR_sleep ), (mp_obj_t )& mp_utime_sleep_obj },
117+ { MP_OBJ_NEW_QSTR (MP_QSTR_sleep_ms ), (mp_obj_t )& mp_utime_sleep_ms_obj },
118+ { MP_OBJ_NEW_QSTR (MP_QSTR_sleep_us ), (mp_obj_t )& mp_utime_sleep_us_obj },
119+ { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_ms ), (mp_obj_t )& mp_utime_ticks_ms_obj },
120+ { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_us ), (mp_obj_t )& mp_utime_ticks_us_obj },
121+ { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_cpu ), (mp_obj_t )& mp_utime_ticks_cpu_obj },
122+ { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_diff ), (mp_obj_t )& mp_utime_ticks_diff_obj },
169123 { MP_OBJ_NEW_QSTR (MP_QSTR_time ), (mp_obj_t )& time_time_obj },
170124};
171125
0 commit comments