Idle Sleep#
API and Callbacks for the Idle Sleep Component.
Silicon Labs implementation of idling and sleeping. This plugin is used on devices that should deep sleep and on devices that need to stay awake. For devices with an RX-on-when-idle network, such as a router, the plugin will attempt to idle the processor when it has no other tasks to perform. Idling helps save power by halting the main loop of the application, but does not interfere with the timely handling of interrupts. For example, when idling, the radio can still receive packets. On devices with only sleepy networks, such as sleepy end devices, the plugin will attempt to deep sleep when there are no other tasks to perform. In deep sleep, the radio is shut down and the node will not receive packets, so deep sleep is only appropriate for devices that are not expected to be always on. The plugin automatically adjusts idling vs. deep sleep depending on the role of the node. If EM4 sleep mode is activated, the plugin causes a RESET for every EM4 sleep attempt.