Loading...

PXA270 在 keypad 所遇到的問題及解決方法如下:

  1. 我們實驗平台缺少 keypad driver,解決方法為新增我們實驗平台的 keypad driver(參考linux-2.6.25-android-1.0_r1/drivers/input/keyboard/pxa27x_keypad.c,並作大幅度的修改)。
  2. 我們實驗平台僅有 4×4 matrix key,解決方法為使用組合鍵來擴增按鍵數,但儘管使用組合建的方式,按鍵數還是不夠,所以我們只選取某些特定或重要的按鍵值,而忽略部分按鍵值。
  3. 我們實驗平台的 keypad 沒有硬體中斷,解決方法為使用 polling 的方式,但是我們考量低功耗及電源管理在行動裝置上是一項值得探討的議題,因此我們實作一個有效的演算法來偵測 keypad 被按壓的情形,並適當地降低 polling 頻率以達到降低功耗及省電的效果。如何在 keypad 被按壓時能夠即時反應,反之降低 polling 的頻率以減少耗電量?我們使用一個簡單的演算法,當keypad 被按壓時,我們將 polling 的時間間隔設定成我們預設的最小間隔,在可能被按壓的時間區塊中集中偵測,但是如果在間隔時間內未被按壓,我們將逐步增加 polling 的時間間隔直到我們預設的最大時間間隔,如此在被按壓可能性較小的時間區塊中達到省電的效果。
Loading...