1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-05 14:07:30 +02:00
openwrt-xburst/target/linux/brcm63xx/base-files/etc/diag.sh
cshore 36faccabad bcm63xx: Allow 'colored' power leds.
Since some devices have more than one power led, they might be separated by
their color in the name. To also allow them to be on after leaving preinit,
set any status led starting with 'power' to on instead of only those with
the exact name of 'power'.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24187 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-28 22:04:30 +00:00

72 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
#
# Copyright (C) 2007 OpenWrt.org
#
#
. /lib/brcm63xx.sh
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"
[ -n "$status_led2" ] && {
led_set_attr $status_led2 "trigger" "timer"
led_set_attr $status_led2 "delay_on" "$1"
led_set_attr $status_led2 "delay_off" "$2"
}
}
status_led_set_morse() {
led_set_attr $status_led "trigger" "morse"
led_set_attr $status_led "delay" "$1"
led_set_attr $status_led "message" "$2"
[ -n "$status_led2" ] && {
led_set_attr $status_led2 "trigger" "morse"
led_set_attr $status_led2 "delay" "$1"
led_set_attr $status_led2 "message" "$2"
}
}
status_led_on() {
led_set_attr $status_led "trigger" "none"
led_set_attr $status_led "brightness" 255
[ -n "$status_led2" ] && {
led_set_attr $status_led2 "trigger" "none"
led_set_attr $status_led2 "brightness" 255
}
}
status_led_off() {
led_set_attr $status_led "trigger" "none"
led_set_attr $status_led "brightness" 0
[ -n "$status_led2" ] && {
led_set_attr $status_led2 "trigger" "none"
led_set_attr $status_led2 "brightness" 0
}
}
set_state() {
case "$1" in
preinit)
insmod leds-gpio
status_led_on
status_led_set_timer 200 200
;;
failsafe)
status_led_set_timer 50 50
;;
done)
if [ "${status_led#power}" != "$status_led" ]; then
status_led_on
else
status_led_off
fi
;;
esac
}