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

  • 相关阅读:
    linux驱动模板
    Matlab的安装
    级数模型
    多元思维
    一级指针和二级指针
    Biology 053: Visualization of Digestive Enzymes
    Biology 052: Digestion Experiment
    Biology 06: Metabolism and Nutrition
    线性回归之电力预测
    python之产生随机数
  • 原文地址:https://www.cnblogs.com/rohens-hbg/p/5736641.html
Copyright © 2011-2022 走看看