This document provides a general guideline on the power management features of RDK Video platform.
RDK currrently supports 4 power modes
Mode | Detais | State Transition | Reference APIs |
---|
ON | - Box will be in full power mode
- All services will be running.
- Logs will be written to persistent device directly
| To/From *Decided by application manager *IR/Bluetooth/CEC input | setPowerState onSystemPowerStateChanged |
Lightsleep/ standby | - Box is fully functional, none of the services are disabled.
- video/graphics display is turned off
- Audio will be muted.
- Applications can decide on what the behavior should be on standby mode.
- Logs will be written to RAM and are periodically flushed to persistence.
| To - Application manager can enter into this state based on the user/system inactivity. User inactivity is no key inputs from user, while system inactivity includes no audio/video playback
- IR/Bluetooth/CEC input
From | setPreferredStandbyMode setPowerState onSystemPowerStateChanged |
Deepsleep (w/o n/w support) | - video/graphics display is turned off
- Audio is muted
- All CPU activity is suspended
- Ethernet port and WiFi radio are disabled
- All input ports other than HDMI-CEC are disabled
- Bluetooth remains ON for keypress input only
- IR remains ON
- HDMI-CEC is retained
- System time is retained
| To - If the setpreferredstandbymode is set and application manager puts the box to standby due to inactivity
- IR/Bluetooth/CEC input
From - One of the wakeup sources
| setPreferredStandbyMode setPowerState onSystemPowerStateChanged setWakeupSrcConfiguration setDeepSleepTimer |
Deepsleep (n/w supported) | - video/graphics display is turned off
- Audio is muted
- All CPU activity is suspended
- Ethernet port and WiFi radio are enabled
- All input ports other than HDMI-CEC are disabled
- Bluetooth remains ON for keypress input only
- IR remains ON
- HDMI-CEC is retained
- System time is retained
| To - If the setpreferredstandbymode is set and application manager puts the box to standby due to inactivity
- IR/Bluetooth/CEC input
From - One of the wakeup sources
| setPreferredStandbyMode setPowerState onSystemPowerStateChanged setWakeupSrcConfiguration setDeepSleepTimer |
While in ON state, application manager can detect user/system inactivity and switch to preferred power saving state. Other than user intentionally turning off the device, the only other scenario where power state change happens is when thermal protection is enabled and threshold values are crossed.
Please note that there is no direct transistion from Deepsleep to ON state. when system wakes up from deepsleep, it switches to lightsleep mode and let the event listeners decide what to do with the wakeup notification.Based on getlastdeepsleepreason and getLastWakeupKeyCode , application manager/dial server can determine how to proceed further.
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6Ikpvc2VrdXR0eSBLdXJpYWtvc2UiLCJvdXRwdXRUeXBlIjoiYmxvY2siLCJsYXN0TW9kaWZpZXJOYW1lIjoiSm9zZWt1dHR5IEt1cmlha29zZSIsImxhbmd1YWdlIjoiZW4iLCJ1aUNvbmZpZyI6Int9IiwiZGlhZ3JhbURpc3BsYXlOYW1lIjoiIiwic0ZpbGVJZCI6IiIsImF0dElkIjoiMjg4MDAyNTk1IiwiZGlhZ3JhbU5hbWUiOiJQb3dlci1zY2hhbmdlIiwiYXNwZWN0IjoiIiwibGlua3MiOiJhdXRvIiwiY2VvTmFtZSI6IlBvd2VyIE1hbmFnZW1lbnQgaW4gUkRLLVYgUGxhdGZvcm1zIiwidGJzdHlsZSI6InRvcCIsImNhbkNvbW1lbnQiOmZhbHNlLCJkaWFncmFtVXJsIjoiIiwiY3N2RmlsZVVybCI6IiIsImJvcmRlciI6dHJ1ZSwibWF4U2NhbGUiOiIxIiwib3duaW5nUGFnZUlkIjoyODgwMDIyNzIsImVkaXRhYmxlIjpmYWxzZSwiY2VvSWQiOjI4ODAwMjI3MiwicGFnZUlkIjoiIiwibGJveCI6dHJ1ZSwic2VydmVyQ29uZmlnIjp7ImVtYWlscHJldmlldyI6IjEifSwib2RyaXZlSWQiOiIiLCJyZXZpc2lvbiI6MywibWFjcm9JZCI6IjA5MjE2MTA5LWQ5NTItNDFlNy1hYjhjLWEzNTdhOTYzZTRmZiIsInByZXZpZXdOYW1lIjoiUG93ZXItc2NoYW5nZS5wbmciLCJsaWNlbnNlU3RhdHVzIjoiT0siLCJzZXJ2aWNlIjoiIiwiaXNUZW1wbGF0ZSI6IiIsIndpZHRoIjoiMzYxIiwic2ltcGxlVmlld2VyIjpmYWxzZSwibGFzdE1vZGlmaWVkIjoxNjk4MzI0NzExMDAwLCJleGNlZWRQYWdlV2lkdGgiOmZhbHNlLCJvQ2xpZW50SWQiOiIifQ==