新手必学!exchg扩展库:充电管理傻瓜化,续航焦虑不再有
不懂充电策略?exchg让管理变简单!傻瓜式操作界面搭配智能调度,自动分配电量、规避充电冲突,即使新手也能轻松掌控设备续航,彻底摆脱电量焦虑与管理混乱!
本文主要分享exchg扩展库的相关函数说明及代码示例,实际开发中可结合LuatOS生态灵活运用。
注意:开启充电exchg.start()和关闭充电exchg.stop()默认自动执行,可以不用操作;当碰到某些需要手动关闭或开启充电功能的场景时,大家可以自行控制,当前仅为预留。
扩展库最新资料详见:
https://docs.openluat.com/osapi/ext/exchg/
一、exchg.start()
1.1 函数功能
用于开启充电;
必须在task中运行,最大阻塞时间大概为700ms,阻塞主要由sys.waitUntil("YHM27XX_REG", 500)和sys.wait(200)产生。
1.2 参数说明
参数:无;
返回值:boolean:true=成功,false=失败。
1.3 代码示例
二、exchg.stop()
2.1 函数功能
用于关闭充电;
必须在task中运行,最大阻塞时间大概为700ms,阻塞主要由sys.waitUntil("YHM27XX_REG", 500)和sys.wait(200)产生。
2.2 参数说明
参数:无;
返回值:boolean:true=成功,false=失败。
2.3 代码示例
三、exchg.setup(v_battery, cap_battery, i_charge)
3.1 函数功能
用于设置电池的充电截止电压/电池容量/充电电流;
必须在task中运行,最大阻塞时间大概为700ms,阻塞主要由sys.waitUntil("YHM27XX_REG", 500)和sys.wait(200)产生。
3.2 参数说明
v_battery:number,电池充电截止电压(单位:mV);取值范围:4200或4350可选, 必须传入。
cap_battery:number,电池容量(单位:mAh);取值范围:>= 100,必须传入。
i_charge:string,充电电流;
取值范围:exchg.CCMIN(最小电流)exchg.CCDEFAULT(默认电流) exchg.CCMAX(最大电流)三个可选参数,不传入时默认值为exchg.CCDEFAULT。
返回值:boolean:true=成功,false=失败。
3.3 代码示例
四、exchg.status()
4.1 函数功能
获取充电系统状态信息,必须在task中运行,最大阻塞时间(包括超时重试时间)大概为20s。
该函数用于获取当前充电系统的完整状态,包括电池电压、充电阶段、充电状态、电池在位状态、充电器在位状态以及IC过热状态等信息。
其中充电器是否在位,中断触发,触发回调事件为:
CHARGER_STATE_EVENT,附带的参数true表示充电器在位,false表示充电器不在位。
4.2 参数说明
参数:无;
返回值:table,状态信息表。
4.3 状态信息表
五、exchg.on(func)
5.1 函数功能
该函数用于注册exchg事件回调。
5.2 参数说明
参数:function,回调方法;
回调时传入参数有:exchg.OVERHEATexchg.CHARGER_INexchg.CHARGER_OUT
返回值:nil,无返回值。
5.3 代码示例
今天的内容就分享到这里了~