mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 23:12:32 +00:00
8fa9b24a4c
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> SVN-Revision: 24187
72 lines
1.5 KiB
Bash
Executable File
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
|
|
}
|