diff --git a/src/main.rs b/src/main.rs index 8454164..7c91341 100644 --- a/src/main.rs +++ b/src/main.rs @@ -17,7 +17,7 @@ use esp_hal::{ delay::Delay, gpio::{DriveMode, Flex, OutputConfig, Pull}, interrupt::software::SoftwareInterruptControl, - rtc_cntl::{Rtc, reset_reason, sleep::TimerWakeupSource, wakeup_cause}, + rtc_cntl::{reset_reason, sleep::{LowPower, TimerWakeupSource}, wakeup_cause}, system::Cpu, timer::timg::TimerGroup, }; @@ -131,8 +131,8 @@ async fn main(_spawner: Spawner) -> ! { .unwrap(); let delay = Delay::new(); - let mut rtc = Rtc::new(peripherals.LPWR); - + //let mut rtc = Rtc::new(peripherals.RTC_TIMER);//LPWR); + let mut lpwr = LowPower::new(peripherals.LPWR); let reason = reset_reason(Cpu::ProCpu); let wake_reason = wakeup_cause(); @@ -157,7 +157,7 @@ async fn main(_spawner: Spawner) -> ! { } Err(error) => { esp_println::dbg!("An error occurred while trying to read sensor: {:?}", error); - deep_sleep(&mut rtc, &delay, 30); + deep_sleep(&mut lpwr, &delay, 30); } } @@ -180,13 +180,14 @@ async fn main(_spawner: Spawner) -> ! { .send_async(&peer.peer_address, (data + fill.as_str()).as_bytes()) .await; println!("Send status: {:?}", status); - deep_sleep(&mut rtc, &delay, DEEP_SLEEP_TIME); + deep_sleep(&mut lpwr, &delay, DEEP_SLEEP_TIME); } } -fn deep_sleep(rtc: &mut Rtc, delay: &Delay, time : u64) { - let timer = TimerWakeupSource::new(core::time::Duration::from_secs(time)); +fn deep_sleep(lpwr: &mut LowPower, delay: &Delay, time : u64) { + let timer = TimerWakeupSource::new(esp_hal::time::Duration::from_secs(time)); println!("Going sleep for {} seconds", time); delay.delay_millis(100); - rtc.sleep_deep(&[&timer]); + //rtc.sleep_deep(&[&timer]); + lpwr.sleep_deep(&[&timer]); }