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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值