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

ap143 添加复位和重启按钮的更多相关文章

  1. Android标题栏上添加多个Menu按钮

    最近项目中碰到要在Android Menu旁边再添加一个按钮,而不是点击menu按钮然后在弹出一些选项. MainActivity代码: public class MainActivity exten ...

  2. magento产品成功添加到购物车后跳转到不同页面 添加 add to cart 按钮

    1 添加产品到购物车成功后是跳转到购物车页面或不跳转.这个在后台可以设置 system -> configuration -> After Adding a Product Redirec ...

  3. 如何为 Drupal 7 网站添加悬浮的反馈按钮?

    最近有客户咨询我们要怎么为 Drupal 网站添加悬浮按钮,方便访客能够链接到反馈表单页面.很幸运,使用 Feedback Simple 模块可以很容易实现. 在这篇短教程中,我将和大家分享如何添加链 ...

  4. 6. 添加messager.alert()确定按钮的回调函数,即点完确定按钮后触发的事件

    添加messager.alert()确定按钮的回调函数,即点完确定按钮后触发的事件: $.messager.alert('提示信息', "请联系管理员处理!", 'info', f ...

  5. CentOS 6.4 php-fpm 添加service 添加平滑启动/重启

    nginx通过FastCGI运行PHP比Apache包含PHP环境有明显的优势,最近有消息称,PHP5.4将很有可能把PHP-FPM补丁包含在内核里,nginx服务器平台上运行PHP将更加轻松,下面我 ...

  6. WPF实用指南一:在WPF窗体的边框中添加搜索框和按钮

    原文:WPF实用指南一:在WPF窗体的边框中添加搜索框和按钮 在边框中加入一些元素,在应用程序的界面设计中,已经开始流行起来.特别是在浏览器(Crome,IE,Firefox,Opera)中都有应用. ...

  7. UUShutdown关机工具 - 给 Windows8.1Metro 开始屏幕添加 关机重启按钮

    UUShutdown,给开始屏幕(开始菜单)添加重启关机等按钮 如图: 安装完成之后找到开始菜单程序文件夹中的快捷方式,附加到开始屏幕即可. 2.0加入主程序界面,支持换肤和定时: 看见的需要那就拿去 ...

  8. jquery添加的html元素按钮为什么不执行类样式绑定的click事件

    代码举例: 更多按钮: <input type="button" class="addMore" id="addMore${issue.id } ...

  9. Easy-UI 动态添加DataGrid的Toolbar按钮

    在前人的基础上进行的修改,不知道他是从哪里引用来的,所以没有粘贴引用地址. 原代码不支持1.3.6. 修改功能: 1.如果之前没有添加过工具,用这个方法不能添加(已修复): 2.估计是不支持1.3.6 ...

随机推荐

  1. HttpRuntime详解分析

    HttpRuntime详解分析(上) 文章内容 从上章文章都知道,asp.net是运行在HttpRuntime里的,但是从CLR如何进入HttpRuntime的,可能大家都不太清晰.本章节就是通过深入 ...

  2. Android最新支持包Design简介

    Android 5.0 Lollipop是曾经最著名的Android发布之一,这样说很大一部分原因是材料设计的引入,而材料设计则是一种刷新了整个Android体验的设计语言.这个详细说明是开始适应材料 ...

  3. 【转】GIT和SVN之间的五个基本区别

    如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 ...

  4. java使用javamail读取邮箱(收件箱为例)

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import ...

  5. key-list类型内存数据引擎介绍及使用场景

    “互联网数据目前基本使用两种方式来存储,关系数据库或者key value.但是这些互联网业务本身并不属于这两种数据类型,比如用户在社会化平台中的关系,它是一个list,如果要用关系数据库存储就需要转换 ...

  6. 记录下自己写的gulp打包脚本

    var c = { rootPath: 'src',//项目文件夹 outputPath: 'output',//文件编译后的输出目录 revPath: 'manifest',//rev映射文件目录 ...

  7. java并发之固定对象与实例

    java并发之固定对象与实例 Immutable Objects An object is considered immutable if its state cannot change after ...

  8. Centos 5上使用YUM安装GIT

    网上搜索的基本上都是一样的内容 1.先安装git依赖的包 yum install zlib-devel yum install openssl-devel yum install perl yum i ...

  9. Android 短信模块分析(四) MMS之短信的发送与接收

     MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { . ...

  10. 350 - Pseudo-Random Numbers

     Pseudo-Random Numbers  Computers normally cannot generate really random numbers, but frequently are ...