新手必学!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 代码示例

image

二、exchg.stop()

2.1 函数功能

用于关闭充电;

必须在task中运行,最大阻塞时间大概为700ms,阻塞主要由sys.waitUntil("YHM27XX_REG", 500)和sys.wait(200)产生。

2.2 参数说明

参数:无;

返回值:boolean:true=成功,false=失败。

2.3 代码示例

image

三、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 代码示例

image

四、exchg.status()

4.1 函数功能

获取充电系统状态信息,必须在task中运行,最大阻塞时间(包括超时重试时间)大概为20s。

该函数用于获取当前充电系统的完整状态,包括电池电压、充电阶段、充电状态、电池在位状态、充电器在位状态以及IC过热状态等信息。

其中充电器是否在位,中断触发,触发回调事件为:

CHARGER_STATE_EVENT,附带的参数true表示充电器在位,false表示充电器不在位。

4.2 参数说明

参数:无;

返回值:table,状态信息表。

4.3 状态信息表

image

五、exchg.on(func)

5.1 函数功能

该函数用于注册exchg事件回调。

5.2 参数说明

参数:function,回调方法;

回调时传入参数有:exchg.OVERHEATexchg.CHARGER_INexchg.CHARGER_OUT

返回值:nil,无返回值。

5.3 代码示例

image

image

今天的内容就分享到这里了~

posted @ 2025-09-10 16:43  电子老师傅  阅读(3)  评论(0)    收藏  举报