ar7: migrate to common led helper functions
[openwrt/openwrt.git] / target / linux / ar7 / base-files / etc / diag.sh
1 #!/bin/sh
2 # Copyright (C) 2007-2013 OpenWrt.org
3
4 # This setup gives us 4.5 distinguishable states:
5 #
6 # (1-LED) Solid OFF: Bootloader running, or kernel hung (timer task stalled)
7 # (1-LED) Solid ON: Kernel hung (timer task stalled)
8 # (2-LED) Solid RED: Bootloader running, or kernel hung (timer task stalled)
9 # (2-LED) Solid YELLOW: Kernel hung (timer task stalled)
10 # 5Hz blink: preinit
11 # 10Hz blink: failsafe
12 # (1-LED) Heartbeat: normal operation
13 # (2-LED) Solid GREEN: normal operation
14
15 . /lib/functions/leds.sh
16
17 get_status_led() {
18 [ -d "/sys/class/leds/status" ] && status_led="status"
19 [ -d "/sys/class/leds/power:green" ] && status_led="power:green"
20 }
21
22 set_state() {
23 get_status_led
24
25 case "$1" in
26 preinit)
27 status_led_set_timer 100 100
28 ;;
29 failsafe)
30 status_led_set_timer 50 50
31 ;;
32 done)
33 [ "$status_led" = "status" ] && {
34 status_led_set_heartbeat
35 }
36 [ "$status_led" = "power:green" ] && {
37 status_led_set_on
38 led_off "power:red"
39 }
40 ;;
41 esac
42 }