33
33
#include "py/obj.h"
34
34
#include "py/smallint.h"
35
35
#include "py/mphal.h"
36
+ #include "extmod/utime_mphal.h"
36
37
#include "timeutils.h"
37
38
#include "inc/hw_types.h"
38
39
#include "inc/hw_ints.h"
41
42
#include "prcm.h"
42
43
#include "systick.h"
43
44
#include "pybrtc.h"
44
- #include "mpsystick.h"
45
45
#include "mpexception.h"
46
46
#include "utils.h"
47
47
@@ -143,38 +143,12 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(time_sleep_ms_obj, time_sleep_ms);
143
143
STATIC mp_obj_t time_sleep_us (mp_obj_t usec_in ) {
144
144
mp_int_t usec = mp_obj_get_int (usec_in );
145
145
if (usec > 0 ) {
146
- UtilsDelay ( UTILS_DELAY_US_TO_COUNT ( usec ) );
146
+ mp_hal_delay_us ( usec );
147
147
}
148
148
return mp_const_none ;
149
149
}
150
150
STATIC MP_DEFINE_CONST_FUN_OBJ_1 (time_sleep_us_obj , time_sleep_us );
151
151
152
- STATIC mp_obj_t time_ticks_ms (void ) {
153
- // We want to "cast" the 32 bit unsigned into a 30-bit small-int
154
- return MP_OBJ_NEW_SMALL_INT (mp_hal_ticks_ms () & MP_SMALL_INT_POSITIVE_MASK );
155
- }
156
- STATIC MP_DEFINE_CONST_FUN_OBJ_0 (time_ticks_ms_obj , time_ticks_ms );
157
-
158
- STATIC mp_obj_t time_ticks_us (void ) {
159
- // We want to "cast" the 32 bit unsigned into a 30-bit small-int
160
- return MP_OBJ_NEW_SMALL_INT (sys_tick_get_microseconds () & MP_SMALL_INT_POSITIVE_MASK );
161
- }
162
- STATIC MP_DEFINE_CONST_FUN_OBJ_0 (time_ticks_us_obj , time_ticks_us );
163
-
164
- STATIC mp_obj_t time_ticks_cpu (void ) {
165
- // We want to "cast" the 32 bit unsigned into a 30-bit small-int
166
- return MP_OBJ_NEW_SMALL_INT ((SysTickPeriodGet () - SysTickValueGet ()) & MP_SMALL_INT_POSITIVE_MASK );
167
- }
168
- STATIC MP_DEFINE_CONST_FUN_OBJ_0 (time_ticks_cpu_obj , time_ticks_cpu );
169
-
170
- STATIC mp_obj_t time_ticks_diff (mp_obj_t t0 , mp_obj_t t1 ) {
171
- // We want to "cast" the 32 bit unsigned into a 30-bit small-int
172
- uint32_t start = mp_obj_get_int (t0 );
173
- uint32_t end = mp_obj_get_int (t1 );
174
- return MP_OBJ_NEW_SMALL_INT ((end - start ) & MP_SMALL_INT_POSITIVE_MASK );
175
- }
176
- STATIC MP_DEFINE_CONST_FUN_OBJ_2 (time_ticks_diff_obj , time_ticks_diff );
177
-
178
152
STATIC const mp_map_elem_t time_module_globals_table [] = {
179
153
{ MP_OBJ_NEW_QSTR (MP_QSTR___name__ ), MP_OBJ_NEW_QSTR (MP_QSTR_utime ) },
180
154
@@ -186,10 +160,11 @@ STATIC const mp_map_elem_t time_module_globals_table[] = {
186
160
// MicroPython additions
187
161
{ MP_OBJ_NEW_QSTR (MP_QSTR_sleep_ms ), (mp_obj_t )& time_sleep_ms_obj },
188
162
{ MP_OBJ_NEW_QSTR (MP_QSTR_sleep_us ), (mp_obj_t )& time_sleep_us_obj },
189
- { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_ms ), (mp_obj_t )& time_ticks_ms_obj },
190
- { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_us ), (mp_obj_t )& time_ticks_us_obj },
191
- { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_cpu ), (mp_obj_t )& time_ticks_cpu_obj },
192
- { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_diff ), (mp_obj_t )& time_ticks_diff_obj },
163
+ { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_ms ), (mp_obj_t )& mp_utime_ticks_ms_obj },
164
+ { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_us ), (mp_obj_t )& mp_utime_ticks_us_obj },
165
+ { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_cpu ), (mp_obj_t )& mp_utime_ticks_cpu_obj },
166
+ { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_add ), (mp_obj_t )& mp_utime_ticks_add_obj },
167
+ { MP_OBJ_NEW_QSTR (MP_QSTR_ticks_diff ), (mp_obj_t )& mp_utime_ticks_diff_obj },
193
168
};
194
169
195
170
STATIC MP_DEFINE_CONST_DICT (time_module_globals , time_module_globals_table );
0 commit comments