diff options
| author | Dan Halbert <halbert@halwitz.org> | 2020-12-11 08:10:26 -0500 |
|---|---|---|
| committer | Dan Halbert <halbert@halwitz.org> | 2020-12-11 08:10:26 -0500 |
| commit | cf938983e9c584b0c41a909723dc71e9161cc494 (patch) | |
| tree | 4fa39e22638ab6617eb5a5c55ca4ccd8b20751de /shared-bindings | |
| parent | 55f4110983c175fbb70fa15303f686229ae1ed63 (diff) | |
SleepMemory + set alarm.wake_alarm
Diffstat (limited to 'shared-bindings')
| -rw-r--r-- | shared-bindings/alarm/__init__.c | 7 | ||||
| -rw-r--r-- | shared-bindings/alarm/__init__.h | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/shared-bindings/alarm/__init__.c b/shared-bindings/alarm/__init__.c index 28e34ad6a..5ef548ef2 100644 --- a/shared-bindings/alarm/__init__.c +++ b/shared-bindings/alarm/__init__.c @@ -197,7 +197,7 @@ STATIC mp_map_elem_t alarm_module_globals_table[] = { }; STATIC MP_DEFINE_MUTABLE_DICT(alarm_module_globals, alarm_module_globals_table); -void common_hal_alarm_set_wake_alarm(mp_obj_t alarm) { +STATIC void alarm_set_wake_alarm(mp_obj_t alarm) { // Equivalent of: // alarm.wake_alarm = alarm mp_map_elem_t *elem = @@ -207,6 +207,11 @@ void common_hal_alarm_set_wake_alarm(mp_obj_t alarm) { } } +// Initialize .wake_alarm value. +void alarm_save_wakeup_alarm(void) { + alarm_set_wake_alarm(common_hal_alarm_get_wake_alarm()); +} + const mp_obj_module_t alarm_module = { .base = { &mp_type_module }, .globals = (mp_obj_dict_t*)&alarm_module_globals, diff --git a/shared-bindings/alarm/__init__.h b/shared-bindings/alarm/__init__.h index 5a8c613d9..8c4b6cad9 100644 --- a/shared-bindings/alarm/__init__.h +++ b/shared-bindings/alarm/__init__.h @@ -43,8 +43,11 @@ extern void common_hal_alarm_set_deep_sleep_alarms(size_t n_alarms, const mp_obj // Deep sleep is entered outside of the VM so we omit the `common_hal_` prefix. extern NORETURN void alarm_enter_deep_sleep(void); +extern mp_obj_t common_hal_alarm_get_wake_alarm(void); + // Used by wake-up code. -extern void common_hal_alarm_set_wake_alarm(mp_obj_t alarm); +void alarm_save_wakeup_alarm(void); + // True if an alarm is alerting. This is most useful for pretend deep sleep. extern bool alarm_woken_from_sleep(void); |
