From 8ef7d607b6b5dc2c7d395418ac8a76e4236dacbc Mon Sep 17 00:00:00 2001 From: Sachymetsu Date: Sat, 18 Jul 2026 08:30:11 +0200 Subject: [PATCH] Abandon DORMANT mode for now --- src/error.rs | 1 + src/timer.rs | 17 +++++++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/error.rs b/src/error.rs index 3faed79..3a695f0 100644 --- a/src/error.rs +++ b/src/error.rs @@ -7,6 +7,7 @@ pub type PicoResult = Result; #[derive(Debug)] #[cfg_attr(feature = "defmt", derive(defmt::Format))] +#[allow(dead_code)] pub enum PicoError { ClientReqResMismatch, Time(jiff::Error), diff --git a/src/timer.rs b/src/timer.rs index 036bdd8..d3d0e3d 100644 --- a/src/timer.rs +++ b/src/timer.rs @@ -4,7 +4,7 @@ use embassy_rp::{ peripherals::POWMAN, }; use embassy_sync::{channel::Channel, signal::Signal}; -use embassy_time::Duration; +use embassy_time::{Duration, Ticker}; use jiff::Timestamp; use sachy_fmt::{info, unwrap}; @@ -44,10 +44,12 @@ impl TimerActor { #[embassy_executor::task] pub async fn run(powman: Peri<'static, POWMAN>) { + let mut ticker = Ticker::every(Duration::from_secs(2 * 60)); + let config = aon_timer::Config { - clock_source: aon_timer::ClockSource::Lposc, - clock_freq_khz: 32, - alarm_wake_mode: aon_timer::AlarmWakeMode::Both, + clock_source: aon_timer::ClockSource::Xosc, + clock_freq_khz: 12000, + alarm_wake_mode: aon_timer::AlarmWakeMode::WfiOnly, }; let mut timer = AonTimer::new(powman, Irqs, config); @@ -61,14 +63,9 @@ pub async fn run(powman: Peri<'static, POWMAN>) { loop { match TIMER.receive().await { TimerMessage::Sleep => { - unwrap!(timer.set_alarm_after(Duration::from_secs(60))); info!("I SLEEP"); - #[cfg(not(feature = "defmt"))] - embassy_rp::clocks::dormant_sleep(); - #[cfg(feature = "defmt")] - timer.wait_for_alarm().await; + ticker.next().await; info!("REAL SHIT"); - timer.clear_alarm(); WAKE.signal(()); } TimerMessage::Now => { -- 2.51.2