Low-level
#
SPMThe 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:
Subsystem | Description |
---|---|
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.
#
StatesBelow diagram shows an overview of all possible SPM states and the transitions between.
#
OFFEverything is powered off.
#
TransitionsState | Condition |
---|---|
BOOTING | The device is plugged in. |
HIBERNATING | Maximum number of boot attempts reached. Default is 10 attempts. |
#
BOOTINGEverything is powered on and the Raspberry Pi is booting up.
#
TransitionsState | Condition |
---|---|
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. |
#
ONEverything is powered on and there is regular communication with the Raspberry Pi.
#
TransitionsState | Condition |
---|---|
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. |
#
SLEEPINGThe 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:
- STN is powered on.
- Received wake signal from modem.
- Received wake signal from accelerometer.
#
TransitionsState | Condition |
---|---|
BOOTING | See the above criteria. |
#
HIBERNATINGEverything is shut down for maximum power saving.
#
TransitionsState | Condition |
---|---|
BOOTING | The STN powers on (when transitions from off to on). |
#
STNSee the STN command for available power trigger options here.