應(yīng)用背景
隨著紅外線設(shè)備的應(yīng)用日益廣泛,例如遙控器和紅外傳感器等。而RK3399作為一款高性能處理器,廣泛應(yīng)用于電視盒子等智能終端。通過將紅外遙控功能與 RK3399 電視盒子結(jié)合,用戶能夠高效地控制電視設(shè)備。極大的提升了用戶體驗(yàn)。
iTOP-RK3399平臺(tái)介紹
紅外遙控方案示例
iTOP-RK3399 開發(fā)板搭載了HS0038B 紅外接收模塊。接下來我們?cè)赗K3399開發(fā)板 Android8系統(tǒng)上適配紅外遙控。
01-獲取USERCODE和KEY值
開發(fā)板里面燒寫Android8系統(tǒng),然后在串口終端輸入以下命令使能DBG_CODE 打印
echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print
在遙控器上按下任意按鍵,可以看到類似如下信息:
從上圖發(fā)現(xiàn)這個(gè)遙控的 usercode是0xdd22,用以標(biāo)識(shí)遙控種類。RMC_GETDATA 表示鍵值。
我們選取遙控器上的幾個(gè)按鈕作為示例,分別測(cè)出如下圖所示的按鍵的鍵值。
02-修改設(shè)備樹打開PWM
首先查看開發(fā)板底板的原理圖如下圖所示:
然后在核心板原理圖搜索“IR_RX”,如下圖所示,對(duì)應(yīng)的引腳是GPIO0_A6/PWM3A_IR_d
然后查找設(shè)備樹itop-3399.dtsi文件,路徑為:itop-3399_8.1/kernel/arch/arm64/boot/dts/rockchip/itop-3399.dtsi
在此文件中的pwm3節(jié)點(diǎn)添加鍵值,如下圖所示:
我們來分析一下這個(gè)節(jié)點(diǎn),如下表所示:
itop-3399_8.1/kernel/include/dt-bindings/input/rk-input.h文件如下圖所示:
03-Android鍵值映射
在修改了步驟二的設(shè)備樹后,重新編譯Android源碼,編譯完成會(huì)在out目錄下生成編譯好的文件。itop-3399_8.1/out/target/product/rk3399_mid/system/usr/keylayout/ff420030_pwm.kl文件用于將 Linux 層獲取的鍵值映射到 Android 上對(duì)應(yīng)的鍵值。我們可以添加或者修改該文件的內(nèi)容以實(shí)現(xiàn)不同的鍵值映射。沒有的按鍵值,在按鍵時(shí),上層app收到的值是未知按鍵。我們添加示例的幾個(gè)按鍵的鍵值映射,如下圖所示:
中間的數(shù)字是功能碼對(duì)應(yīng)的數(shù)字,在itop-3399_8.1/kernel/include/dt-bindings/input/rk-input.h中查看。右側(cè)的是與上層對(duì)應(yīng)的關(guān)系,在frameworks/base/core/java/android/view/KeyEvent.java路徑可以查找到(例如:KEYCODE_DPAD_DOWN 只需要取后半部分就可以),如下圖所示:
修改完畢f(xié)f420030_pwm.kl文件,然后修改編譯腳本,將“make installclean”注釋掉,然后重新編譯Android8的鏡像,編譯完后,燒寫鏡像。
04-測(cè)試紅外遙控
燒寫鏡像以后,系統(tǒng)啟動(dòng)進(jìn)入Android系統(tǒng),我們打開系統(tǒng)自帶的“設(shè)置”APP,按遙控器上的上下鍵,可以移動(dòng)到對(duì)應(yīng)的選項(xiàng),按遙控器上的enter按鈕,可以選中選項(xiàng),按返回按鈕可以退回上一級(jí)目錄,按音量+ - 可以控制音量。
然后我們打開系統(tǒng)自帶的“通訊錄”APP,新建聯(lián)系人,在手機(jī)號(hào)的輸入框里面,用遙控器按下0-9 的數(shù)字,可以輸入,如下圖所示,以上測(cè)試說明3399支持紅外線接收。
-
遙控
+關(guān)注
關(guān)注
11文章
285瀏覽量
57355 -
紅外線
+關(guān)注
關(guān)注
14文章
619瀏覽量
56176 -
電視盒子
+關(guān)注
關(guān)注
1文章
159瀏覽量
19133
原文標(biāo)題:高清電視盒子方案分享 | 紅外遙控適配過程全解析
文章出處:【微信號(hào):迅為電子,微信公眾號(hào):迅為電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論