The SPM (Smart Power Management) is an embedded system that controls the low-level power cycle of the device. It interacts with a number of subsystems that can initiate power state changes:
|Accelerometer||Built-in accelerometer is capable of triggering wake up based on physical movement events.|
|Modem||Installed modem module can trigger wake up on received SMS or dial up call.|
|STN||Built-in chipset triggers power on and off based on voltage level changes.|
Finally the Raspberry Pi communicates directly with the SPM and performs power state changes based on more high-level decisions.
Below diagram shows an overview of all possible SPM states and the transitions between.
Everything is powered off.
|BOOTING||The device is plugged in.|
|HIBERNATING||Maximum number of boot attempts reached. Default is 10 attempts.|
Everything is powered on and the Raspberry Pi is booting up.
|ON||Successfully communicated with the Raspberry Pi.|
|OFF||No communication with the Raspberry Pi within a given time limit. Default boot timeout is 10 minutes.|
Everything is powered on and there is regular communication with the Raspberry Pi.
|SLEEPING||The Raspberry Pi decided to sleep for a given period of time.|
|HIBERNATING||The Raspberry Pi decided to hibernate or the STN chip powered off according to its triggers.|
|OFF||No communication with the Raspberry Pi within a given time limit. Default heartbeat timeout is 3 minutes.|
The Raspberry Pi is powered off. Modem and GPS is kept on in low power mode.
Wake up will happen after a specified period of sleep time or earlier if:
|BOOTING||See the above criteria.|
Everything is shut down for maximum power saving.
|BOOTING||The STN powers on (when transitions from off to on).|
See the STN command for available power trigger options here.