diff options
author | James <> | 2013-03-17 12:16:37 +0000 |
---|---|---|
committer | James <> | 2013-03-17 12:16:37 +0000 |
commit | 27b76ab0671089c47506615a796a261e993896a7 (patch) | |
tree | 61213d67e7fa87b20356b23798558e2c4212c42f /package/base-files/files/etc/init.d/.svn/text-base/led.svn-base | |
download | trunk-36060-master.tar.gz trunk-36060-master.tar.bz2 trunk-36060-master.zip |
Diffstat (limited to 'package/base-files/files/etc/init.d/.svn/text-base/led.svn-base')
-rw-r--r-- | package/base-files/files/etc/init.d/.svn/text-base/led.svn-base | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/package/base-files/files/etc/init.d/.svn/text-base/led.svn-base b/package/base-files/files/etc/init.d/.svn/text-base/led.svn-base new file mode 100644 index 0000000..729796b --- /dev/null +++ b/package/base-files/files/etc/init.d/.svn/text-base/led.svn-base @@ -0,0 +1,92 @@ +#!/bin/sh /etc/rc.common +# (C) 2008 openwrt.org + +START=96 + +load_led() { + local name + local sysfs + local trigger + local dev + local mode + local default + local delayon + local delayoff + local interval + + config_get sysfs $1 sysfs + config_get name $1 name "$sysfs" + config_get trigger $1 trigger "none" + config_get dev $1 dev + config_get mode $1 mode "link" + config_get_bool default $1 default "nil" + config_get delayon $1 delayon + config_get delayoff $1 delayoff + config_get interval $1 interval "50" + config_get port_state $1 port_state + config_get delay $1 delay "150" + config_get message $1 message "" + + if [ "$trigger" = "rssi" ]; then + # handled by rssileds userspace process + return + fi + + [ -e /sys/class/leds/${sysfs}/brightness ] && { + echo "setting up led ${name}" + [ "$default" != nil ] && { + [ $default -eq 1 ] && + echo 1 >/sys/class/leds/${sysfs}/brightness + [ $default -eq 1 ] || + echo 0 >/sys/class/leds/${sysfs}/brightness + } + echo $trigger > /sys/class/leds/${sysfs}/trigger + case "$trigger" in + "netdev") + [ -n "$dev" ] && { + echo $dev > /sys/class/leds/${sysfs}/device_name + echo $mode > /sys/class/leds/${sysfs}/mode + } + ;; + + "timer") + [ -n "$delayon" ] && \ + echo $delayon > /sys/class/leds/${sysfs}/delay_on + [ -n "$delayoff" ] && \ + echo $delayoff > /sys/class/leds/${sysfs}/delay_off + ;; + + "usbdev") + [ -n "$dev" ] && { + echo $dev > /sys/class/leds/${sysfs}/device_name + echo $interval > /sys/class/leds/${sysfs}/activity_interval + } + ;; + + "port_state") + [ -n "$port_state" ] && \ + echo $port_state > /sys/class/leds/${sysfs}/port_state + ;; + + "morse") + echo $message > /sys/class/leds/${sysfs}/message + echo $delay > /sys/class/leds/${sysfs}/delay + ;; + + switch[0-9]*) + local port_mask + + config_get port_mask $1 port_mask + [ -n "$port_mask" ] && \ + echo $port_mask > /sys/class/leds/${sysfs}/port_mask + ;; + esac + } +} + +start() { + [ -e /sys/class/leds/ ] && { + config_load system + config_foreach load_led led + } +} |