pub struct Ext1WakeupSource<'a, 'b> { /* private fields */ }
Available on crate feature
unstable
only.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(&mut pin2, 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<'_, '_>
impl Drop for Ext1WakeupSource<'_, '_>
Source§impl WakeSource for Ext1WakeupSource<'_, '_>
impl WakeSource for Ext1WakeupSource<'_, '_>
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.