#[non_exhaustive]pub struct WakeupConfig { /* private fields */ }unstable only.Expand description
Configures whether a pin can wake the chip from sleep.
The wake condition is the interrupt trigger of the pin, which
listen and the wait_for family set. A pin that does not
listen is not a wakeup source. A pin that listens wakes the chip from light sleep through the
digital path, and needs no configuration for that.
§Hold the pad at the level that does not wake the chip
A pad that is already at its wake level when the sleep starts ends the sleep immediately. The
configuration of the pin must hold the pad at the other level. Sleep keeps the pull resistors
that the pin is configured with, and adds no resistor of its own. A pin with
Pull::None and no external resistor therefore floats during the
sleep, and a floating pad wakes the chip immediately and every time.
Give a level-triggered wake pin a pull against the level that wakes the chip, or an external resistor. For a pin that wakes the chip on a low level, use an external pull-up.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Implementations§
Source§impl WakeupConfig
impl WakeupConfig
Sourcepub fn with_low_power_path(self, low_power_path: bool) -> Self
pub fn with_low_power_path(self, low_power_path: bool) -> Self
Assign the given value to the low_power_path field.
Sourcepub fn low_power_path(&self) -> bool
pub fn low_power_path(&self) -> bool
Lets the pin wake the chip while the high-performance GPIO peripheral is powered down.
Deep sleep needs this path, and so does a light sleep that powers the peripheral down. Only low-power pads have such a path.
Sleep entry configures the pad as the low-power path requires, and keeps the pull resistors of the pin in both cases. Before a deep sleep it also holds the pad, because deep sleep powers down the circuit that drives it. A light sleep returns the pad to the digital GPIO peripheral when it ends. After a deep sleep, the boot releases the hold.
Trait Implementations§
Source§impl Clone for WakeupConfig
impl Clone for WakeupConfig
Source§fn clone(&self) -> WakeupConfig
fn clone(&self) -> WakeupConfig
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for WakeupConfig
Source§impl Debug for WakeupConfig
impl Debug for WakeupConfig
Source§impl Default for WakeupConfig
impl Default for WakeupConfig
Source§fn default() -> WakeupConfig
fn default() -> WakeupConfig
impl Eq for WakeupConfig
Source§impl Hash for WakeupConfig
impl Hash for WakeupConfig
Source§impl PartialEq for WakeupConfig
impl PartialEq for WakeupConfig
impl StructuralPartialEq for WakeupConfig
Auto Trait Implementations§
impl Freeze for WakeupConfig
impl RefUnwindSafe for WakeupConfig
impl Send for WakeupConfig
impl Sync for WakeupConfig
impl Unpin for WakeupConfig
impl UnsafeUnpin for WakeupConfig
impl UnwindSafe for WakeupConfig
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)