CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 5451|回复: 2

[DIY]将系统LED灯 定义在其他IO上

[复制链接]
发表于 2013-5-30 20:56:35 | 显示全部楼层 |阅读模式
本帖最后由 willwill85 于 2013-6-7 16:30 编辑

因为做了个底板,所以不想用板上的led显示系统心跳和mmc的状态,所以想办法把显示做到自己的底板上.
我定义了4个led灯:
1. sys
2. mmc
3. 3g
4. wifi

理论上来说 sys mmc 和 wifi是支持系统直接驱动的,3g 我用了python的 io驱动 写了个脚本

说说系统的驱动方法吧
首先 下载sunxi-board 工具
修改 cubieboard.fex 文件 在最后面改成我的io:
leds_used=1
leds_num=3
leds_pin_1=port: PD00<1><default><default><0>
leds_name_1="SYS"
leds_default_1=1
leds_pin_2=port: PD02<1><default><default><0>
leds_name_2="MMC"
leds_default_2=0
leds_pin_3=port: PD06<1><default><default><0>
leds_name_3="WIFI"
leds_default_3=0

然后编译一下 覆盖之~

接下来 修改/etc/rc.local
echo heartbeat > /sys/class/leds/SYS/trigger
echo mmc0 > /sys/class/leds/MMC/trigger
echo phy0tpt > /sys/class/leds/WIFI/trigger


ok reboot就可以了, 当然因为我板子的问题 我把led的io当做漏了,所以显示都是反的
我的方法很简单,修改kernel : /drivers/leds/leds-sunxi.c 其中的函数: sunxi_gpio_set_value
在第二行加了句 value=!value; 蛤蛤

这样一切正常了
给出一段视频:








评分

参与人数 1威望 +5 金钱 +5 贡献 +5 收起 理由
hipboi + 5 + 5 + 5 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2013-6-2 09:22:33 | 显示全部楼层
不错,支持一个
回复 支持 反对

使用道具 举报

发表于 2013-6-4 10:24:22 | 显示全部楼层
高玩 {:soso_e179:}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-4-30 06:21 , Processed in 0.026941 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部