红外遥控
1. 简介
Omni3576 的红外传感器默认连接的是 PWM0_CH0_M0 引脚下,本小节主要描述如何测试和配置红外遥控。红外接收器位于 Omni3576 电源接口旁侧。
2. 测试
查看输入事件设备,其中
pwm-event对应的就是红外遥控。root@luckfox:/home/luckfox# ls -l /dev/input/by-path/
total 0
lrwxrwxrwx 1 root root 9 Oct 17 06:47 platform-27330000.pwm-event -> ../event0
lrwxrwxrwx 1 root root 9 Oct 17 06:47 platform-2ac40000.i2c-platform-rk805-pwrkey.2.auto-event -> ../event1
lrwxrwxrwx 1 root root 9 Oct 17 06:47 platform-dp0-sound-event -> ../event3
lrwxrwxrwx 1 root root 9 Oct 17 06:47 platform-wireless-bluetooth-event -> ../event2
lrwxrwxrwx 1 root root 9 Oct 17 06:47 platform-xhci-hcd.0.auto-usb-0:1.4:1.0-event-kbd -> ../event4
lrwxrwxrwx 1 root root 9 Oct 17 06:47 platform-xhci-hcd.0.auto-usb-0:1.4:1.1-event -> ../event6获取红外遥控键值。
echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print- 调试串口会打印出红外遥控的按键值,ADB 和 SSH 等终端需要使用
dmesg命令查看
- 调试串口会打印出红外遥控的按键值,ADB 和 SSH 等终端需要使用
3. 设备树简介
设备文件路径位于
kernel-6.1/arch/arm64/boot/dts/rockchip/luckfox-omni3576.dts,开启IR的代码片段如下:&pwm0_2ch_0 {
//compatible = "rockchip,remotectl-pwm";
compatible = "rockchip,remotectl-pwm-v4";
status = "okay";
pinctrl-0 = <&pwm0m0_ch0>;
pinctrl-names = "default";
//interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
remote_pwm_id = <3>;
handle_cpu_id = <1>;
remote_support_psci = <0>;
ir_key_luckfox{
rockchip,usercode = <0xff00>;
rockchip,key_table =
<0xb7 KEY_BACK>,
<0xe9 KEY_UP>,
<0xe8 KEY_DOWN>,
<0xe6 KEY_LEFT>,
<0xe7 KEY_RIGHT>,
<0x6b KEY_HOME>,
<0xbb KEY_VOLUMEUP>,
<0xbc KEY_VOLUMEDOWN>,
<0xf2 KEY_POWER>,
<0xea KEY_ENTER>,
<0xeb KEY_MENU>;
};
};