mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-14 10:04:35 +02:00
fix(pm/ext1): ext1_wakeup_prepare func when s_config.wakeup_triggers & RTC_EXT1_TRIG_EN == false
This commit is contained in:
@@ -259,6 +259,7 @@ static void ext0_wakeup_prepare(void);
|
|||||||
#endif
|
#endif
|
||||||
#if SOC_PM_SUPPORT_EXT1_WAKEUP
|
#if SOC_PM_SUPPORT_EXT1_WAKEUP
|
||||||
static void ext1_wakeup_prepare(void);
|
static void ext1_wakeup_prepare(void);
|
||||||
|
static void IRAM_ATTR ext1_wakeup_clear(void);
|
||||||
#endif
|
#endif
|
||||||
static esp_err_t timer_wakeup_prepare(int64_t sleep_duration);
|
static esp_err_t timer_wakeup_prepare(int64_t sleep_duration);
|
||||||
#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
|
#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 SOC_PM_SUPPORT_EXT1_WAKEUP
|
||||||
if (s_config.wakeup_triggers & RTC_EXT1_TRIG_EN) {
|
if (s_config.wakeup_triggers & RTC_EXT1_TRIG_EN) {
|
||||||
ext1_wakeup_prepare();
|
ext1_wakeup_prepare();
|
||||||
|
} else {
|
||||||
|
ext1_wakeup_clear();
|
||||||
}
|
}
|
||||||
#endif
|
#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);
|
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)
|
uint64_t esp_sleep_get_ext1_wakeup_status(void)
|
||||||
{
|
{
|
||||||
if (esp_sleep_get_wakeup_cause() != ESP_SLEEP_WAKEUP_EXT1) {
|
if (esp_sleep_get_wakeup_cause() != ESP_SLEEP_WAKEUP_EXT1) {
|
||||||
|
Reference in New Issue
Block a user