ESP can not wakeup if we configure different logic level for different wakeup pin
Posted: Tue May 17, 2022 10:05 am
Our Requirement :
Wakeup ESP when GPIO 34 is high or GPIO 35 is low -> ( (GPIO 34 == 1) || (GPIO 35 == 0) )
What We tried:
const int ext_wakeup_pin_1 = 34;
const uint64_t ext_wakeup_pin_1_mask = 1ULL << ext_wakeup_pin_1;
const int ext_wakeup_pin_2 = 35;
const uint64_t ext_wakeup_pin_2_mask = 1ULL << ext_wakeup_pin_2;
esp_sleep_enable_ext1_wakeup(ext_wakeup_pin_1_mask, ESP_EXT1_WAKEUP_ANY_HIGH);
esp_sleep_enable_ext1_wakeup(ext_wakeup_pin_2_mask, ESP_EXT1_WAKEUP_ALL_LOW);
Result:
It only wakes up when GPIO 35 is low. Can not wake up when GPIO 34 detects high.
Question :
1. Can ESP wake up with different configured logic levels for different IO? If yes then How?
Wakeup ESP when GPIO 34 is high or GPIO 35 is low -> ( (GPIO 34 == 1) || (GPIO 35 == 0) )
What We tried:
const int ext_wakeup_pin_1 = 34;
const uint64_t ext_wakeup_pin_1_mask = 1ULL << ext_wakeup_pin_1;
const int ext_wakeup_pin_2 = 35;
const uint64_t ext_wakeup_pin_2_mask = 1ULL << ext_wakeup_pin_2;
esp_sleep_enable_ext1_wakeup(ext_wakeup_pin_1_mask, ESP_EXT1_WAKEUP_ANY_HIGH);
esp_sleep_enable_ext1_wakeup(ext_wakeup_pin_2_mask, ESP_EXT1_WAKEUP_ALL_LOW);
Result:
It only wakes up when GPIO 35 is low. Can not wake up when GPIO 34 detects high.
Question :
1. Can ESP wake up with different configured logic levels for different IO? If yes then How?