← index #12579PR #8832
Off-topic · high · value 4.121
QUERY · ISSUE

ESP32 timer wake up repeating

openby AndreoBotelhoopened 2023-10-03updated 2023-10-24
bugport-esp32

I'm using timer wakeup from light sleep with:

machine.lightsleep(30000) #sleep 30s

after 30 the esp32 wakes, disable peripherals and sleep indefinitely with:

machine.lightsleep()

but the 30s wake timer keeps repeating and didn't find any way to disable wake source

CANDIDATE · PULL REQUEST

rp2/modmachine: Implement lightsleep() with optional sleep period.

mergedby dpgeorgeopened 2022-06-28updated 2023-03-13
port-rp2

This gets basic machine.lightsleep([n]) working on the rp2 port.

It supports:

  • Calling lightsleep without a specified period, in which case it uses xosc dormant mode. There's currently no way to wake it up from this state, unless you write to raw registers to enable a GPIO wake up source.
  • Calling lightsleep with a period n in milliseconds. This period must be less than about 72 minutes and uses timer alarm3 to wake it up.

The RTC continues to run during lightsleep, but other peripherals have their clock turned off during the sleep.

It doesn't yet support:

  • Longer periods than 72 minutes (could use the RTC for this).
  • Wake up from GPIO IRQ.

Fixes issue #8770.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied