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 |
||
---|---|---|
apps | ||
core | ||
cpu | ||
dev | ||
doc | ||
examples | ||
platform | ||
regression-tests | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile.include | ||
README-BUILDING.md | ||
README-EXAMPLES.md | ||
README.md |
The Contiki Operating System
Contiki is an open source operating system that runs on tiny low-power microcontrollers and makes it possible to develop applications that make efficient use of the hardware while providing standardized low-power wireless communication for a range of hardware platforms.
Contiki is used in numerous commercial and non-commercial systems, such as city sound monitoring, street lights, networked electrical power meters, industrial monitoring, radiation monitoring, construction site monitoring, alarm systems, remote house monitoring, and so on.
For more information, see the Contiki website: