1- #! /bin/bash
1+ #! /bin/bash -u
2+ # Script_name : setled
3+ # Author : Bert Lindeman
4+ # Description : Set an EV3-led
5+ # Version : v1.1
6+ # Date : 2014-08-26
7+ # Usage : ./setled
8+ # Notes : 4 optional parameters:
9+ # color [side [ON | OFF [valid MODE]]]
10+ # Copyright : 2014 Bert Lindeman
11+ # License : GPL-3.0+
212#
3- # to lowercase:
4- tosetColor=" $( echo $1 | tr ' A-Z' ' a-z' ) "
5- side=" $( echo $2 | tr ' A-Z' ' a-z' ) "
6- mode=" $( echo $3 | tr ' A-Z' ' a-z' ) "
7- tosetTrigger=" $( echo $4 | tr ' A-Z' ' a-z' ) "
13+ # ============================================================================
14+ #
15+ # Changelog
16+ # Date By Description
17+ # 20140826 BL add script header
18+ #
19+ # ============================================================================
20+
21+
22+
23+ #
24+ # get parameters and translate to lowercase:
25+ #
26+ # set default if parameter has not been specified:
27+ if [ " $# " -lt 1 ]; then : ${p1:= green} ; else p1=$1 ; fi
28+ if [ " $# " -lt 2 ]; then : ${p2:= left} ; else p2=$2 ; fi
29+ if [ " $# " -lt 3 ]; then : ${p3:= on} ; else p3=$3 ; fi
30+ if [ " $# " -lt 4 ]; then : ${p4:= none} ; else p4=$4 ; fi
31+
32+ tosetColor=" $( echo $p1 | tr ' A-Z' ' a-z' ) "
33+ side=" $( echo $p2 | tr ' A-Z' ' a-z' ) "
34+ mode=" $( echo $p3 | tr ' A-Z' ' a-z' ) "
35+ tosetTrigger=" $( echo $p4 | tr ' A-Z' ' a-z' ) "
836
937usageEXIT () {
1038 echo " $1 "
@@ -25,11 +53,11 @@ showLEDtrigger () {
2553 # echo "current trigger now: $trigger"
2654 break # do not search further
2755 else
28- trigger=$word
56+ trigger=$word
2957 fi
3058 done
3159 currenttrigger=$trigger
32- echo " current trigger=$currenttrigger "
60+ echo " current trigger=$currenttrigger "
3361}
3462
3563verifyLEDtrigger () {
@@ -39,14 +67,14 @@ verifyLEDtrigger () {
3967 if [ $delim == " []" ]; then
4068 trigger=${word: 1: ${# word} -2} # drop the first and last char: [ and ]
4169 else
42- trigger=$word
70+ trigger=$word
4371 fi
4472 if [ " $1 " == " $trigger " ]; then
4573 : echo " Trigger $1 is valid"
4674 return 0
4775 fi
4876 done
49-
77+
5078 # invalid trigger specified; show the valid ones:
5179 echo " specified trigger \" $1 \" "
5280 for word in ` cat $2 ` ;
@@ -55,17 +83,17 @@ verifyLEDtrigger () {
5583 if [ $delim == " []" ]; then
5684 trigger=${word: 1: ${# word} -2} # drop the first and last char: [ and ]
5785 else
58- trigger=$word
86+ trigger=$word
5987 fi
6088 echo " acceptable trigger: \" $trigger \" "
6189 done
6290 usageEXIT " specified trigger \" $1 \" is not recognized."
63-
91+
6492}
6593
6694 # start of mainline:
67-
68- if [ $# -gt 4 ]; then
95+
96+ if [ " $# " -gt " 4 " ]; then
6997 usageEXIT " Too many parameters; Allowed 4 Got $# : $* "
7098 fi
7199
@@ -74,11 +102,11 @@ verifyLEDtrigger () {
74102 command=" echo" ; oneORzero=1
75103 ;;
76104 off)
77- command=" echo" ; oneORzero=0
105+ command=" echo" ; oneORzero=0
78106 ;;
79107 " " )
80108 command=" cat" # default
81- ;;
109+ ;;
82110 * )
83111 usageEXIT " MODE should be on or off! Got \" $mode \" "
84112 ;;
@@ -91,7 +119,7 @@ verifyLEDtrigger () {
91119 ;;
92120 " " )
93121 color=" green" # default
94- ;;
122+ ;;
95123 * )
96124 usageEXIT " COLOR should be red or green! Got \" $tosetColor \" "
97125 ;;
@@ -110,38 +138,38 @@ verifyLEDtrigger () {
110138 ledbase=" /sys/class/leds/ev3:$tosetColor :$side "
111139 ledbrightness=" $ledbase /brightness"
112140 ledtriggerpath=" $ledbase /trigger"
113-
141+
114142 if [ " $tosetTrigger " == " " ]; then
115143 tosetTrigger =" none"
116- else
144+ else
117145 verifyLEDtrigger " $tosetTrigger " " $ledtriggerpath "
118146 fi
119-
147+
120148 echo " base directory $ledbase "
121-
149+
122150 if [ $command == " cat" ]; then
123151 echo " brightness=` cat $ledbrightness ` "
124152 showLEDtrigger $ledtriggerpath
125153 else
126154 echo " BEFORE:"
127155 echo " brightness=` cat $ledbrightness ` "
128156 showLEDtrigger $ledtriggerpath
129-
157+
130158 # echo "setting trigger to $tosetTrigger > $ledtriggerpath"
131159 # showLEDtrigger $ledtriggerpath
132- if [ " $4 " != " " ]; then
133- echo $tosetTrigger > $ledtriggerpath
134- fi
135- if [ $? -ne 0 ] ; then
136- echo -e " !!!!!!!!returncode of trigger: $? "
137- fi
138- # showLEDtrigger $ledtriggerpath
139-
140- echo $oneORzero > $ledbrightness
160+ if [ " $p4 " != " " ]; then
161+ echo $tosetTrigger > $ledtriggerpath
162+ if [ $? -ne 0 ] ; then
163+ echo -e " !!!!!!!!returncode of trigger: $? "
164+ fi
165+ fi
166+ # showLEDtrigger $ledtriggerpath
167+
168+ echo $oneORzero > $ledbrightness
141169 if [ $? -ne 0 ]; then
142170 echo -e " !!!!!!!!returncode of command: $? "
143- fi
171+ fi
144172 echo " AFTER:"
145173 echo " brightness=` cat $ledbrightness ` "
146174 showLEDtrigger $ledtriggerpath
147- fi
175+ fi
0 commit comments