LowPower
This commit is contained in:
+9
-8
@@ -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]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user