diff options
author | Damien George <damien.p.george@gmail.com> | 2017-02-06 11:14:16 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2017-02-06 11:14:16 +1100 |
commit | b7d27e31e8c5d34aaba7e2a7070bb3b6fb082d28 (patch) | |
tree | 1912f20bf1c46a7c8acc3cef25e09b9051baecbe /cc3200/mods | |
parent | a4a439caa3f352f8bbbb1d0c79923270561869d3 (diff) | |
download | micropython-b7d27e31e8c5d34aaba7e2a7070bb3b6fb082d28.tar.gz micropython-b7d27e31e8c5d34aaba7e2a7070bb3b6fb082d28.zip |
cc3200: Refactor "ticks" functions to use common extmod implementation.
The port now uses the common mp_utime_ticks_{ms,us,cpu,add,diff} functions
from extmod/utime_mphal.c.
The mp_utime_sleep_XXX functions are still cc3200-specific because they
handle the GIL differently to the ones in extmod.
The files misc/mpsystick.[ch] have been removed because they contain 2
unused functions, and the other remaining function is renamed to
mp_hal_ticks_us and moved to hal/cc3200_hal.c.
Diffstat (limited to 'cc3200/mods')
-rw-r--r-- | cc3200/mods/modutime.c | 39 |
1 files changed, 7 insertions, 32 deletions
diff --git a/cc3200/mods/modutime.c b/cc3200/mods/modutime.c index 7ea8df1eff..de1f750124 100644 --- a/cc3200/mods/modutime.c +++ b/cc3200/mods/modutime.c @@ -33,6 +33,7 @@ #include "py/obj.h" #include "py/smallint.h" #include "py/mphal.h" +#include "extmod/utime_mphal.h" #include "timeutils.h" #include "inc/hw_types.h" #include "inc/hw_ints.h" @@ -41,7 +42,6 @@ #include "prcm.h" #include "systick.h" #include "pybrtc.h" -#include "mpsystick.h" #include "mpexception.h" #include "utils.h" @@ -143,38 +143,12 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(time_sleep_ms_obj, time_sleep_ms); STATIC mp_obj_t time_sleep_us (mp_obj_t usec_in) { mp_int_t usec = mp_obj_get_int(usec_in); if (usec > 0) { - UtilsDelay(UTILS_DELAY_US_TO_COUNT(usec)); + mp_hal_delay_us(usec); } return mp_const_none; } STATIC MP_DEFINE_CONST_FUN_OBJ_1(time_sleep_us_obj, time_sleep_us); -STATIC mp_obj_t time_ticks_ms(void) { - // We want to "cast" the 32 bit unsigned into a 30-bit small-int - return MP_OBJ_NEW_SMALL_INT(mp_hal_ticks_ms() & MP_SMALL_INT_POSITIVE_MASK); -} -STATIC MP_DEFINE_CONST_FUN_OBJ_0(time_ticks_ms_obj, time_ticks_ms); - -STATIC mp_obj_t time_ticks_us(void) { - // We want to "cast" the 32 bit unsigned into a 30-bit small-int - return MP_OBJ_NEW_SMALL_INT(sys_tick_get_microseconds() & MP_SMALL_INT_POSITIVE_MASK); -} -STATIC MP_DEFINE_CONST_FUN_OBJ_0(time_ticks_us_obj, time_ticks_us); - -STATIC mp_obj_t time_ticks_cpu(void) { - // We want to "cast" the 32 bit unsigned into a 30-bit small-int - return MP_OBJ_NEW_SMALL_INT((SysTickPeriodGet() - SysTickValueGet()) & MP_SMALL_INT_POSITIVE_MASK); -} -STATIC MP_DEFINE_CONST_FUN_OBJ_0(time_ticks_cpu_obj, time_ticks_cpu); - -STATIC mp_obj_t time_ticks_diff(mp_obj_t t0, mp_obj_t t1) { - // We want to "cast" the 32 bit unsigned into a 30-bit small-int - uint32_t start = mp_obj_get_int(t0); - uint32_t end = mp_obj_get_int(t1); - return MP_OBJ_NEW_SMALL_INT((end - start) & MP_SMALL_INT_POSITIVE_MASK); -} -STATIC MP_DEFINE_CONST_FUN_OBJ_2(time_ticks_diff_obj, time_ticks_diff); - STATIC const mp_map_elem_t time_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_utime) }, @@ -186,10 +160,11 @@ STATIC const mp_map_elem_t time_module_globals_table[] = { // MicroPython additions { MP_OBJ_NEW_QSTR(MP_QSTR_sleep_ms), (mp_obj_t)&time_sleep_ms_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_sleep_us), (mp_obj_t)&time_sleep_us_obj }, - { MP_OBJ_NEW_QSTR(MP_QSTR_ticks_ms), (mp_obj_t)&time_ticks_ms_obj }, - { MP_OBJ_NEW_QSTR(MP_QSTR_ticks_us), (mp_obj_t)&time_ticks_us_obj }, - { MP_OBJ_NEW_QSTR(MP_QSTR_ticks_cpu), (mp_obj_t)&time_ticks_cpu_obj }, - { MP_OBJ_NEW_QSTR(MP_QSTR_ticks_diff), (mp_obj_t)&time_ticks_diff_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_ticks_ms), (mp_obj_t)&mp_utime_ticks_ms_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_ticks_us), (mp_obj_t)&mp_utime_ticks_us_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_ticks_cpu), (mp_obj_t)&mp_utime_ticks_cpu_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_ticks_add), (mp_obj_t)&mp_utime_ticks_add_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_ticks_diff), (mp_obj_t)&mp_utime_ticks_diff_obj }, }; STATIC MP_DEFINE_CONST_DICT(time_module_globals, time_module_globals_table); |