合宙Air724UG LuatOS-Air core API--pmd

文章介绍了PMD电源管理接口的几个关键函数,包括pmd.init用于初始化电源管理,pmd.ldoset用于设置LDO电压等级来控制不同模块的电源,pmd.sleep用于进入或退出省电模式,以及pmd.param_get用于获取电池状态信息。示例代码展示了如何使用这些函数来实现电源管理和监控。
摘要由CSDN通过智能技术生成

Table of Contents
pmd
pmd.init({})
pmd.ldoset(level,id1,[id2],…[idn])
pmd.sleep(value)
pmd.param_get()
pmd
电源管理接口 ldo 控制,省电管理

pmd.init({})
pmd初始化

参数

参数 类型 释义 取值
{} table 初始化配置,参数直接传入一个空表{}
返回值

返回值 类型 释义 取值
result number 1/0 1:表示成功,0:表示失败
例子

rtos.on(rtos.MSG_PMD,function(msg)
if msg then
    --msg.voltage:number类型,vbat端的电池电压,单位毫伏
    --msg.level:vbat端电池电量百分比,core按照线性比例,计算出来的一个百分比,值为(msg.voltage-3400)*100/(4200-3400)
    --           如果满足不了自己的需求,可以根据msg.voltage自行计算百分比
    --msg.charger:usb vbus连接状态,true为连接,false为未连接
    --msg.state:充电状态,因Cat.1模块内部不支持充电管理功能,故此值无意义
    log.info("rtos.MSG_PMD",msg.level,msg.voltage,msg.charger,msg.state)
    
    --当level为255时,表示此条消息无意义,直接丢弃,不要做任何处理
    if msg.level==255 then return end
    
    --TODO:此处添加自己的业务逻辑代码
    
end

end)
–初始化配置,参数直接传入一个空表{}
pmd.init({})

pmd.ldoset(level,id1,[id2],…[idn])
ldo控制

参数

参数 类型 释义 取值
level number ldo 亮度 取值范围0-15
id1 number 要设置的第一个 ldo 取值pmd.LDO_VLCD/pmd.LDO_VMMC/pmd.LDO_VSIM1/pmd.LDO_VCAMA/pmd.LDO_VCAMD/pmd.LDO_VBACKLIGHT_R/pmd.LDO_VBACKLIGHT_G/pmd.LDO_VBACKLIGHT_B/pmd.LDO_VBACKLIGHT_W/pmd.LDO_HMICBIAS/pmd.LDO_FLASHIB
id2 number 要设置的第二个 ldo 取值pmd.LDO_VLCD/pmd.LDO_VMMC/pmd.LDO_VSIM1/pmd.LDO_VCAMA/pmd.LDO_VCAMD/pmd.LDO_VBACKLIGHT_R/pmd.LDO_VBACKLIGHT_G/pmd.LDO_VBACKLIGHT_B/pmd.LDO_VBACKLIGHT_W/pmd.LDO_HMICBIAS/pmd.LDO_FLASHIB
idn number 要设置的第一个 ldo 取值pmd.LDO_VLCD/pmd.LDO_VMMC/pmd.LDO_VSIM1/pmd.LDO_VCAMA/pmd.LDO_VCAMD/pmd.LDO_VBACKLIGHT_R/pmd.LDO_VBACKLIGHT_G/pmd.LDO_VBACKLIGHT_B/pmd.LDO_VBACKLIGHT_W/pmd.LDO_HMICBIAS/pmd.LDO_FLASHIB
返回值

例子

–[[
一旦设置了某一个电压域的电压等级,受该电压域控制的所有GPIO的高电平都与设置的电压等级一致
LDO_VLCD
LDO_VSIM1
LDO_VCAMA
level范围0-15 其中0表示关闭其余值满足下面公式
step=9level 当step大于127时为127
level对应的电压=1612.5mv+step
12.5mv

LDO_VMMC
level范围0-15 其中0表示关闭其余值满足下面公式
step=9level 当step大于127时为127
level对应的电压=1612.5mv+step
12.5mv

LDO_VCAMD
level范围0-15 其中0表示关闭其余值满足下面公式
step=9level 当step大于127时为127
level对应的电压=1400mv+step
12.5mv

LDO_HMICBIAS
level范围0-15 其中0表示关闭,其余值对应的电压如下所示
1 = 2.2V
2 = 2.4V
3 = 2.5V
4 = 2.6V
5 = 2.7V
6 = 2.8V
7 = 2.9V
8 = 3.0V

8=3.0V


LDO_VBACKLIGHT_R --> 对应硬件手册管脚名RGB_IB0
LDO_VBACKLIGHT_G --> 对应硬件手册管脚名RGB_IB1
LDO_VBACKLIGHT_B --> 对应硬件手册管脚名RGB_IB2
LDO_VBACKLIGHT_W --> 对应硬件手册管脚名RGB_IB3
level范围0-15 其中0表示关闭其余值满足下面公式
step=4level+3
level对应的电流=1.68mA+step
0.84mA

LDO_FLASHIB
level范围0-15
level对应的电流=15mA+level*15mA

]]
pmd.ldoset(7,pmd.VSIM1)

详细指南:指南

pmd.sleep(value)
省电控制

参数

参数 类型 释义 取值
value number 1 - 进入睡眠,0 - 退出睡眠 1/0
返回值

此API仅推荐给lib脚本使用,不推荐用户应用脚本使用;
用户应用脚本可以直接使用pm API,链接为:pm.sleep

pmd.param_get()
电池状态查询

参数

返回值

返回值 类型 释义 取值
battStatus bool 电池是否在位 true:在位 false:不在位
battVolt number 电池电压 单位mv
battLevel number 电池电压 百分比
chargerStatus bool 是否在充电 true:在充电 false:不在充电
chargeState number 充电状态 1:正在充电 2:充电结束
此API仅推荐给lib脚本使用,不推荐用户应用脚本使用;
用户应用脚本可以直接使用miscAPI,链接为:misc.getVbatt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l531798151

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值