Procházet zdrojové kódy

sleep: deep sleep does not need cpu and wifi/bt mac retention

Li Shuai před 4 roky
rodič
revize
c99cb930c3
1 změnil soubory, kde provedl 4 přidání a 3 odebrání
  1. 4 3
      components/esp_hw_support/sleep_modes.c

+ 4 - 3
components/esp_hw_support/sleep_modes.c

@@ -391,7 +391,9 @@ static uint32_t IRAM_ATTR esp_sleep_start(uint32_t pd_flags)
     }
     }
 #endif
 #endif
 
 
-    misc_modules_sleep_prepare();
+    if (!deep_sleep) {
+        misc_modules_sleep_prepare();
+    }
 
 
 #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
 #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
     if (deep_sleep) {
     if (deep_sleep) {
@@ -484,10 +486,9 @@ static uint32_t IRAM_ATTR esp_sleep_start(uint32_t pd_flags)
 
 
     if (!deep_sleep) {
     if (!deep_sleep) {
         s_config.ccount_ticks_record = cpu_ll_get_cycle_count();
         s_config.ccount_ticks_record = cpu_ll_get_cycle_count();
+        misc_modules_wake_prepare();
     }
     }
 
 
-    misc_modules_wake_prepare();
-
     // re-enable UART output
     // re-enable UART output
     resume_uarts();
     resume_uarts();