 6c627a266b
			
		
	
	6c627a266b
	
	
	
		
			
			Currently, most platforms define such helpers in their own diag.sh
implementation with almost identical code. By factoring out the
common ground it's possible to simplify maintainability and
homogenize the haptics over multiple platforms (so far as is
reasonably practicable, in a next step).
[juhosg:
 - fix led_set_attr parameters in led_timer
 - add led_morse and status_led_set_morse helpers
 - add status_led_blink_{preinit,failsafe} helpers]
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35648
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh
 | |
| # Copyright (C) 2013 OpenWrt.org
 | |
| 
 | |
| led_set_attr() {
 | |
| 	[ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2"
 | |
| }
 | |
| 
 | |
| led_timer() {
 | |
| 	led_set_attr $1 "trigger" "timer"
 | |
| 	led_set_attr $1 "delay_on" "$2"
 | |
| 	led_set_attr $1 "delay_off" "$3"
 | |
| }
 | |
| 
 | |
| led_on() {
 | |
| 	led_set_attr $1 "trigger" "none"
 | |
| 	led_set_attr $1 "brightness" 255
 | |
| }
 | |
| 
 | |
| led_off() {
 | |
| 	led_set_attr $1 "trigger" "none"
 | |
| 	led_set_attr $1 "brightness" 0
 | |
| }
 | |
| 
 | |
| led_morse() {
 | |
| 	led_set_attr $1 "trigger" "morse"
 | |
| 	led_set_attr $1 "delay" "$2"
 | |
| 	led_set_attr $1 "message" "$3"
 | |
| }
 | |
| 
 | |
| status_led_set_timer() {
 | |
| 	led_timer $status_led "$1" "$2"
 | |
| 	[ -n "$status_led2" ] && led_timer $status_led2 "$1" "$2"
 | |
| }
 | |
| 
 | |
| status_led_set_heartbeat() {
 | |
| 	led_set_attr $status_led "trigger" "heartbeat"
 | |
| }
 | |
| 
 | |
| status_led_set_morse() {
 | |
| 	led_morse $status_led "$1" "$2"
 | |
| 	[ -n "$status_led2" ] && led_morse $status_led2 "$1" "$2"
 | |
| }
 | |
| 
 | |
| status_led_on() {
 | |
| 	led_on $status_led
 | |
| 	[ -n "$status_led2" ] && led_on $status_led2
 | |
| }
 | |
| 
 | |
| status_led_off() {
 | |
| 	led_off $status_led
 | |
| 	[ -n "$status_led2" ] && led_off $status_led2
 | |
| }
 | |
| 
 | |
| status_led_blink_slow() {
 | |
| 	led_timer $status_led 1000 1000
 | |
| }
 | |
| 
 | |
| status_led_blink_fast() {
 | |
| 	led_timer $status_led 100 100
 | |
| }
 | |
| 
 | |
| status_led_blink_preinit() {
 | |
| 	led_timer $status_led 200 200
 | |
| }
 | |
| 
 | |
| status_led_blink_failsafe() {
 | |
| 	led_timer $status_led 50 50
 | |
| }
 |