Functions
Functions
SYSTEM » Power Manager

## Functions
pwr_mgmt_mode_t | pwr_mgmt_shutdown (void)
| This function allows ARM to enter deep sleep mode, but users should not use this function directly. Note that this function is only available in environments where non-RTOS is used, and that users can only execute it while in main.c. More...
boot_mode_t | pwr_mgmt_get_wakeup_flag (void)
| Get the current boot mode. More...
void | pwr_mgmt_set_wakeup_flag (boot_mode_t boot_mode)
| Mark the mode of next boot, cold boot or warm boot. More...
void | pwr_mgmt_mode_set (pwr_mgmt_mode_t pm_mode)
| Set the specified sleep mode. When the setting is completed, the system will automatically enter the specified sleep mode through the strategy. More...
pwr_mgmt_mode_t | pwr_mgmt_mode_get (void)
| Get the specified sleep mode. More...
pwr_mgmt_mode_t | pwr_mgmt_baseband_state_get (void)
| Get the power state of baseband. More...
void | pwr_mgmt_schedule (void)
| Sleep Policy Scheduling Function. Note that this function is only available in environments where non-RTOS is used, and that users can only execute it while in main.c. More...
void | pwr_mgmt_ble_wakeup (void)
| Wake the BLE core via an external request. More...
void | pwr_mgmt_check_ble_event (void)
| Check whether there are ble events in the queue, and if so, handle them immediately. More...
void | pwr_mgmt_wfe_sleep (void)
| Execution of this function allows ARM to enter the WFE state and exit the WFE state when an event or interrupt occurs. More...
void | pwr_mgmt_ultra_sleep (uint32_t time_ms)
| Execution of this function allows ARM to enter the ultra sleep state and wakeup the chip when an event occurs. More...
void | pwr_mgmt_init (pwr_table_t *p_pwr_table, mcu_clock_type_t sys_clk)
| PMU Initialization Function. More...
void | pwr_mgmt_dev_init (periph_func_t p_periph_init)
| Peripheral Controller Initialization Register interface. More...
void | pwr_mgmt_dev_resume (void)
| Device config resume interface. More...
pwr_mgmt_dev_state_t | pwr_mgmt_dev_suspend (void)
| Device config suspend interface. More...
void | pwr_mgmt_mem_ctl_set (uint32_t mem_sleep_state, uint32_t mem_work_state)
| Mem state control under deep sleep & work state. More...
void | pwr_mgmt_set_callback (pwr_dev_check_func_t dev_check_fun, pwr_before_sleep_func_t before_sleep_fun)
| Set PMU callback function. More...
void | pwr_mgmt_save_context (void)
| Save context function. More...
void | pwr_mgmt_load_context (void)
| Load context function. More...
uint8_t | pwr_mgmt_sleep (void)
| shutdown power in rtos mode More...
void | pwr_mgmt_register_trace_func (trace_func_t status_trace_func, trace_func_t sched_trace_func)
| Trace function register. More...

## Detailed Description

## Function Documentation

## ◆ pwr_mgmt_baseband_state_get()

pwr_mgmt_mode_t pwr_mgmt_baseband_state_get | ( | void |  | ) |

Get the power state of baseband.

Return values

  | pwr_mgmt_mode_t

## ◆ pwr_mgmt_ble_wakeup()

void pwr_mgmt_ble_wakeup | ( | void |  | ) |

Wake the BLE core via an external request.

Return values

  | void

## ◆ pwr_mgmt_check_ble_event()

void pwr_mgmt_check_ble_event | ( | void |  | ) |

Check whether there are ble events in the queue, and if so, handle them immediately.

Return values

  | void

## ◆ pwr_mgmt_dev_init()

void pwr_mgmt_dev_init | ( | periph_func_t | p_periph_init | ) |

Peripheral Controller Initialization Register interface.

Parameters

  p_periph_init | : the pointer of device init function.

Returns
  void

## ◆ pwr_mgmt_dev_resume()

void pwr_mgmt_dev_resume | ( | void |  | ) |

Device config resume interface.

Returns
  void

## ◆ pwr_mgmt_dev_suspend()

pwr_mgmt_dev_state_t pwr_mgmt_dev_suspend | ( | void |  | ) |

Device config suspend interface.

Returns
  void

## ◆ pwr_mgmt_get_wakeup_flag()

boot_mode_t pwr_mgmt_get_wakeup_flag | ( | void |  | ) |

Get the current boot mode.

Return values

  | cold boot or warm boot.

## ◆ pwr_mgmt_init()

void pwr_mgmt_init | ( | pwr_table_t * | p_pwr_table,
|  | mcu_clock_type_t | sys_clk
| ) |  |

PMU Initialization Function.

Parameters

  p_pwr_table | : PMU parameter configuration table.
  sys_clk | : the clock of system

Returns
  void

## ◆ pwr_mgmt_load_context()

void pwr_mgmt_load_context | ( | void |  | ) |

Load context function.

Return values

  | void

## ◆ pwr_mgmt_mem_ctl_set()

void pwr_mgmt_mem_ctl_set | ( | uint32_t | mem_sleep_state,
|  | uint32_t | mem_work_state
| ) |  |

Mem state control under deep sleep & work state.

Parameters

  mem_sleep_state | : control in deep sleep.
  mem_work_state | : control in work state.

Returns
  void

## ◆ pwr_mgmt_mode_get()

pwr_mgmt_mode_t pwr_mgmt_mode_get | ( | void |  | ) |

Get the specified sleep mode.

Return values

  | pwr_mgmt_mode_t

## ◆ pwr_mgmt_mode_set()

void pwr_mgmt_mode_set | ( | pwr_mgmt_mode_t | pm_mode | ) |

Set the specified sleep mode. When the setting is completed, the system will automatically enter the specified sleep mode through the strategy.

Parameters

  [in] | pm_mode | : sleep level

Return values

  | void

## ◆ pwr_mgmt_register_trace_func()

void pwr_mgmt_register_trace_func | ( | trace_func_t | status_trace_func,
|  | trace_func_t | sched_trace_func
| ) |  |

Trace function register.

Parameters

  [in] | status_trace_func | Trace function.
  [in] | sched_trace_func | Trace function.

Return values

  | void

## ◆ pwr_mgmt_save_context()

void pwr_mgmt_save_context | ( | void |  | ) |

Save context function.

Return values

  | void

## ◆ pwr_mgmt_schedule()

void pwr_mgmt_schedule | ( | void |  | ) |

Sleep Policy Scheduling Function. Note that this function is only available in environments where non-RTOS is used, and that users can only execute it while in main.c.

Return values

  | void

## ◆ pwr_mgmt_set_callback()

void pwr_mgmt_set_callback | ( | pwr_dev_check_func_t | dev_check_fun,
|  | pwr_before_sleep_func_t | before_sleep_fun
| ) |  |

Set PMU callback function.

Parameters

  dev_check_fun | : Device check callback function.
  before_sleep_fun | : Pre-execution callback function for deep sleep.

Returns
  void

## ◆ pwr_mgmt_set_wakeup_flag()

void pwr_mgmt_set_wakeup_flag | ( | boot_mode_t | boot_mode | ) |

Mark the mode of next boot, cold boot or warm boot.

Parameters

  [in] | boot_mode | : cold boot or warm boot.

Return values

  | void

## ◆ pwr_mgmt_shutdown()

pwr_mgmt_mode_t pwr_mgmt_shutdown | ( | void |  | ) |

This function allows ARM to enter deep sleep mode, but users should not use this function directly. Note that this function is only available in environments where non-RTOS is used, and that users can only execute it while in main.c.

Return values

  | pwr_mgmt_mode_t

## ◆ pwr_mgmt_sleep()

uint8_t pwr_mgmt_sleep | ( | void |  | ) |

shutdown power in rtos mode

Return values

  PMR_MGMT_SUCCESS | wakeup from shutdown mode.
  PMR_MGMT_FAIL | some condition refuse system enter shutdown mode.

## ◆ pwr_mgmt_ultra_sleep()

void pwr_mgmt_ultra_sleep | ( | uint32_t | time_ms | ) |

Execution of this function allows ARM to enter the ultra sleep state and wakeup the chip when an event occurs.

Parameters

  time_ms | : Specifies the wake-up time during ultra sleep. If time_ms is equal to 0, then sleep timer will not be enabled. This parameter must be a number between min_value = 0 and max_value = 131071999. If time_ms bigger than 131071999, then 131071999 will be used.

Return values

  | void

## ◆ pwr_mgmt_wfe_sleep()

void pwr_mgmt_wfe_sleep | ( | void |  | ) |

Execution of this function allows ARM to enter the WFE state and exit the WFE state when an event or interrupt occurs.

Return values

  | void