zoukankan      html  css  js  c++  java
  • ap143 添加复位和重启按钮

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

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

        #define AP143_GPIO_BTN_RESET 12

       添加按钮的初始化消息

       

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

      

    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"),
    };

  • 相关阅读:
    Java学习:冒泡排序和选择排序
    Java学习:多态
    Java学习:抽象类与接口
    Java学习:继承
    Java学习:标准类
    Java学习:方法简介
    传参的本质
    new 关键字做的事
    一个引用类型的对象占多大堆空间
    栈中空间大小
  • 原文地址:https://www.cnblogs.com/rohens-hbg/p/5736641.html
Copyright © 2011-2022 走看看