2
0
forked from Ivasoft/openwrt

ipq806x: add support for indicating the boot and upgrade state using four leds

Signed-off-by: Henryk Heisig hyniu@o2.pl
This commit is contained in:
Henryk Heisig
2016-09-30 21:36:50 +02:00
committed by John Crispin
parent 36afaae847
commit 4bdf615878
5 changed files with 54 additions and 15 deletions

View File

@@ -1,34 +1,45 @@
#!/bin/sh
# Copyright (C) 2016 Henryk Heisig hyniu@o2.pl
. /lib/functions/leds.sh
. /lib/ipq806x.sh
get_status_led() {
case $(ipq806x_board_name) in
c2600)
status_led="c2600:blue:status"
;;
ea8500)
status_led="ea8500:white:power"
;;
esac
}
boot="$(ipq806x_get_dt_led boot)"
failsafe="$(ipq806x_get_dt_led failsafe)"
running="$(ipq806x_get_dt_led running)"
upgrade="$(ipq806x_get_dt_led upgrade)"
set_state() {
get_status_led
status_led="$boot"
case "$1" in
preinit)
status_led_blink_preinit
;;
failsafe)
status_led_off
[ -n "$running" ] && {
status_led="$running"
status_led_off
}
status_led="$failsafe"
status_led_blink_failsafe
;;
preinit_regular)
status_led_blink_preinit_regular
;;
upgrade)
[ -n "$running" ] && {
status_led="$upgrade"
status_led_blink_preinit_regular
}
;;
done)
status_led_on
status_led_off
[ -n "$running" ] && {
status_led="$running"
status_led_on
}
;;
esac
}