@@ -17,7 +17,7 @@ use esp_hal::{
1717 timer:: timg:: TimerGroup ,
1818} ;
1919use esp_storage:: FlashStorage ;
20- use state:: { ota_state, GlobalStateInner , SavedGlobalState , Scene } ;
20+ use state:: { ota_state, sleep_state , GlobalStateInner , SavedGlobalState , Scene } ;
2121use structs:: ConnSettings ;
2222use translations:: init_translations;
2323use utils:: { logger:: FkmLogger , set_brownout_detection} ;
@@ -294,13 +294,15 @@ async fn main(spawner: Spawner) {
294294
295295 set_brownout_detection ( true ) ;
296296 global_state. state . lock ( ) . await . scene = Scene :: WaitingForCompetitor ;
297+ /*
297298 if let Some(saved_state) = SavedGlobalState::from_nvs(&nvs).await {
298299 global_state
299300 .state
300301 .lock()
301302 .await
302303 .parse_saved_state(saved_state);
303304 }
305+ */
304306
305307 // only mark ota valid after wifi connection!
306308 {
@@ -312,7 +314,9 @@ async fn main(spawner: Spawner) {
312314 }
313315 }
314316
317+ log:: info!( "main loop enter" ) ;
315318 let mut heap_start = Instant :: now ( ) ;
319+ let mut last_sleep = false ;
316320 loop {
317321 Timer :: after_millis ( LOG_SEND_INTERVAL_MS ) . await ;
318322
@@ -322,7 +326,17 @@ async fn main(spawner: Spawner) {
322326 tmp_logs. push ( msg) ;
323327 }
324328
325- if ota_state ( ) {
329+ if sleep_state ( ) && !last_sleep {
330+ wifi_res. disc . signal ( true ) ;
331+ last_sleep = true ;
332+ }
333+
334+ if !sleep_state ( ) && last_sleep {
335+ wifi_res. disc . signal ( false ) ;
336+ last_sleep = false ;
337+ }
338+
339+ if ota_state ( ) || sleep_state ( ) {
326340 continue ;
327341 }
328342
0 commit comments