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 pin_2 = peripherals.GPIO2;
let mut pin_4 = peripherals.GPIO4;
let pin_4_driver = Input::new(pin_4.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));
// Drop the driver to access `pin_4`
core::mem::drop(pin_4_driver);
let mut wakeup_pins: [&mut dyn RtcPin; 2] = [&mut pin_4, &mut pin_2];
let ext1 = Ext1WakeupSource::new(&mut wakeup_pins, WakeupLevel::High);
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],
level: WakeupLevel,
) -> Self
pub fn new( pins: &'a mut [&'b mut dyn RtcIoWakeupPinType], level: 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.