Interrupts in light sleep?
Posted: Sun Oct 20, 2024 5:54 pm
Hey all,
So it seems like interrupts while in light sleep are a no go, because the CPU's (ESP32 dual core) are clock gated. Simply put, the cores don't receive clock pules.
The only problem is we have an interrupt that is short and unlatched. It's just 2.5 uS in length. I tried to attach a light sleep wakeup source to the same pin, but by the time that's happened the interrupt pulse is gone, and the software interrupt handler isn't called.
EXT1 seems like a possibility but then I would be constantly calling esp_sleep_get_ext1_wakeup_status() rather than blocking. Doesn't really help as we are trying to use the interrupt to save power.
Any ideas?
So it seems like interrupts while in light sleep are a no go, because the CPU's (ESP32 dual core) are clock gated. Simply put, the cores don't receive clock pules.
The only problem is we have an interrupt that is short and unlatched. It's just 2.5 uS in length. I tried to attach a light sleep wakeup source to the same pin, but by the time that's happened the interrupt pulse is gone, and the software interrupt handler isn't called.
EXT1 seems like a possibility but then I would be constantly calling esp_sleep_get_ext1_wakeup_status() rather than blocking. Doesn't really help as we are trying to use the interrupt to save power.
Any ideas?