EG64X (RK3506) LED 与按键测试 —— 操作命令
==========================================

【例程简介】
   EG64X 提供 6 个用户 LED（LED_1~LED_6）与 1 个运行灯（LED_RUN），
   通过 /sys/class/leds 控制；提供用户按键 KEY，由内核 gpio-keys 驱动
   管理为 KEY_PROG1 功能键，通过输入子系统 /dev/input/event1 读取事件。
   本例程演示 LED 流水灯控制与按键按下/松开事件监听。

设备登录：ssh root@192.168.5.1（默认密码 123456，以设备实际 IP 为准，下同），
设备预装 gcc 11.4.0 可板上编译。

一、编译并运行 LED 例程
----------------------
1. 上传源码到设备：
   scp led_test.c root@192.168.5.1:/userdata/
2. 登录设备并编译：
   ssh root@192.168.5.1
   cd /userdata
   gcc led_test.c -o led_test
3. 运行（流水灯，每 500ms 切换，Ctrl+C 退出）：
   ./led_test

二、编译并运行按键例程
----------------------
1. 上传源码到设备：
   scp key_test.c root@192.168.5.1:/userdata/
2. 编译：
   ssh root@192.168.5.1
   cd /userdata
   gcc key_test.c -o key_test
3. 运行（按下/松开 KEY 打印事件，Ctrl+C 退出）：
   ./key_test
   提示：若收不到事件，先执行 cat /proc/bus/input/devices 确认按键节点
   （设备变体不同事件号可能不同），再用 ./key_test /dev/input/eventX 指定节点。

三、免编译快速测试（shell 命令）
-------------------------------
LED：
   echo 1 > /sys/class/leds/led1/brightness    # 点亮 LED_1（低电平点亮）
   echo 0 > /sys/class/leds/led1/brightness    # 熄灭 LED_1
   echo 1 > /sys/class/leds/led_run/brightness # 点亮运行灯 LED_RUN
   cat /sys/class/leds/led_run/trigger         # 查看运行灯触发模式
   echo heartbeat > /sys/class/leds/led_run/trigger   # 设为心跳模式
   echo none > /sys/class/leds/led_run/trigger        # 恢复手动控制

KEY：
   cat /proc/bus/input/devices                 # 确认按键事件节点
   cat /dev/input/event1 | hexdump             # 按下/松开各产生一条事件
   evtest /dev/input/event1                    # 若已安装 evtest，可交互查看

四、注意事项
------------
1. LED 与 KEY 引脚均已被内核驱动占用（leds / gpio-keys），不能使用
   gpio_control 或 sysfs export 直接操作，否则会报 "Failed to export GPIO"。
2. 按键 REC 为升级键：按住 REC + 上电进入 LOADER 模式，用于 RKDevTool
   升级，请勿在业务中占用。业务请使用 KEY 功能键。
3. LED 全部为低电平点亮（active_low）：写 1 亮，写 0 灭。
4. KEY 按下为低电平（默认高电平），去抖 50ms，通过输入子系统
   /dev/input/event1（KEY_PROG1）读取。
5. KEY 为瞬时按键，按下后约零点几秒即松开，例程会分别打印
   PRESSED（按下）与 RELEASED（松开）两条事件。
