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>
46 lines
770 B
Bash
Executable file
46 lines
770 B
Bash
Executable file
#!/bin/sh
|
|
# Copyright (C) 2016 Henryk Heisig hyniu@o2.pl
|
|
|
|
. /lib/functions/leds.sh
|
|
|
|
boot="$(get_dt_led boot)"
|
|
failsafe="$(get_dt_led failsafe)"
|
|
running="$(get_dt_led running)"
|
|
upgrade="$(get_dt_led upgrade)"
|
|
|
|
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
|
|
}
|