dd448cd276
The upgrade led is only used if a running led is defined. If no running led is defined, the upgrade led is ignored and upgrade isn't indicated at all. Instead, turn off the running led prior to turning the upgrade led on. In most cases there isn't any visual change, but it allows to use an independent led for upgrade indication. Signed-off-by: Mathias Kresin <dev@kresin.me>
49 lines
765 B
Bash
Executable file
49 lines
765 B
Bash
Executable file
#!/bin/sh
|
|
|
|
. /lib/functions/leds.sh
|
|
|
|
boot="$(get_dt_led boot)"
|
|
failsafe="$(get_dt_led failsafe)"
|
|
running="$(get_dt_led running)"
|
|
upgrade="$(get_dt_led upgrade)"
|
|
|
|
get_status_led() {
|
|
status_led="$boot"
|
|
}
|
|
|
|
set_state() {
|
|
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="$running"
|
|
status_led_off
|
|
}
|
|
status_led="$upgrade"
|
|
status_led_blink_preinit_regular
|
|
;;
|
|
done)
|
|
status_led_off
|
|
[ -n "$running" ] && {
|
|
status_led="$running"
|
|
status_led_on
|
|
}
|
|
;;
|
|
esac
|
|
}
|