最近遇到一個IEEE1725的驗證,
1. 先介入Battery,再接入power,要求不能正常充電;先接入power,再接入Battery,要求不能正常充電;
2. 擋住NTC pin,要求停止充電;拔掉擋片,要求恢復充電;
看第二條;擋住NTC pin,則被認爲電池不在(qcom 8909平臺),這個時候,healthd的狀態是COLD;temp是25°,默認值;而電池的狀態則是discharging,但是看AC adapter上,有1A的電流往手機裏灌;
分析,電池的狀態顯示有兩個,一個是status,一個是是否有充電器插入;閃電圖標表示有充電器插入,並非表示在充電,而status表示電池的充電狀態,discharging,charging,full;電池的health狀態,應該是上層顯示時,來下層讀取的;而是否要disable charging,我是說真正的斷開電流,則需要設置;狀態的改變只是被某個事件觸發了,改變了狀態,而起底層硬件狀態則需要設置;問題恰恰出在這裏;我們擋掉了NTC pin,charger芯片反饋的結果就是remove Battery,但是remove Battery之後,有沒有去設置充電電流呢? 流程中是沒有的