pub struct Ext1WakeupSource<'a, 'b> { /* private fields */ }Expand description
External wake-up source (Ext1).
let delay = Delay::new();
let mut rtc = Rtc::new(peripherals.LPWR);
let config = InputConfig::default().with_pull(Pull::None);
let mut pin2 = peripherals.GPIO2;
let mut pin3 = peripherals.GPIO3;
let mut pin2_input = Input::new(pin2.reborrow(), config);
let reason = reset_reason(Cpu::ProCpu);
let wake_reason = wakeup_cause();
println!("{:?} {?}", reason, wake_reason);
let timer = TimerWakeupSource::new(Duration::from_secs(30));
core::mem::drop(pin2_input);
let wakeup_pins: &mut [(&mut dyn RtcPinWithResistors, WakeupLevel)] =
&mut [
    (&mut pin2, WakeupLevel::Low),
    (&mut pin3, WakeupLevel::High),
];
let ext1 = Ext1WakeupSource::new(wakeup_pins);
delay.delay_millis(100);
rtc.sleep_deep(&[&timer, &ext1]);
Implementations§
Source§impl<'a, 'b> Ext1WakeupSource<'a, 'b>
 
impl<'a, 'b> Ext1WakeupSource<'a, 'b>
Sourcepub fn new(
    pins: &'a mut [(&'b mut dyn RtcIoWakeupPinType, WakeupLevel)],
) -> Self
 
pub fn new( pins: &'a mut [(&'b mut dyn RtcIoWakeupPinType, WakeupLevel)], ) -> Self
Creates a new external wake-up source (Ext1) with the specified pins and wake-up level.
Trait Implementations§
Source§impl Drop for Ext1WakeupSource<'_, '_>
Available on crate feature unstable only. 
impl Drop for Ext1WakeupSource<'_, '_>
Available on crate feature 
unstable only.Source§impl WakeSource for Ext1WakeupSource<'_, '_>
Available on crate feature unstable only. 
impl WakeSource for Ext1WakeupSource<'_, '_>
Available on crate feature 
unstable only.Source§fn apply(
    &self,
    _rtc: &Rtc<'_>,
    triggers: &mut WakeTriggers,
    _sleep_config: &mut RtcSleepConfig,
)
 
fn apply( &self, _rtc: &Rtc<'_>, triggers: &mut WakeTriggers, _sleep_config: &mut RtcSleepConfig, )
Configures the RTC and applies the wakeup triggers.