diff options
author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-18 10:37:43 +0000 |
---|---|---|
committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-18 10:37:43 +0000 |
commit | d6c1dfb126fcad8e312dc58a19f0fd7a08bd006d (patch) | |
tree | f1ee56d27f110764a2a561e558398211b4537819 /target/linux/ar7/base-files | |
parent | a0d6c55a7bd5694475d302260f308ef9e741d4c9 (diff) |
ar7: migrate to common led helper functions
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35659 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar7/base-files')
-rw-r--r-- | target/linux/ar7/base-files/etc/diag.sh | 60 |
1 files changed, 27 insertions, 33 deletions
diff --git a/target/linux/ar7/base-files/etc/diag.sh b/target/linux/ar7/base-files/etc/diag.sh index 25ec89934d..37eed6a1a1 100644 --- a/target/linux/ar7/base-files/etc/diag.sh +++ b/target/linux/ar7/base-files/etc/diag.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 2007-2012 OpenWrt.org +# Copyright (C) 2007-2013 OpenWrt.org # This setup gives us 4.5 distinguishable states: # @@ -12,37 +12,31 @@ # (1-LED) Heartbeat: normal operation # (2-LED) Solid GREEN: normal operation +. /lib/functions/leds.sh + +get_status_led() { + [ -d "/sys/class/leds/status" ] && status_led="status" + [ -d "/sys/class/leds/power:green" ] && status_led="power:green" +} + set_state() { - case "$1" in - preinit) - [ -d /sys/class/leds/status ] && { - echo timer >/sys/class/leds/status/trigger - echo 100 >/sys/class/leds/status/delay_on - echo 100 >/sys/class/leds/status/delay_off - :; } || [ -d /sys/class/leds/power\:green ] && { - echo timer >/sys/class/leds/power\:green/trigger - echo 100 >/sys/class/leds/power\:green/delay_on - echo 100 >/sys/class/leds/power\:green/delay_off - } - ;; - failsafe) - [ -d /sys/class/leds/status ] && { - echo timer >/sys/class/leds/status/trigger - echo 50 >/sys/class/leds/status/delay_on - echo 50 >/sys/class/leds/status/delay_off - :; } || [ -d /sys/class/leds/power\:green ] && { - echo timer >/sys/class/leds/power\:green/trigger - echo 50 >/sys/class/leds/power\:green/delay_on - echo 50 >/sys/class/leds/power\:green/delay_off - } - ;; - done) - [ -d /sys/class/leds/status ] && { - echo heartbeat >/sys/class/leds/status/trigger - :; } || [ -d /sys/class/leds/power\:green ] && { - echo default-on >/sys/class/leds/power\:green/trigger - echo none >/sys/class/leds/power\:red/trigger - } - ;; - esac + get_status_led + + case "$1" in + preinit) + status_led_set_timer 100 100 + ;; + failsafe) + status_led_set_timer 50 50 + ;; + done) + [ "$status_led" = "status" ] && { + status_led_set_heartbeat + } + [ "$status_led" = "power:green" ] && { + status_led_set_on + led_off "power:red" + } + ;; + esac } |