Save wake alarm info in static storage, simplifying recording of alarm #7154
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #6483; subsumes PR #7137.
Changes how alarm.wake_alarm is set. Instead of creating an alarm on the heap, after the VM is set up, a static alarm object is used instead, which can be set up outside of the VM.
This simplifies how and when to store the alarm info, and removes the need for the
first_run
boolean that was passed around inmain.c
.Use
#pragma once
instead of#ifdef
#include
guards for alarm-related.h
files: some were missing, so I just changed them all, to be consistent. Also make some other naming more consistent.@georgboe, @bablokb your testing is welcome. Tested with fake deep sleep and real deep sleep with a battery on Adafruit Feather RP2040, Feather M4, Feather STM32F405, Feather nRF52840, and Feather ESP32-S2.
Test program, which writes to UART, for battery operation, and to USB: