
{"id":9911,"date":"2022-06-21T09:10:32","date_gmt":"2022-06-21T09:10:32","guid":{"rendered":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/documentation\/rdk_video_documentation\/components\/open-sourced_components\/iarm_manager\/power_manager\/"},"modified":"2025-03-25T05:18:35","modified_gmt":"2025-03-25T05:18:35","slug":"power_manager","status":"publish","type":"page","link":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/","title":{"rendered":"Power Manager"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n <html><body><h3 class=\"wp-sub-header\">Overview<\/h3><ul><ul><li>Power Manager monitors Power IR key events and reacts&nbsp;to power state changes.<\/li><li>It dispatches Power Mode Change events to IARM-Bus.<\/li><li>All listeners should release resources when entering POWER OFF\/STANDBY state and re-acquire them when&nbsp;entering POWER ON state.<\/li><li><p>Power manager sends these events to other applications<\/p><div class=\"panel conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"panel\"><div class=\"panelContent\">\n<ul><li>IARM_BUS_PWRMGR_EVENT_MODECHANGED<\/li><li>IARM_BUS_PWRMGR_EVENT_DEEPSLEEP_TIMEOUT<\/li><\/ul><\/div><\/div><\/li><li><p>The Event Data contains<\/p><div class=\"panel conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"panel\"><div class=\"panelContent\">\n<ul><li>current power state &#8211; IARM_Bus_PWRMgr_PowerState_t curState;<\/li><li>new power state and &#8211; IARM_Bus_PWRMgr_PowerState_t newState;<\/li><li>Timeout &#8211; unsigned int timeout;<br><br><\/li><\/ul><\/div><\/div><\/li><li><p>Power manager publishes four RPC Methods:<\/p><div class=\"panel conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"panel\"><div class=\"panelContent\">\n<ul><li>SetPowerState<\/li><li>GetPowerState<\/li><li>WareHouseReset<\/li><li>SetDeepSleepTimeOut<\/li><\/ul><\/div><\/div><\/li><\/ul><\/ul><h3 class=\"wp-sub-header\">Events<\/h3><h3 id=\"PowerManager-IARM_BUS_PWRMGR_EVENT_DEEPSLEEP_TIMEOUT\"><span><strong>IARM_BUS_PWRMGR_EVENT_DEEPSLEEP_TIMEOUT<\/strong><\/span><\/h3><ul><li>Event to notify deep sleep timeout<\/li><li>Deep sleep timeout is set by&nbsp;&ldquo;IARM_BUS_PWRMGR_API_SetDeepSleepTimeOut&rdquo; API after&nbsp;which this event will be broadcast.<\/li><\/ul><div class=\"table-wrap\"> <table class=\"wrapped confluenceTable\"><colgroup><col><\/colgroup><tbody><tr><td class=\"confluenceTd\"><p><code class=\"java plain\">IARM_BUS_PWRMgr_DeepSleepTimeout_EventData_t param;<\/code><br><code class=\"java plain\">param.timeout = deep_sleep_delay_in_seconds;<\/code><br><code class=\"java plain\">IARM_Bus_BroadcastEvent( IARM_BUS_PWRMGR_NAME,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">IARM_BUS_PWRMGR_EVENT_DEEPSLEEP_TIMEOUT,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">(<\/code><code class=\"java keyword\">void<\/code><code class=\"java plain\">*)&amp;param, sizeof(param));<\/code><\/p><\/td><\/tr><\/tbody><\/table> <\/div><p><strong style=\"font-size: 16.0px;\"><br><\/strong><\/p><p><strong style=\"font-size: 16.0px;\">IARM_BUS_PWRMGR_EVENT_MODECHANGED<\/strong><\/p><ul><li>Event to notify power mode change.<\/li><li>This event is broadcast in case of power state change. Along with the&nbsp;current power state and new state, this event is broadcast. This event can be handled by the application.<\/li><\/ul><div class=\"table-wrap\"> <table class=\"wrapped confluenceTable\"><colgroup><col><\/colgroup><tbody><tr><td class=\"confluenceTd\"><p><code class=\"java plain\">IARM_Bus_PWRMgr_EventData_t param;<\/code><br><code class=\"java plain\">param.data.state.curState = curState;<\/code><br><code class=\"java plain\">param.data.state.newState = newState;<\/code><br><code class=\"java plain\">IARM_Bus_BroadcastEvent( IARM_BUS_PWRMGR_NAME,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">IARM_BUS_PWRMGR_EVENT_MODECHANGED,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">(<\/code><code class=\"java keyword\">void<\/code>&nbsp;<code class=\"java plain\">*)&amp;param, sizeof(param));<\/code><\/p><\/td><\/tr><\/tbody><\/table> <\/div><h3 class=\"wp-sub-header\">RPC Methods<\/h3><h3 id=\"PowerManager-IARM_BUS_PWRMGR_API_SetPowerState\"><strong>IARM_BUS_PWRMGR_API_SetPowerState<\/strong><\/h3><ul><li>Sets the power state of the device<\/li><li>Used to set a new power state to the device.<\/li><li>The power state can be ON, OFF, STANDBY, STANDBYLIGHT-SLEEP or STANDBY-DEEP-SLEEP<\/li><\/ul><div class=\"table-wrap\"> <table class=\"wrapped confluenceTable\"><colgroup><col><\/colgroup><tbody><tr><td class=\"confluenceTd\"><p><code class=\"java plain\">IARM_Bus_PWRMgr_SetPowerState_Param_t param;<\/code><br><code class=\"java plain\">param.newState = IARM_BUS_PWRMGR_POWERSTATE_ON<\/code><br><code class=\"java plain\">IARM_Bus_Call(IARM_BUS_PWRMGR_NAME,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">IARM_BUS_PWRMGR_API_SetPowerState,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">(<\/code><code class=\"java keyword\">void<\/code>&nbsp;<code class=\"java plain\">*)&amp;param, sizeof(param));<\/code><\/p><\/td><\/tr><\/tbody><\/table> <\/div><p><strong><br><\/strong><\/p><h3 id=\"PowerManager-IARM_BUS_PWRMGR_API_GetPowerState\"><strong>IARM_BUS_PWRMGR_API_GetPowerState<\/strong><\/h3><ul><li>This API is used to retrieve the current power state of&nbsp;the box.<\/li><\/ul><div class=\"table-wrap\"> <table class=\"wrapped confluenceTable\"><colgroup><col><\/colgroup><tbody><tr><td class=\"confluenceTd\"><p><code class=\"java plain\">IARM_Bus_PWRMgr_GetPowerState_Param_t param;<\/code><br><code class=\"java plain\">IARM_Bus_Call(IARM_BUS_PWRMGR_NAME,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">IARM_BUS_PWRMGR_API_GetPowerState,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">(<\/code><code class=\"java keyword\">void<\/code>&nbsp;<code class=\"java plain\">*)&amp;param, sizeof(param));<\/code><\/p><\/td><\/tr><\/tbody><\/table> <\/div><p><br><\/p><h3 id=\"PowerManager-IARM_BUS_PWRMGR_API_WareHouseReset\"><strong>IARM_BUS_PWRMGR_API_WareHouseReset<\/strong><\/h3><ul><li>This API is used to reset the box to warehouse state.<\/li><\/ul><div class=\"table-wrap\"> <table class=\"wrapped confluenceTable\"><colgroup><col><\/colgroup><tbody><tr><td class=\"confluenceTd\"><p><code class=\"java plain\">IARM_Bus_Call(IARM_BUS_PWRMGR_NAME,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">IARM_BUS_PWRMGR_API_WareHouseReset, NULL,&nbsp;<\/code><code class=\"java value\">0<\/code><code class=\"java plain\">);<\/code><\/p><\/td><\/tr><\/tbody><\/table> <\/div><p><strong><br><\/strong><\/p><h3 id=\"PowerManager-IARM_BUS_PWRMGR_API_SetDeepSleepTimeOut\"><strong>IARM_BUS_PWRMGR_API_SetDeepSleepTimeOut<\/strong><\/h3><ul><li>This API is used to sets the timeout for deep sleep<\/li><\/ul><div class=\"table-wrap\"> <table class=\"wrapped confluenceTable\"><colgroup><col><\/colgroup><tbody><tr><td class=\"confluenceTd\"><p><code class=\"java plain\">IARM_Bus_PWRMgr_SetDeepSleepTimeOut_Param_t param;<\/code><br><code class=\"java plain\">param.timeout = timeOut;<\/code><br><code class=\"java plain\">IARM_Bus_Call(IARM_BUS_PWRMGR_NAME,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">IARM_BUS_PWRMGR_API_SetDeepSleepTimeOut,<\/code><br><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">(<\/code><code class=\"java keyword\">void<\/code>&nbsp;<code class=\"java plain\">*)&amp;param, sizeof(param));<\/code><\/p><\/td><\/tr><\/tbody><\/table> <\/div><p><br><\/p><p><br><\/p><\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Overview Power Manager monitors Power IR key events and reacts&nbsp;to power state changes. It dispatches [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":0,"parent":9894,"menu_order":6,"comment_status":"open","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-9911","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Power Manager - RDK Documentation Portal | Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Power Manager - RDK Documentation Portal | Documentation\" \/>\n<meta property=\"og:description\" content=\"Overview Power Manager monitors Power IR key events and reacts&nbsp;to power state changes. It dispatches [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/\" \/>\n<meta property=\"og:site_name\" content=\"RDK Documentation Portal | Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-25T05:18:35+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/\",\"url\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/\",\"name\":\"Power Manager - RDK Documentation Portal | Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/#website\"},\"datePublished\":\"2022-06-21T09:10:32+00:00\",\"dateModified\":\"2025-03-25T05:18:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentation\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"RDK Entertainment\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Components\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"IARM Manager\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"Power Manager\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/#website\",\"url\":\"https:\/\/developer.rdkcentral.com\/documentation\/\",\"name\":\"RDK Documentation Portal | Documentation\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/developer.rdkcentral.com\/documentation\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Power Manager - RDK Documentation Portal | Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/","og_locale":"en_US","og_type":"article","og_title":"Power Manager - RDK Documentation Portal | Documentation","og_description":"Overview Power Manager monitors Power IR key events and reacts&nbsp;to power state changes. It dispatches [&hellip;]","og_url":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/","og_site_name":"RDK Documentation Portal | Documentation","article_modified_time":"2025-03-25T05:18:35+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/","url":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/","name":"Power Manager - RDK Documentation Portal | Documentation","isPartOf":{"@id":"https:\/\/developer.rdkcentral.com\/documentation\/#website"},"datePublished":"2022-06-21T09:10:32+00:00","dateModified":"2025-03-25T05:18:35+00:00","breadcrumb":{"@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/power_manager\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/developer.rdkcentral.com\/documentation\/"},{"@type":"ListItem","position":2,"name":"Documentation","item":"https:\/\/developer.rdkcentral.com\/documentation\/"},{"@type":"ListItem","position":3,"name":"RDK Entertainment","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/"},{"@type":"ListItem","position":4,"name":"Components","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/"},{"@type":"ListItem","position":5,"name":"IARM Manager","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/iarm_manager\/"},{"@type":"ListItem","position":6,"name":"Power Manager"}]},{"@type":"WebSite","@id":"https:\/\/developer.rdkcentral.com\/documentation\/#website","url":"https:\/\/developer.rdkcentral.com\/documentation\/","name":"RDK Documentation Portal | Documentation","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/developer.rdkcentral.com\/documentation\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/9911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/comments?post=9911"}],"version-history":[{"count":1,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/9911\/revisions"}],"predecessor-version":[{"id":9912,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/9911\/revisions\/9912"}],"up":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/9894"}],"wp:attachment":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/media?parent=9911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}