M5StickC and ULP wakeup
-
When I try to program the ULP and enable esp_sleep_enable_ulp_wakeup();
I use the following code with esp_sleep_enable[...] before M5.Deepsleep()
esp_sleep_enable_ext0_wakeup(GPIO_NUM_37, LOW); // button A 1 = High, 0 = Low #define BUTTON_PIN_BITMASK 0x8000000000 // 2^39 in hex (button B) esp_sleep_enable_ext1_wakeup(BUTTON_PIN_BITMASK, ESP_EXT1_WAKEUP_ALL_LOW); esp_sleep_enable_timer_wakeup(takeSampleTime); esp_sleep_enable_ulp_wakeup(); // conflict with ext0/ext1/touch/ulp?
If I use ButtonA&ButtonB wake EXT0 and EXT1 on the log the ESP tells me something like:
E (16967) sleep: Conflicting wake-up trigger: ext0
And If I disable the buttons wakeup, also tells me about GPIO TOUCH conflict :(
What are the steps to get button wakeup, timer wakeup and ULP wakeup at same time?
-
Hello @sharek
you don't need both
ext0
andext1
for the two buttons. You should be able to cover both buttons withext1
by adding both to the bitmask:#define BUTTON_PIN_BITMASK ((1UL << 37) | (1UL << 39))
Thanks
Felix