diff --git a/pycardium/modules/qstrdefs.h b/pycardium/modules/qstrdefs.h index 68c40810e0c286d57e689653f007adb360982096..3b5999142081e3dd2f94923958a553d8e9e25d07 100644 --- a/pycardium/modules/qstrdefs.h +++ b/pycardium/modules/qstrdefs.h @@ -49,6 +49,8 @@ Q(localtime) Q(mktime) Q(time) Q(time_ms) +Q(unix_time) +Q(unix_time_ms) Q(set_time) Q(set_unix_time) diff --git a/pycardium/modules/utime.c b/pycardium/modules/utime.c index 4b06a9cd5419ffb77f433d3a4fed2a3a464df63b..a2e4583fa10b7a8be8f1c91f7d8b68491b316b1f 100644 --- a/pycardium/modules/utime.c +++ b/pycardium/modules/utime.c @@ -51,6 +51,20 @@ static mp_obj_t time_time_ms(void) } MP_DEFINE_CONST_FUN_OBJ_0(time_time_ms_obj, time_time_ms); +static mp_obj_t time_unix_time(void) +{ + mp_int_t seconds = epic_rtc_get_seconds(); + return mp_obj_new_int(seconds); +} +MP_DEFINE_CONST_FUN_OBJ_0(time_unix_time_obj, time_unix_time); + +static mp_obj_t time_unix_time_ms(void) +{ + uint64_t milliseconds = epic_rtc_get_milliseconds(); + return mp_obj_new_int_from_ull(milliseconds); +} +MP_DEFINE_CONST_FUN_OBJ_0(time_unix_time_ms_obj, time_unix_time_ms); + static mp_obj_t time_localtime(size_t n_args, const mp_obj_t *args) { mp_int_t seconds; @@ -130,6 +144,9 @@ static const mp_rom_map_elem_t time_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_utime) }, { MP_ROM_QSTR(MP_QSTR_time), MP_ROM_PTR(&time_time_obj) }, { MP_ROM_QSTR(MP_QSTR_time_ms), MP_ROM_PTR(&time_time_ms_obj) }, + { MP_ROM_QSTR(MP_QSTR_unix_time), MP_ROM_PTR(&time_unix_time_obj) }, + { MP_ROM_QSTR(MP_QSTR_unix_time_ms), + MP_ROM_PTR(&time_unix_time_ms_obj) }, { MP_ROM_QSTR(MP_QSTR_set_time), MP_ROM_PTR(&time_set_time_obj) }, { MP_ROM_QSTR(MP_QSTR_set_unix_time), MP_ROM_PTR(&time_set_unix_time_obj) },