kopia lustrzana https://github.com/espressif/esp-idf
fix(pm/ext1): ext1_wakeup_prepare func when s_config.wakeup_triggers & RTC_EXT1_TRIG_EN == false
rodzic
cc0e73a11f
commit
5b91acb1a1
|
@ -259,6 +259,7 @@ static void ext0_wakeup_prepare(void);
|
|||
#endif
|
||||
#if SOC_PM_SUPPORT_EXT1_WAKEUP
|
||||
static void ext1_wakeup_prepare(void);
|
||||
static void IRAM_ATTR ext1_wakeup_clear(void);
|
||||
#endif
|
||||
static esp_err_t timer_wakeup_prepare(int64_t sleep_duration);
|
||||
#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
|
||||
|
@ -638,6 +639,8 @@ static esp_err_t IRAM_ATTR esp_sleep_start(uint32_t pd_flags, esp_sleep_mode_t m
|
|||
#if SOC_PM_SUPPORT_EXT1_WAKEUP
|
||||
if (s_config.wakeup_triggers & RTC_EXT1_TRIG_EN) {
|
||||
ext1_wakeup_prepare();
|
||||
} else {
|
||||
ext1_wakeup_clear();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1629,6 +1632,14 @@ static void ext1_wakeup_prepare(void)
|
|||
rtc_hal_ext1_set_wakeup_pins(s_config.ext1_rtc_gpio_mask, s_config.ext1_trigger_mode);
|
||||
}
|
||||
|
||||
static void ext1_wakeup_clear(void)
|
||||
{
|
||||
// Clear state from previous wakeup
|
||||
rtc_hal_ext1_clear_wakeup_status();
|
||||
// Clear all ext1 wakup-source setting
|
||||
rtc_hal_ext1_clear_wakeup_pins();
|
||||
}
|
||||
|
||||
uint64_t esp_sleep_get_ext1_wakeup_status(void)
|
||||
{
|
||||
if (esp_sleep_get_wakeup_cause() != ESP_SLEEP_WAKEUP_EXT1) {
|
||||
|
|
Ładowanie…
Reference in New Issue