blob: 37a8ec758ed030944b1f372278bd9f852f3502ff [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#!/bin/sh
2# Copyright (C) 2006-2019 OpenWrt.org
3
4. /lib/functions/leds.sh
5
6boot="$(get_dt_led boot)"
7failsafe="$(get_dt_led failsafe)"
8running="$(get_dt_led running)"
9upgrade="$(get_dt_led upgrade)"
10
11set_led_state() {
12 status_led="$boot"
13
14 case "$1" in
15 preinit)
16 status_led_blink_preinit
17 ;;
18 failsafe)
19 status_led_off
20 [ -n "$running" ] && {
21 status_led="$running"
22 status_led_off
23 }
24 status_led="$failsafe"
25 status_led_blink_failsafe
26 ;;
27 preinit_regular)
28 status_led_blink_preinit_regular
29 ;;
30 upgrade)
31 [ -n "$running" ] && {
32 status_led="$running"
33 status_led_off
34 }
35 status_led="$upgrade"
36 status_led_blink_preinit_regular
37 ;;
38 done)
39 status_led_off
40 [ "$status_led" != "$running" ] && \
41 status_led_restore_trigger "boot"
42 [ -n "$running" ] && {
43 status_led="$running"
44 status_led_on
45 }
46 ;;
47 esac
48}
49
50set_state() {
51 [ -n "$boot" -o -n "$failsafe" -o -n "$running" -o -n "$upgrade" ] && set_led_state "$1"
52}