| ARRIS Enterprises, Inc. Confidential Information | ||||||||||||||||||||
Power ManagementThe power management support spans several hardware platforms as well as energy saving programs:
Using Power ManagementNote that a tutorial is available, illustrating how to add basic power management capabilities to a JavaScript portal. Power ProfilesA power profile is a way of describing power consumption levels. The following profiles are defined:
InterfacesThe following interfaces implement power management:
The last two interfaces implements the handshaking procedure. For more details, please see the API Reference tab describes the API in further. Access to the power management services is granted by creating a power control instance using the platform service interface. Applications are required to register for power control. Only in very, very rare cases can the application be excused. Subsequent actions are done through the power control and power control observer interface. ConfigurationPower management is configurable in two ways:
Auto Power Down (APD)Auto power down is a mandatory feature of all supported energy saving programs. It ensures that the IP-STB automatically switches to the least energy consuming profile deemed appropriate by the operator after a certain period has elapsed since the last user interaction. A user interaction can be either a remote button press or a press on a front panel button. Normally APD is handled by the platform, i.e. the platform keeps track of elapsed time since last user interaction and initiates a switch to a low power mode if needed. In rare cases, i.e. where the application or middleware needs more control of the process APD handling can be relinquished. For this to happen there must be a license IIP, kreatv-license-allow-power-management-control, present in the boot image. For more on application control of the standby process please see Full Application Control . Which power profile to use as the lowest is fully configurable at build time. Note that this value is used system wide i.e. the same lowest profile will be used regardless of how a power profile switch is initiated. This is a design decision taken to simplify the implementation. The default APD timeout is always set to four hours. Depending on the chosen power management scheme the APD timeout is allowed to vary as described in the table below:
Note:
HandshakingCentral to power profile switching is the handshaking procedure which is different when entering standby,
and leaving it.
There are two steps to enter standby. E.g., when the standby button is pressed or the APD timer expires,
as first step, the power controller will send a
[ToiPowerControlPowerProfileRequestedEvent]
to notify all applications and services that a power profile switch is about to take place as well as
the reason for making the switch. Each recipient of the event reports back if the switch is acceptable by calling
But for recovery from standby, the above first step is not needed, because, no application or service will reject recovery request. So, there is only one step (the above second step), which is when power controller receive recovery request from standby button pressed or wakeup timer timeout, power controller will directly notify all applications and services which profile is selected. Below is an example of the handshaking procedure when the end-user presses the standby button on the RCU to enter passive standby:
In active standby, audio and video are shut down, so, no operation involving audio and/or video shall be done. But it is still possible to use TOI because the CPU still has power. It is up to the application to handle ongoing recordings, channel scans, updates etc. when the IP-STB is about to switch power profile. If a streamer, either player or recorder, are left active when the controlling application reports back that it is finished, the media manager will force a shutdown of the open streamers. The handshaking procedure is slightly different if the APD timer expires, see below:
Scheduled WakeupIf a service or an application needs the IP-STB to change power mode to perform some kind of activity a wakeup timer can be set during the handshaking procedure. When the timer expires the IP-STB will switch to active standby. It isn't possible to switch to the active power profile. To allow for some margin the IP-STB will actually come out earlier so that hard disks and network interfaces are setup properly. If more than one timer is set the one closest in time will be chosen, the rest will be rejected meaning that applications and services need to set new timers when a power profile switch occurs. There are two methods of scheduling a wake up:
The first approach is the recommended one and shall be used during the handshaking procedure as illustrated below:
After a period of time the power controller will try to switch the IP-STB back to the low power state which it came from. This is done by starting the handshaking procedure. The switch can be rejected just as usual if the activities haven't been completed. When an application is in control, see below, then the controlling application is responsible for putting the IP-STB back into the low power state it came from. Full Application ControlIn some cases an application can be given the responsibility of initiating power profile switches. That means the power controller will not react to the standby button nor handle APD. That is completely left to the application. KreaTV will still notify the application when the pre-configured APD-timeout happens but the application will have to initiate the power mode switch. The handshaking procedure will still be administered by the power controller. One case where this could be an alternative is if some very special handling of the standby button is required, e.g. the operator wants a maintenance application to be launched if the standby button is pressed for more than two seconds. Another reason could be that there are legal implications. In any case to do this a license from ARRIS is needed. |

