ar7: migrate to common led helper functions
[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 }