I'm really new to arduino and really could use some help. I recently designed a whole project and then found out that I could not power it long term via batteries. I believe my only choice is to use deep sleep (or some sort of power saving measures).
If things were perfect I would be able to wake up the system with either one of two buttons or the keypad. This guide [ In-Depth: ESP32 Deep Sleep & Wakeup Sources | Timer, Touch & External ] under "ESP32 Wake-up Source : External Wake-up" says I have to use esp_sleep_enable_ext1_wakeup because I want to use more than 1 button.
esp_sleep_enable_ext1_wakeup only allows the following two modes.
Wake up if one of the selected pins is HIGH (ESP_EXT1_WAKEUP_ANY_HIGH)
Wake up if all selected pins are LOW (ESP_EXT1_WAKEUP_ALL_LOW)
However both my buttons AND my keypad are pulled high to start and I have no idea how to stop that...I assume I can't.
Under the header "ext1 External Wake-up Source" it says "In order to use the internal pullup or pulldown resistors, we need to request the RTC peripherals to be kept on during sleep, and configure the pullup/pulldown resistors using the rtc_gpio_pullup_en() and rtc_gpio_pulldown_en() functions before entering sleep."
I don't really know what that all means but I figured I would include it in case it helps.
I would really appreciate any guidance you could provide. Thank you!