思澈科技软件开发工具包  2.20
Power Management

Power Management API. More...

Data Structures

struct  test_pm_data_restore_time_t
 
struct  test_pm_data_save_time_t
 
struct  test_pm_data_t
 
enum  pm_scenario_name_t {
  PM_SCENARIO_UI,
  PM_SCENARIO_AUDIO
}
 
rt_uint32_t g_sleep_tick
 Sleep ticks.
 
void pm_shutdown (void)
 
void aon_irq_handler_hook (uint32_t wsr)
 AON IRQHandler hook. More...
 
uint32_t pm_get_wakeup_src (void)
 get last wakeup source More...
 
uint32_t pm_get_power_mode (void)
 get last low power mode More...
 
rt_err_t pm_enable_pin_wakeup (uint8_t pin, AON_PinModeTypeDef mode)
 Enable pin wakeup. More...
 
rt_err_t pm_disable_pin_wakeup (uint8_t pin)
 Disable pin wakeup. More...
 
rt_err_t pm_enable_rtc_wakeup (void)
 Enable RTC wakeup. More...
 
rt_err_t pm_disable_rtc_wakeup (void)
 Disable RTC wakeup. More...
 
rt_tick_t pm_latch_tick (rt_tick_t curr_tick, uint32_t curr_time, float gtime_freq, void *user_data)
 Calculate the compensated rt_tick. More...
 
void pm_set_last_latch_tick (rt_tick_t last_latch_tick)
 Update last latch tick if rt_tick cannot be updated as expected. More...
 
rt_err_t pm_scenario_start (pm_scenario_name_t scenario)
 
rt_err_t pm_scenario_stop (pm_scenario_name_t scenario)
 
#define PM_DEBUG_PIN_HIGH()
 
#define PM_DEBUG_PIN_LOW()
 
#define PM_DEBUG_PIN_TOGGLE()
 
#define PM_DEBUG_PIN_ENABLE()
 
#define PM_DEBUG_PIN_INIT()
 
#define PM_NON_RETENTION_SECTION_NAME   non_ret
 

Detailed Description

Power Management API.

Macro Definition Documentation

◆ PM_NON_RETENTION_SECTION_NAME

#define PM_NON_RETENTION_SECTION_NAME   non_ret

non-retention section name

Function Documentation

◆ aon_irq_handler_hook()

void aon_irq_handler_hook ( uint32_t  wsr)

AON IRQHandler hook.

It's defined as weak function in pm module and called by AON_IRQHandler. User could reimplement it and perform customized action.

Parameters
[in]wsrwakeup source
Return values
void

◆ pm_disable_pin_wakeup()

rt_err_t pm_disable_pin_wakeup ( uint8_t  pin)

Disable pin wakeup.

Parameters
pinpin number, range: 0~5
Return values
status

◆ pm_disable_rtc_wakeup()

rt_err_t pm_disable_rtc_wakeup ( void  )

Disable RTC wakeup.

Return values
status

◆ pm_enable_pin_wakeup()

rt_err_t pm_enable_pin_wakeup ( uint8_t  pin,
AON_PinModeTypeDef  mode 
)

Enable pin wakeup.

Parameters
pinpin number, range: 0~5, 0 means H/LPAON_WAKEUP_SRC_PIN0, etc.
modepin wakeup mode
Return values
status

◆ pm_enable_rtc_wakeup()

rt_err_t pm_enable_rtc_wakeup ( void  )

Enable RTC wakeup.

Return values
status

◆ pm_get_power_mode()

uint32_t pm_get_power_mode ( void  )

get last low power mode

Return values
lowpower mode

◆ pm_get_wakeup_src()

uint32_t pm_get_wakeup_src ( void  )

get last wakeup source

Return values
wakeupsource, for HPSYS, return HPSYS_AON_WSR_RTC and other value if SystemPowerOnModeGet() is PM_COLD_BOOT or PM_COLD_STANDBY return PMUC_WSR_RTC and other value if SystemPowerOnModeGet() is PM_HIBERNATE_BOOT or PM_SHUTDOWN_BOOT for LPSYS, return LPSYS_AON_WSR_RTC and other value if SystemPowerOnModeGet() is PM_COLD_BOOT or PM_COLD_STANDBY

◆ pm_latch_tick()

rt_tick_t pm_latch_tick ( rt_tick_t  curr_tick,
uint32_t  curr_time,
float  gtime_freq,
void *  user_data 
)

Calculate the compensated rt_tick.

Parameters
[in]curr_tickcurrent rt_tick
[in]curr_timecurrent GTIME
[in]gtime_freqGTIMER frequency
[in]user_datauser data
Return values
compensatedrt_tick

◆ pm_scenario_start()

rt_err_t pm_scenario_start ( pm_scenario_name_t  scenario)

Indicate specified scanario is started

Parameters
[in]scenarioscenario

◆ pm_scenario_stop()

rt_err_t pm_scenario_stop ( pm_scenario_name_t  scenario)

Indicate specified scanario is stopped

Parameters
[in]scenarioscenario

◆ pm_set_last_latch_tick()

void pm_set_last_latch_tick ( rt_tick_t  last_latch_tick)

Update last latch tick if rt_tick cannot be updated as expected.

Parameters
[in]last_latch_ticklast_latch_tick
Returns
void