說明文件

MA35D1 LED Button Control

MA35D1 LED Button Control

控制LED燈 亮滅

直接控制以下節點就可以

# ls
# cat /sys/class/leds/LED
LED0/  LED2/
# cat /sys/class/leds/LED0/brightness
0
# cat /sys/class/leds/LED2/brightness
0

blog圖片的連結

# echo 1 > /sys/class/leds/LED0/brightness
# cat /sys/class/leds/LED0/brightness
1
# echo 1 > /sys/class/leds/LED2/brightness
# cat /sys/class/leds/LED0/brightness

blog圖片的連結

控制 BTN

要控制 BTN 前,可以先確認板子上的button 是不是 work的情況

可以使用跟上面LED一樣,去cat看看button

# cat /dev/input/event1

這個時候你去按板子上3個button,可以看到terminal會有亂碼跑出來,分別按三個都會各自跑出亂碼,如下圖所示:

blog圖片的連結

分別按三個都會各自跑出亂碼,(你會發現跑的亂碼沒有規律,以為案同一個鍵會跑出一樣的pattern。 並不會,這是正常的)

blog圖片的連結

# cat /dev/input/event1 #這個是button的
# cat /dev/input/event0 #這個是pannel的



evtest SW Tool

Buildroot 通用的Tool,evtest這個software Tool,可以用來區分你按下去的button

要測試按鈕(button)的狀態,你需要查看類似於LED的設備文件(Device File)或者介面(Interface)來讀取按鈕的狀態。這些文件通常位於 /sys 目錄下的特定位置。首先,你需要找到你的按鈕對應的設備文件位置,然後讀取它的值來確定按鈕的狀態。

在 Linux 系統中,可以使用 evtest 工具來觀察和解讀輸入事件。

Buildroot 選取 evtest 工具,進入 Buildroot 設定界面:
make menuconfig
Target packages  --->
   Hardware handling  --->

blog圖片的連結

這邊有個註記,我在以上動作都build 完後,燒入SD卡,發現會無法進入系統,不確定什麼原因,但是我clean後就可以正常。
make clean 
make -j16
直接執行evtest就可以去測button
可以看到下圖,code 去分開3個不同的button,value 1代表被按下,value0 代表沒有按,value2 代表按住不放

blog圖片的連結

注意 : touch pannel 也可以用這個evtest去測試,如下圖:

blog圖片的連結

comments powered by Disqus