Просмотр исходного кода

sleep_mode/esp32: Fix a condition to keep power domain enabled during sleep mode

Konstantin Kondrashov 7 лет назад
Родитель
Сommit
28507920c8
1 измененных файлов с 3 добавлено и 3 удалено
  1. 3 3
      components/esp32/sleep_modes.c

+ 3 - 3
components/esp32/sleep_modes.c

@@ -599,9 +599,9 @@ static uint32_t get_power_down_flags()
     // These labels are defined in the linker script:
     extern int _rtc_data_start, _rtc_data_end, _rtc_bss_start, _rtc_bss_end;
 
-    if (s_config.pd_options[ESP_PD_DOMAIN_RTC_SLOW_MEM] == ESP_PD_OPTION_AUTO ||
-            &_rtc_data_end > &_rtc_data_start ||
-            &_rtc_bss_end > &_rtc_bss_start) {
+    if ((s_config.pd_options[ESP_PD_DOMAIN_RTC_SLOW_MEM] == ESP_PD_OPTION_AUTO) &&
+            (&_rtc_data_end > &_rtc_data_start || &_rtc_bss_end > &_rtc_bss_start ||
+            (s_config.wakeup_triggers & RTC_ULP_TRIG_EN))) {
         s_config.pd_options[ESP_PD_DOMAIN_RTC_SLOW_MEM] = ESP_PD_OPTION_ON;
     }