新闻  |   论坛  |   博客  |   在线研讨会
收藏!exchg充电库:新手零基础攻克续航与管理终极难题
13673998452 | 2025-09-12 15:41:00    阅读:180   发布文章

零基础也能成为充电管理高手!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 代码示例

wKgZO2jBLIiAfiWXAAAxpQdcFBc139.png



二、exchg.stop()


2.1 函数功能

用于关闭充电;

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

2.2 参数说明

参数:无;

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

2.3 代码示例


wKgZO2jBLO-ARsKMAAAeKsNXONc958.png



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


wKgZO2jBLSOADAhPAABWFrp-NF0504.png


四、exchg.status()


4.1 函数功能

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

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

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

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

4.2 参数说明

参数:无;

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

4.3 状态信息表

wKgZPGjBLVWAHAgcAAGh3b7dBUU392.png



五、exchg.on(func)


5.1 函数功能

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

5.2 参数说明

参数:function,回调方法;

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

返回值:nil,无返回值。

5.3 代码示例

wKgZO2jBLYWAV9rOAADgHr1Yi88633.pngwKgZO2jBLZ-AQTVJAAI02hYahXY579.png


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


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客