Skip to content

Commit cec20c1

Browse files
committed
add headers to the script
and made some script a bit more robust
1 parent d022e31 commit cec20c1

File tree

8 files changed

+310
-143
lines changed

8 files changed

+310
-143
lines changed

blinkvoltage

Lines changed: 48 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,53 @@
1-
#!/bin/bash -u
2-
# set left led to blink amber
3-
# amber is made of red+green
4-
# very good to add this script to a crontab
5-
# so you get warned by a blinking led if power gets low
1+
#!/bin/bash -u
2+
# Script_name : blinkvoltage
3+
# Author : Bert Lindeman
4+
# Description : Set the left EV3-led according to the battery voltage
5+
# Version : v1.1
6+
# Date : 2014-08-26
7+
# Usage : blinkvoltage [color]
8+
# Notes : o color is [ none | red | green | amber ]
9+
# o very good to add this script to a crontab
10+
# so you get warned by a blinking led if power gets low
11+
# Copyright : 2014 Bert Lindeman
12+
# License : GPL-3.0+
13+
#
14+
#============================================================================
15+
#
16+
# Changelog
17+
# Date By Description
18+
# 20140826 BL o Add script header
19+
# o try to prevent abmber blinking flipflop red/green
20+
#============================================================================
621

7-
side=left
8-
9-
# reset BOTH red and green leds unless we want amber
10-
if [ "$#" -le 0 ]; then
11-
trigger="none"
12-
else
13-
trigger=$1
14-
if [ "$1" != amber ]; then
15-
ledbase="/sys/class/leds/ev3:red:$side"
16-
echo 0 > $ledbase/brightness
17-
echo none > $ledbase/trigger
18-
ledbase="/sys/class/leds/ev3:green:$side"
19-
echo 0 > $ledbase/brightness
20-
echo none > $ledbase/trigger
21-
fi
22-
fi
23-
24-
if [ "$trigger" == none ]; then exit 0 # a good point to leave here
25-
elif [ "$trigger" == amber ]; then setcolor="red green"
26-
elif [ "$trigger" != "" ]; then setcolor=$trigger
27-
else setcolor="red green"
28-
fi
2922

23+
side=left
3024

31-
for ledcolor in $setcolor ;
32-
do
33-
# ledbase="/sys/class/leds/ev3:$ledcolor:$side"
34-
echo 1 > /sys/class/leds/ev3:$ledcolor:$side/brightness
35-
echo timer > /sys/class/leds/ev3:$ledcolor:$side/trigger
36-
done
25+
# reset BOTH red and green leds unless we want amber
26+
if [ "$#" -le 0 ]; then
27+
trigger="none"
28+
else
29+
trigger=$1
30+
fi
31+
# first set all left colors OFF
32+
ledbase="/sys/class/leds/ev3:red:$side"
33+
echo 0 > $ledbase/brightness
34+
echo none > $ledbase/trigger
35+
ledbase="/sys/class/leds/ev3:green:$side"
36+
echo 0 > $ledbase/brightness
37+
echo none > $ledbase/trigger
38+
39+
if [ "$trigger" == none ]; then exit 0 # a good point to leave here
40+
elif [ "$trigger" == amber ]; then
41+
echo timer > /sys/class/leds/ev3:red:$side/trigger
42+
echo timer > /sys/class/leds/ev3:green:$side/trigger
43+
echo 1 > /sys/class/leds/ev3:red:$side/brightness
44+
echo 1 > /sys/class/leds/ev3:green:$side/brightness
45+
elif [ "$trigger" == "red" ]; then setcolor=$trigger
46+
echo timer > /sys/class/leds/ev3:$setcolor:$side/trigger
47+
echo 1 > /sys/class/leds/ev3:$setcolor:$side/brightness
48+
elif [ "$trigger" == "green" ]; then setcolor=$trigger
49+
echo timer > /sys/class/leds/ev3:$setcolor:$side/trigger
50+
echo 1 > /sys/class/leds/ev3:$setcolor:$side/brightness
51+
fi
3752

3853
exit 0

setled

Lines changed: 61 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,38 @@
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

937
usageEXIT () {
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

3563
verifyLEDtrigger () {
@@ -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

showactivity

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,32 @@
1-
#!/bin/bash
2-
# Was available on Wheezy No longer available on Jessie
1+
#!/bin/bash -u
2+
# Script_name : showactivity
3+
# Author : Bert Lindeman
4+
# Description : Let the rightside green EV3-led blink depending on I/O activiy
5+
# Version : v1.1
6+
# Date : 2014-08-26
7+
# Usage : showactivity
8+
# Notes : No parameters used nor checked
9+
# Copyright : 2014 Bert Lindeman
10+
# License : GPL-3.0+
11+
#
12+
#============================================================================
13+
#
14+
# Changelog
15+
# Date By Description
16+
# 20140826 BL o Add script header
17+
# o No longer show triggers of the leds (confusing)
18+
#
19+
#============================================================================
20+
21+
22+
# These were available on Wheezy
23+
# No longer available on Jessie
324
#echo phy0tx > /sys/class/leds/ev3\:green\:right/trigger
425
#echo phy0rx > /sys/class/leds/ev3\:green\:left/trigger
526
#echo phy0assoc > /sys/class/leds/ev3\:red\:left/trigger
627
#echo phy0radio > /sys/class/leds/ev3\:red\:right/trigger
7-
# set right green led to show I/O activity:
8-
echo mmc0 > /sys/class/leds/ev3\:green\:right/trigger
928
#
10-
echo 1 > /sys/class/leds/ev3\:green\:right/brightness
11-
echo 0 > /sys/class/leds/ev3\:green\:left/brightness
12-
echo 0 > /sys/class/leds/ev3\:red\:right/brightness
13-
echo 0 > /sys/class/leds/ev3\:red\:left/brightness
29+
# set right green led to show I/O activity:
30+
echo mmc0 > /sys/class/leds/ev3\:green\:right/trigger
31+
echo 1 > /sys/class/leds/ev3\:green\:right/brightness
1432
#
15-
cat /sys/class/leds/ev3\:green\:right/trigger
16-
cat /sys/class/leds/ev3\:green\:left/trigger
17-
cat /sys/class/leds/ev3\:red\:right/trigger
18-
cat /sys/class/leds/ev3\:red\:left/trigger
19-
## exit 0

0 commit comments

Comments
 (0)