571cf9364a
This commit applies a number of improvements to the logic used when trying to drop to a CC13xx/CC26xx low-power mode: * We identify whether there are any pending etimers by using `etimer_pending()` instead of `etimer_next_expiration_time()`. This subsequently allows us to also identify whether an etimer is set to fire at time 0. * We run a larger portion of the code with the global interrupt disabled. This prevents a number of messy conditions that can occur if an interrupt fires after we have started the low-power sequence. * We check whether there are pending events earlier in the sequence. * We make sure to schedule a next wakeup event even when an LPM module prohibits deep sleep and forces sleep instead. This fixes some of the issues discussed in #1236 |
||
---|---|---|
.. | ||
dev | ||
lib | ||
rf-core | ||
cc26xx.ld | ||
clock.c | ||
dbg.h | ||
debug-uart.h | ||
fault-handlers.c | ||
ieee-addr.c | ||
ieee-addr.h | ||
lpm.c | ||
lpm.h | ||
Makefile.cc13xx | ||
Makefile.cc26xx | ||
Makefile.cc26xx-cc13xx | ||
mtarch.h | ||
putchar.c | ||
rtimer-arch.c | ||
rtimer-arch.h | ||
slip-arch.c | ||
ti-lib.h |