1、修改匹配的文件mach-ap143.c

    定义按键对应的GPIO(根据原理图来)

    #define AP143_GPIO_BTN_RESET 12

   添加按钮的初始化消息

    ap143 添加复位和重启按钮

   注册定时轮询按钮动作的函数

   ap143 添加复位和重启按钮

 

2、 修改按钮功能实现时间

     文件位于 /etc/rc.button/reset 文件中

    

#!/bin/sh

[ "${ACTION}" = "released" ] || exit 0

. /lib/functions.sh

logger "$BUTTON pressed for $SEEN seconds"

if [ "$SEEN" -lt 1 ]             
 echo "REBOOT" > /dev/console
 sync
 reboot
elif [ "$SEEN" -gt 5 ]
then
 echo "FACTORY RESET" > /dev/console
 jffs2reset -y && reboot &
fi

按按键小于1秒,则重启; 大于5秒,则执行恢复出厂设置。

 

 

附录:

  package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c 中

  定义了bh_map组

static struct bh_map button_map[] = {
 BH_MAP(BTN_0,  "BTN_0"),
 BH_MAP(BTN_1,  "BTN_1"),
 BH_MAP(BTN_2,  "BTN_2"),
 BH_MAP(BTN_3,  "BTN_3"),
 BH_MAP(BTN_4,  "BTN_4"),
 BH_MAP(BTN_5,  "BTN_5"),
 BH_MAP(BTN_6,  "BTN_6"),
 BH_MAP(BTN_7,  "BTN_7"),
 BH_MAP(BTN_8,  "BTN_8"),
 BH_MAP(BTN_9,  "BTN_9"),
 BH_MAP(KEY_POWER, "power"),
 BH_MAP(KEY_RESTART, "reset"),        // 此个为我们所需要的重启或恢复出厂,对应mach-ap143.c中初始化使用
 BH_MAP(KEY_RFKILL, "rfkill"),
 BH_MAP(KEY_WPS_BUTTON, "wps"),
 BH_MAP(KEY_WIMAX, "wwan"),
};

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
  • 2021-04-08
  • 2021-11-08
  • 2021-06-28
  • 2021-08-19
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2021-05-05
  • 2022-02-12
  • 2022-12-23
相关资源
相似解决方案