Wakeup from Lightsleep using Button A?
-
Hello everyone,
I am can successfully put my StickC to light sleep using a timer, but I would like to be able to wake it up either using the timer (on its own), or by pressing the A button.
This is the code I'm using:#define BUTTON_PIN_BITMASK 0x2000000000 // 2^37 in hex esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); esp_sleep_enable_ext1_wakeup(BUTTON_PIN_BITMASK,ESP_EXT1_WAKEUP_ANY_HIGH); //wake up when Button A is pressed Serial.println("Setup ESP32 to sleep for every " + String(TIME_TO_SLEEP) + " Seconds"); esp_light_sleep_start();This is the guide I used: https://randomnerdtutorials.com/esp32-external-wake-up-deep-sleep/
My guess is that it's got something to do with the PIN 37 being interlanny pulled up or down, but I'm stuck now...
What do you think?Thank you all in advance!
-
Hello @guardian5
are you aware that the buttons, when pressed, pull their respective GPIO low (and not high)? Have you tried using
ESP_EXT1_WAKEUP_ALL_LOWinstead?For reference: M5StickC schematic.
Thanks
Felix -
Thank you Felix, I solved my problem, it was clearly an internal pullup detail:
esp_sleep_enable_ext0_wakeup(GPIO_NUM_37,0);//Configure GPIO37 as ext0 wake up source for low logic level gpio_pullup_en(GPIO_NUM_37); -
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login