Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Overview

  • Power Manager monitors Power IR key events and reacts to power state changes.
  • It dispatches Power Mode Change events to IARM-Bus.
  • All listeners should release resources when entering POWER OFF/STANDBY state and re-acquire them when entering POWER ON state.

...

  • The Event Data contains
      • current power state - IARM_Bus_PWRMgr_PowerState_t curState;
      • new power state and - IARM_Bus_PWRMgr_PowerState_t newState;
      • Timeout - unsigned int timeout;

  • Power manager publishes four RPC Methods:
      • SetPowerState
      • GetPowerState
      • WareHouseReset
      • SetDeepSleepTimeOut

Events

IARM_BUS_PWRMGR_EVENT_DEEPSLEEP_TIMEOUT

  • Event to notify deep sleep timeout
  • Deep sleep timeout is set by “IARM_BUS_PWRMGR_API_SetDeepSleepTimeOut” API after which this event will be broadcast.

...

IARM_Bus_PWRMgr_EventData_t param;
param.data.state.curState = curState;
param.data.state.newState = newState;
IARM_Bus_BroadcastEvent( IARM_BUS_PWRMGR_NAME,
        IARM_BUS_PWRMGR_EVENT_MODECHANGED,
        (void *)&param, sizeof(param));

RPC Methods

IARM_BUS_PWRMGR_API_SetPowerState

  • Sets the power state of the device
  • Used to set a new power state to the device.
  • The power state can be ON, OFF, STANDBY, STANDBYLIGHT-SLEEP or STANDBY-DEEP-SLEEP

IARM_Bus_PWRMgr_SetPowerState_Param_t param;
param.newState = IARM_BUS_PWRMGR_POWERSTATE_ON
IARM_Bus_Call(IARM_BUS_PWRMGR_NAME,
        IARM_BUS_PWRMGR_API_SetPowerState,
        (void *)&param, sizeof(param));


IARM_BUS_PWRMGR_API_GetPowerState

  • This API is used to retrieve the current power state of the box.

IARM_Bus_PWRMgr_GetPowerState_Param_t param;
IARM_Bus_Call(IARM_BUS_PWRMGR_NAME,
        IARM_BUS_PWRMGR_API_GetPowerState,
        (void *)&param, sizeof(param));


IARM_BUS_PWRMGR_API_WareHouseReset

  • This API is used to reset the box to warehouse state.

IARM_Bus_Call(IARM_BUS_PWRMGR_NAME,
        IARM_BUS_PWRMGR_API_WareHouseReset, NULL, 0);


IARM_BUS_PWRMGR_API_SetDeepSleepTimeOut

  • This API is used to sets the timeout for deep sleep

...