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.
    • Power manager sends these events to other applications

      Code Block
      IARM_BUS_PWRMGR_EVENT_MODECHANGED
    • 
      IARM_BUS_PWRMGR_EVENT_DEEPSLEEP_TIMEOUT
    • The Event Data contains

      Code Block
      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:

      Code Block
      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_DeepSleepTimeout_EventData_t param;
param.timeout = deep_sleep_delay_in_seconds;
IARM_Bus_BroadcastEvent( IARM_BUS_PWRMGR_NAME,
        IARM_BUS_PWRMGR_EVENT_DEEPSLEEP_TIMEOUT,
        (void*)&param, sizeof(param));

 

IARM_BUS_PWRMGR_EVENT_MODECHANGED

...

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

...