RT5350 openwrt添加Reset按键,实现短按重启系统,长按复位系统
添加Reset按键,实现短按重启系统,长按复位系统
1、查看目前的gpio
cat /sys/kernel/debug/gpio
GPIOs 0-21, platform/10000600.gpio, 10000600.gpio:
gpio-0 (S1 ) in hi
显示系统已经添加S1按键
2、将S1改为reset按键,其中S1按键使用的是GPIO0管脚,高电平有效:
修改openwrt/trunk/target/linux/ramips/dts/MPRA2.dts这个配置文件:
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
wps {
label = "reset"; //由S1改为reset
gpios = <&gpio0 0 1>;
linux,code = <0x198>;
};
};
按键名称为 reset 按键值为 0x198。为什么是0x198呢?
查看按键驱动的源码 gpio-button-hotplug.c
可以看到一个结构体数组 button_map[] 。该数组对键值做了映射
3、当用户按下按钮时,驱动会向应用层发送事件,最终执行 /etc/rc.button/reset 这个脚本,对
应的内容如下:
#!/bin/sh
[ "${ACTION}" = "released" ] || exit 0
. /lib/functions.sh
logger "$BUTTON pressed for $SEEN seconds"
if [ "$SEEN" -lt 2 ]
then
echo "REBOOT" > /dev/console
sync
reboot
elif [ "$SEEN" -gt 5 ]
then
echo "zllgateway file data FACTORY RESET" > /dev/console
rm /zllgateway/*.dat
killall zllgateway
fi
当按下reset按键不超过 2s 时,会执行 reboot 重启命令
当按下reset按键超过 5s 时,则清除文件,并停止程序,重启程序
4、在/openwrt/trunk/files/etc/rc.button目录下添加上面的reset脚本,重新make编译系统
RT5350 openwrt添加Reset按键,实现短按重启系统,长按复位系统相关推荐
- 为mt7620 RT5350添加reset按键
openwrt 默认的 mt7620 rt5350 固件是不带 reset 引脚功能.需要我们自己去修改 dts 文件,增加 reset 引脚. 第一步先添加按键驱动: Symbol: PACKAGE ...
- [OpenWrt] reset按键处理流程(hotplug)
OpenWrt reset按键处理流程(hotplug) 介绍 本文介绍OpenWrt的reset按键的处理过程.一般的路由器都存在一个reset按键,用来进行重启或者恢复出厂操作. 通常的操作对应为 ...
- 38 --> 详解 OpenWRT RESET按键、键盘响应逻辑
OpenWrt 按键处理逻辑采用 hotplug 事件方式进行管理,reset按键,用来进行重启或者恢复出厂操作.热插拔事件流程:内核具有检测 键盘守护程序,gpio_button_hotplug 模 ...
- 如何实现按键的短按、长按检测?
在电子产品中经常用到按键,尤其是经常需要MCU判断短按和长按这两种动作,本篇我们来专门聊下这个话题. 只谈理论太无聊,我们还是结合着实际应用来说明.之前写过一篇关于<CH573第一篇:实现自拍杆 ...
- 虚拟机给openwrt添加硬盘并且配置smb
虚拟机给openwrt添加硬盘并且配置smb openwrt配置 添加硬盘 挂载硬盘1 挂载硬盘二 配置smb共享 参考文章 openwrt配置 https://blog.csdn.net/qq_43 ...
- Flask项目实战——6—(前台用户模型、前台登录注册、图形验证码、手机短信验证码、添加表单验证短信验证码请求)
1.前台用户模型 前台用户模型定义 创建前台模型文件 apps/front/models.py # -*- encoding: utf-8 -*- """ @File : ...
- 乐鑫Esp32学习之旅⑦ esp32上利用GPIO中断做一个按键的短按和长按的回调事件,再也无须担心触发源。(附带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- 华为交换机重制_FAQ:5700能否通过reset按键清空配置
5700系列交换机目前暂无reset按键,清空配置的方法如下: 方法一:通过命令行恢复 1.系统视图下输入 [S5348TP-SI]undo startup saved-configuration 取 ...
- OpenWRT添加RTC时钟模块(DS1307)
目的:自动运行有保障,不受断电困扰. 机器:GL-INET v1 有关该路由器的详细参数:https://revspace.nl/GL-iNet OpenWRT版本:Barrier Breaker T ...
最新文章
- 十个行为把你变成糟糕的程序员
- win10下装win7双系统_3步安装电脑双系统,win7+win10自由选择进入,你学会了吗?...
- (转)计算几何模板 - kuangbin
- gulp.js 自动化构建工具学习入门
- python装饰器记录每一个函数的执行时间
- 智能一代云平台(三十四):后端架构一些总结
- SysML建模工具学习笔记总结一
- 给大家分享一个QQ资料查询接口(等级,活跃,年龄,性别,身份卡)
- 随手写的绿色征途手游的脚本辅助代码
- Juc_无juc情况
- 项目管理成熟度模型及项目量化管理
- 安卓设备逐步升级Android 9,游戏产品该如何做适配?
- 什么是系统建模语言(SysML)?
- 【2017.11.30】3. Longest Substring Without Repeating Characters-最长字串不重复字符
- db block gets、consistent gets和physical reads
- PBOC2.0-PBOC3.0主要差异
- STM32浮点运算单元(FPU)和DSP库使用
- 生鲜配送系统开发解决方案
- ubuntu安装keepass2 中文乱码
- [微信小程序]文字溢出部分用三个点显示
热门文章
- DataGrid自动调整行高
- Solidity的函数类型以及可见性分析(类比Java)
- python调用mysql数据_python使用mysql数据库(虫师)
- java获取文件电脑路径
- 旅行的青蛙ios正版无限四叶草教程,正版!正版!App Store下载的那种
- ubuntu Times-Roman 字体安装
- 京东css3动画全屏海报_京东店铺装修安装全屏CSS3动态缩放效果海报,活动海报上添加透明素材自动缩放 ......
- midi是音乐与计算机相结合的产物,2008年江苏省“专转本”计算机应用基础真题与解答.doc...
- 掌握这些技术,你也能将婚礼拍得很精彩!
- 现代控制理论(3)——线性控制系统的能控性和能观性