2f28216723
This restores normal pre-r43715 200ms blink-period for the System LED we're all accustomed to see while our OpenWrt routers are booting. Failsafe possibility will now be signalled with a new 100ms blinking, which is easily recognizable from the normal 200ms booting. So no existing user will be scared by a new 500ms LED pattern, since such a slow pattern could easily be mistaken for something wrong... I was like "ok why my router is collapsing now, is this a bad flash, a kernel panic, or what else" when I've seen it for the first time ;) Sorry for not having explained myself better in v1 of this patch. Original: Preinit, failsafe is possible: 200ms Preinit, failsafe not possible anymore, booting normally: 200ms Failsafe entered: 50ms Now (after preinit_regular has been introduced): Preinit, failsafe is possible: 200ms Preinit, failsafe not possible anymore, booting normally: 500ms *here is the "offending" change* Failsafe entered: 50ms With my proposed patch: Preinit, failsafe is possible: 100ms *indicate this condition with a new timing, that prompts the user to press the key if they want to start failsafe* Preinit, failsafe not possible anymore, booting normally: 200ms *keep this as before* Failsafe entered: 50ms Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net> SVN-Revision: 44056
73 lines
1.3 KiB
Bash
73 lines
1.3 KiB
Bash
#!/bin/sh
|
|
# Copyright (C) 2013 OpenWrt.org
|
|
|
|
led_set_attr() {
|
|
[ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2"
|
|
}
|
|
|
|
led_timer() {
|
|
led_set_attr $1 "trigger" "timer"
|
|
led_set_attr $1 "delay_on" "$2"
|
|
led_set_attr $1 "delay_off" "$3"
|
|
}
|
|
|
|
led_on() {
|
|
led_set_attr $1 "trigger" "none"
|
|
led_set_attr $1 "brightness" 255
|
|
}
|
|
|
|
led_off() {
|
|
led_set_attr $1 "trigger" "none"
|
|
led_set_attr $1 "brightness" 0
|
|
}
|
|
|
|
led_morse() {
|
|
led_set_attr $1 "trigger" "morse"
|
|
led_set_attr $1 "delay" "$2"
|
|
led_set_attr $1 "message" "$3"
|
|
}
|
|
|
|
status_led_set_timer() {
|
|
led_timer $status_led "$1" "$2"
|
|
[ -n "$status_led2" ] && led_timer $status_led2 "$1" "$2"
|
|
}
|
|
|
|
status_led_set_heartbeat() {
|
|
led_set_attr $status_led "trigger" "heartbeat"
|
|
}
|
|
|
|
status_led_set_morse() {
|
|
led_morse $status_led "$1" "$2"
|
|
[ -n "$status_led2" ] && led_morse $status_led2 "$1" "$2"
|
|
}
|
|
|
|
status_led_on() {
|
|
led_on $status_led
|
|
[ -n "$status_led2" ] && led_on $status_led2
|
|
}
|
|
|
|
status_led_off() {
|
|
led_off $status_led
|
|
[ -n "$status_led2" ] && led_off $status_led2
|
|
}
|
|
|
|
status_led_blink_slow() {
|
|
led_timer $status_led 1000 1000
|
|
}
|
|
|
|
status_led_blink_fast() {
|
|
led_timer $status_led 100 100
|
|
}
|
|
|
|
status_led_blink_preinit() {
|
|
led_timer $status_led 100 100
|
|
}
|
|
|
|
status_led_blink_failsafe() {
|
|
led_timer $status_led 50 50
|
|
}
|
|
|
|
status_led_blink_preinit_regular() {
|
|
led_timer $status_led 200 200
|
|
}
|