pub enum AlarmWakeMode {
WfiOnly,
DormantOnly,
Both,
Disabled,
}Expand description
Alarm wake mode configuration
Controls which low-power wake mechanisms are enabled for the alarm.
Variants§
WfiOnly
Wake from WFI/WFE only (interrupt-based via POWMAN_IRQ_TIMER)
This is the default and most common mode. The alarm triggers an interrupt that wakes the CPU from light sleep (WFI/WFE). Works with both XOSC and LPOSC.
DormantOnly
Wake from DORMANT mode only (hardware power-up via PWRUP_ON_ALARM)
The alarm wakes the chip from deep sleep (DORMANT) by triggering a hardware power-up event. No interrupt is used since the CPU clock is stopped in DORMANT.
Requirements:
- Must use LPOSC clock source (XOSC is powered down in DORMANT)
- Requires Secure privilege level (TIMER register is Secure-only)
- May fail silently in Non-secure contexts
Both
Wake from both WFI/WFE and DORMANT modes
Enables both interrupt-based wake (WFI/WFE) and hardware power-up wake (DORMANT). Subject to the same requirements as DormantOnly for DORMANT wake support.
Disabled
Alarm fires but doesn’t wake (manual polling only)
The alarm flag is set in hardware but no wake mechanisms are enabled.
Use alarm_fired() to manually poll the alarm status.
Trait Implementations§
Source§impl Clone for AlarmWakeMode
impl Clone for AlarmWakeMode
Source§fn clone(&self) -> AlarmWakeMode
fn clone(&self) -> AlarmWakeMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more