@ -25,45 +25,14 @@
* THE SOFTWARE .
* THE SOFTWARE .
*/
*/
# include "py/mpconfig.h"
# if MICROPY_PY_UTIME
# include <zephyr/zephyr.h>
# include <zephyr/zephyr.h>
# include "py/runtime.h"
# include "py/obj.h"
# include "py/smallint.h"
# include "py/mphal.h"
# include "extmod/modutime.h"
STATIC mp_obj_t mod_time_time ( void ) {
STATIC mp_obj_t mp_utime_time_get ( void ) {
/* The absence of FP support is deliberate. The Zephyr port uses
/* The absence of FP support is deliberate. The Zephyr port uses
* single precision floats so the fraction component will start to
* single precision floats so the fraction component will start to
* lose precision on devices with a long uptime .
* lose precision on devices with a long uptime .
*/
*/
return mp_obj_new_int ( k_uptime_get ( ) / 1000 ) ;
return mp_obj_new_int ( k_uptime_get ( ) / 1000 ) ;
}
}
STATIC MP_DEFINE_CONST_FUN_OBJ_0 ( mod_time_time_obj , mod_time_time ) ;
STATIC const mp_rom_map_elem_t mp_module_time_globals_table [ ] = {
{ MP_ROM_QSTR ( MP_QSTR___name__ ) , MP_ROM_QSTR ( MP_QSTR_utime ) } ,
{ MP_ROM_QSTR ( MP_QSTR_sleep ) , MP_ROM_PTR ( & mp_utime_sleep_obj ) } ,
{ MP_ROM_QSTR ( MP_QSTR_sleep_ms ) , MP_ROM_PTR ( & mp_utime_sleep_ms_obj ) } ,
{ MP_ROM_QSTR ( MP_QSTR_sleep_us ) , MP_ROM_PTR ( & mp_utime_sleep_us_obj ) } ,
{ MP_ROM_QSTR ( MP_QSTR_time ) , MP_ROM_PTR ( & mod_time_time_obj ) } ,
{ MP_ROM_QSTR ( MP_QSTR_ticks_ms ) , MP_ROM_PTR ( & mp_utime_ticks_ms_obj ) } ,
{ MP_ROM_QSTR ( MP_QSTR_ticks_us ) , MP_ROM_PTR ( & mp_utime_ticks_us_obj ) } ,
{ MP_ROM_QSTR ( MP_QSTR_ticks_cpu ) , MP_ROM_PTR ( & mp_utime_ticks_cpu_obj ) } ,
{ MP_ROM_QSTR ( MP_QSTR_ticks_add ) , MP_ROM_PTR ( & mp_utime_ticks_add_obj ) } ,
{ MP_ROM_QSTR ( MP_QSTR_ticks_diff ) , MP_ROM_PTR ( & mp_utime_ticks_diff_obj ) } ,
} ;
STATIC MP_DEFINE_CONST_DICT ( mp_module_time_globals , mp_module_time_globals_table ) ;
const mp_obj_module_t mp_module_time = {
. base = { & mp_type_module } ,
. globals = ( mp_obj_dict_t * ) & mp_module_time_globals ,
} ;
MP_REGISTER_MODULE ( MP_QSTR_utime , mp_module_time ) ;
# endif // MICROPY_PY_UTIME