luat_soc_sdk_2024 V1.0
|
宏定义 | |
#define | LUAT_PM_SLEEP_MODE_NONE 0 |
#define | LUAT_PM_SLEEP_MODE_IDLE 1 |
#define | LUAT_PM_SLEEP_MODE_LIGHT 2 |
#define | LUAT_PM_SLEEP_MODE_DEEP 3 |
#define | LUAT_PM_SLEEP_MODE_STANDBY 4 |
#define | LUAT_PM_POWER_MODE_NORMAL (0) |
去除所有降低功耗的措施 | |
#define | LUAT_PM_POWER_MODE_HIGH_PERFORMANCE (1) |
尽可能保持性能,兼顾低功耗,使用LUAT_PM_SLEEP_MODE_LIGHT | |
#define | LUAT_PM_POWER_MODE_BALANCED (2) |
性能和功耗平衡,使用LUAT_PM_SLEEP_MODE_LIGHT | |
#define | LUAT_PM_POWER_MODE_POWER_SAVER (3) |
超低功耗,使用LUAT_PM_SLEEP_MODE_STANDBY,进入PSM模式 | |
类型定义 | |
typedef enum LUAT_PM_POWERON_REASON | LUAT_PM_POWERON_REASON_E |
开机原因 | |
函数 | |
int | luat_pm_request (int mode) |
请求进入指定的休眠模式 | |
int | luat_pm_release (int mode) |
退出休眠模式 | |
int | luat_pm_dtimer_start (int id, size_t timeout) |
启动底层定时器,在休眠模式下依然生效. 只触发一次 | |
int | luat_pm_dtimer_stop (int id) |
停止底层定时器 | |
int | luat_pm_dtimer_check (int id) |
检查底层定时器运行状态 | |
int | luat_pm_last_state (int *lastState, int *rtcOrPad) |
唤醒原因,用于判断是从开机是否是由休眠状态下开机/唤醒 | |
int | luat_pm_force (int mode) |
强制进入指定的休眠模式,忽略某些外设的影响,比如USB | |
int | luat_pm_check (void) |
检查休眠状态 | |
int | luat_pm_dtimer_list (size_t *count, size_t *list) |
获取所有深度休眠定时器的剩余时间,单位ms | |
int | luat_pm_dtimer_wakeup_id (int *id) |
获取唤醒定时器id | |
int | luat_pm_poweroff (void) |
关机 | |
int | luat_pm_reset (void) |
重启 | |
int | luat_pm_power_ctrl (int id, uint8_t val) |
开启内部的电源控制,注意不是所有的平台都支持,可能部分平台支持部分选项,看硬件 | |
int | luat_pm_get_poweron_reason (void) |
开机原因 | |
int | luat_pm_iovolt_ctrl (int id, int val) |
设置IO电压域的电平 | |
int | luat_pm_wakeup_pin (int pin, int val) |
配置唤醒引脚,只针对esp系列 | |
int | luat_pm_set_power_mode (uint8_t mode, uint8_t sub_mode) |
设置联网低功耗模式,等同于AT+POWERMODE | |
uint32_t | luat_pm_dtimer_remain (int id) |
深度休眠定时器剩余时间,单位ms | |
#define LUAT_PM_POWER_MODE_HIGH_PERFORMANCE (1) |
#define LUAT_PM_POWER_MODE_POWER_SAVER (3) |
typedef enum LUAT_PM_POWERON_REASON LUAT_PM_POWERON_REASON_E |
开机原因
anonymous enum |
anonymous enum |
开机原因
int luat_pm_check | ( | void | ) |
检查休眠状态
int luat_pm_dtimer_check | ( | int | id | ) |
检查底层定时器运行状态
id | 定时器id, 通常为0-3 |
int luat_pm_dtimer_list | ( | size_t * | count, |
size_t * | list ) |
获取所有深度休眠定时器的剩余时间,单位ms
count | [OUT]定时器数量 |
list | [OUT]剩余时间列表 |
uint32_t luat_pm_dtimer_remain | ( | int | id | ) |
深度休眠定时器剩余时间,单位ms
id | 定时器ID |
int luat_pm_dtimer_start | ( | int | id, |
size_t | timeout ) |
启动底层定时器,在休眠模式下依然生效. 只触发一次
id | 定时器id, 通常为0-3 |
timeout | 定时时长, 单位毫秒 |
int luat_pm_dtimer_stop | ( | int | id | ) |
停止底层定时器
id | 定时器id, 通常为0-3 |
int luat_pm_dtimer_wakeup_id | ( | int * | id | ) |
获取唤醒定时器id
id | 唤醒的定时id |
int luat_pm_force | ( | int | mode | ) |
强制进入指定的休眠模式,忽略某些外设的影响,比如USB
mode | 休眠模式 见LUAT_PM_SLEEP_MODE_XXX |
int luat_pm_get_poweron_reason | ( | void | ) |
开机原因
int luat_pm_iovolt_ctrl | ( | int | id, |
int | val ) |
设置IO电压域的电平
id | 电压域ID,移芯平台忽略 |
val | 期望的电平值,单位mv |
int luat_pm_last_state | ( | int * | lastState, |
int * | rtcOrPad ) |
唤醒原因,用于判断是从开机是否是由休眠状态下开机/唤醒
lastState | 0-普通开机(上电/复位),3-深睡眠开机,4-休眠开机 |
rtcOrPad | 0-上电/复位开机, 1-RTC开机, 2-WakeupIn/Pad/IO开机, 3-Wakeup/RTC开机 |
int luat_pm_power_ctrl | ( | int | id, |
uint8_t | val ) |
开启内部的电源控制,注意不是所有的平台都支持,可能部分平台支持部分选项,看硬件
id | 电源控制id, 见LUAT_PM_POWER_XXX |
val | 开关true/1开,false/0关,默认关,部分选项支持数值 |
int luat_pm_poweroff | ( | void | ) |
关机
int luat_pm_release | ( | int | mode | ) |
退出休眠模式
mode | 休眠模式 见LUAT_PM_SLEEP_MODE_XXX |
int luat_pm_request | ( | int | mode | ) |
请求进入指定的休眠模式
mode | 休眠模式 见LUAT_PM_SLEEP_MODE_XXX |
int luat_pm_reset | ( | void | ) |
重启
int luat_pm_set_power_mode | ( | uint8_t | mode, |
uint8_t | sub_mode ) |
设置联网低功耗模式,等同于AT+POWERMODE
低功耗主模式 | 见LUAT_PM_POWER_MODE_XXX |
预留,低功耗次级模式,当主模式设置成LUAT_PM_POWER_MODE_BALANCED,可以微调功耗模式,当前不可用 |
int luat_pm_wakeup_pin | ( | int | pin, |
int | val ) |
配置唤醒引脚,只针对esp系列
pin | 引脚 |
val | 电平 |