diff options
Diffstat (limited to 'target/linux/cns21xx/base-files/etc/diag.sh')
-rwxr-xr-x | target/linux/cns21xx/base-files/etc/diag.sh | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/target/linux/cns21xx/base-files/etc/diag.sh b/target/linux/cns21xx/base-files/etc/diag.sh new file mode 100755 index 0000000000..3fb8352627 --- /dev/null +++ b/target/linux/cns21xx/base-files/etc/diag.sh @@ -0,0 +1,54 @@ +#!/bin/sh +# +# Copyright (C) 2010 OpenWrt.org +# +# + +. /lib/cns21xx.sh + +status_led="" + +led_set_attr() { + [ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2" +} + +status_led_set_timer() { + led_set_attr $status_led "trigger" "timer" + led_set_attr $status_led "delay_on" "$1" + led_set_attr $status_led "delay_off" "$2" +} + +status_led_on() { + led_set_attr $status_led "trigger" "none" + led_set_attr $status_led "brightness" 255 +} + +status_led_off() { + led_set_attr $status_led "trigger" "none" + led_set_attr $status_led "brightness" 0 +} + +get_status_led() { + case $(get_board_name) in + ns-k330) + status_led="ns-k330:red:link" + ;; + esac; +} + +set_state() { + get_status_led + + case "$1" in + preinit) + insmod leds-gpio + status_led_set_timer 200 200 + ;; + failsafe) + status_led_set_timer 50 50 + ;; + done) + status_led_on + ;; + esac +} |