剛入門充電管理的新手也能變高手!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 代碼示例


今天的內容就分享到這里了~
審核編輯 黃宇
-
嵌入式
+關注
關注
5198文章
20442瀏覽量
333986
發布評論請先 登錄
探索PTN3222CUK-EVB演示板:從入門到精通
阻抗計算從入門到精通
從“繳費痛點”到“智能閉環”,預付費電表開啟電力管理新模式
Altium Designer電路設計從入門到精通
入門到精通:電商API的全棧開發指南
從入門到精通:exchg充電庫助新手攻克續航與管理雙痛點
評論