客戶提出一個 issue,當插上 adapter 時,notification icon 的狀態改變太慢了
10 秒的時間差都有可能,尤其 S3 回來後,可能會延遲到 10 秒以上
因為不是我的案子,了解需求後,分析了一下,兩個問題:
和 mcu 之間是透過 i2c 溝通,這個介面硬體設計上有問題,硬體也找不到原因
總之,當初軟體的 workaround 就是加入了 Retry 的機制
再者,所有跟 Battery 有關的資訊都是跟 mcu 透過 i2c 要來的,即便 i2c 沒問題
(包括充電狀態、電壓、充電時間、剩餘時間等)
要作到真的即時的反應 adapter 的 plug-in 和 out 本來就會有些許 delay
去翻了硬體的電路圖,很幸運的是當初原廠的 Reference Design 在 AC In/Out 有拉 pin 腳到 AP
又很幸運的是可以觸發中斷,只是不知道為甚麼沒人要拿來用 ~>.<~
原本流程
request from userland -> kernel -> send command to mcu -> waiting for respond from mcu
修改流程
kernel -> send command to mcu(every 30 secs) -> waiting for respond from mcu
AC In/Out -> trigger interrupt -> update info
request from userland -> kernel -> respond information immediately
沒有留言:
張貼留言