Skip to content
Snippets Groups Projects

py: timezone workaround

Closed genofire requested to merge (removed):utime-workaround into master
+ 5
3
@@ -15,11 +15,12 @@
/* MicroPython has its epoch at 2000-01-01. Our RTC is in UTC */
#define EPOCH_OFFSET 946684800UL
#define TZONE_OFFSET 7600UL
static mp_obj_t time_time(void)
{
mp_int_t seconds;
seconds = epic_rtc_get_seconds() - EPOCH_OFFSET;
seconds = epic_rtc_get_seconds() - EPOCH_OFFSET + TZONE_OFFSET;
return mp_obj_new_int(seconds);
}
MP_DEFINE_CONST_FUN_OBJ_0(time_time_obj, time_time);
@@ -29,7 +30,7 @@ static mp_obj_t time_localtime(size_t n_args, const mp_obj_t *args)
mp_int_t seconds;
if (n_args == 0 || args[0] == mp_const_none) {
seconds = epic_rtc_get_seconds() - EPOCH_OFFSET;
seconds = epic_rtc_get_seconds() - EPOCH_OFFSET + TZONE_OFFSET;
} else {
seconds = mp_obj_get_int(args[0]);
}
@@ -81,7 +82,8 @@ static MP_DEFINE_CONST_FUN_OBJ_1(time_mktime_obj, time_mktime);
/* Schedule an alarm */
static mp_obj_t time_alarm(size_t n_args, const mp_obj_t *args)
{
mp_int_t timestamp = mp_obj_get_int(args[0]) + EPOCH_OFFSET;
mp_int_t timestamp =
mp_obj_get_int(args[0]) + EPOCH_OFFSET - TZONE_OFFSET;
if (n_args == 2) {
/* If a callback was given, register it for the RTC Alarm */
mp_obj_t callback = args[1];
Loading