Introduction

This document provides a general guideline on the power management features of RDK Video platform.

Power modes

RDK currrently supports 4 power modes

ModeDetaisState TransitionReference 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

  • IR/Bluetooth/CEC input

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

State transition diagram

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.


  • No labels