Gordons Projects

--> Projects Top-Level GIT

Fixing names
[ladder] / ladderTest.sh
1 #!/bin/bash
2
3 # ladderTest:
4 #       Simple test program for the Raspberry Ladder board.
5 #
6 #       Gordon Henderson, October 2012
7
8 # Our lamps:
9 #       (These are wiringPi pin numbers)
10
11      red1=0
12      red2=1
13   yellow1=2
14   yellow2=3
15    green1=4
16    green2=5
17     blue1=6
18     blue2=7
19
20    green0=8
21      red0=9
22
23 # The buttons
24
25 button1=11
26 button2=10
27 button3=12
28 button4=13
29
30
31 # ladderSetup:
32 #       Generic initialisation code for the Raspberrt Ladder board.
33 #       Program the LEDs and buttons.
34 #######################################################################
35
36 ladderSetup ()
37 {
38   for i in 0 1 2 3 4 5 6 7 8 9 ; do
39     gpio write $i 0
40     gpio mode $i out
41   done
42
43   for i in $button1 $button2 $button3 $button4 ; do
44     gpio mode $i in
45     gpio mode $i up
46   done
47 }
48
49
50
51 # buttonTest:
52 #       Simple test routine - wait for a button, then light
53 #       some LEDs
54 ########################################################################
55
56 buttonCheck1 ()
57 {
58   if [ `gpio read $1` = 0 ]; then
59     gpio write $2 1
60     gpio write $3 1
61   else
62     gpio write $2 0
63     gpio write $3 0
64   fi
65 }
66
67 buttonTest ()
68 {
69   while true; do
70     buttonCheck1 $button1 $blue1   $blue2
71     buttonCheck1 $button2 $green1  $green2
72     buttonCheck1 $button3 $yellow1 $yellow2
73     buttonCheck1 $button4 $red1    $red2
74
75     if [ `gpio read $button1`.`gpio read $button2`.`gpio read $button3`.`gpio read $button4` = '0.0.0.0' ]; then
76       break ;
77     fi
78
79   done
80 }
81
82
83 # pause:
84 #       Wait for enter to be pressed.
85 ########################################################################
86
87 pause ()
88 {
89   echo ""
90   echo -n "Press the ENTER key to continue... "
91   read a
92 }
93
94 ########################################################################
95 # The main program
96 ########################################################################
97
98 ladderSetup
99
100 echo ""
101 echo "The Raspberry Ladder test program"
102 echo "================================="
103 echo ""
104 echo "All LEDs should be OFF. Please check."
105 echo "If any are on then you need to check for the correct cable location,"
106 echo "and any shorts, but do not proceede until all LEDs are OFF at this"
107 echo "point."
108 pause
109
110 for i in `seq 0 9`; do
111   gpio write $i 1
112 done
113
114 echo "All LEDs should now be ON. Please check."
115 echo "If any are off then you need to check for the correct cable location,"
116 echo "and any shorts, but do not proceede until all LEDs are ON at this"
117 echo "point."
118 pause
119
120 for i in `seq 0 9`; do
121   gpio write $i 0
122 done
123
124 echo ""
125 echo "The LEDs will now light in pairs when you press the button next to each"
126 echo "pair of LEDs. They still stay lit for as long as you keep the button"
127 echo "pressed."
128 echo ""
129 echo -n "Press all FOUR buttons together to exit the test... "
130
131 buttonTest
132
133 for i in `seq 0 9`; do
134   gpio write $i 0
135 done
136
137 echo ""
138 echo ""
139 echo "Congratulations! If the LEDs worked OK, and the buttons were fine, then"
140 echo "your Raspberry Ladder board is fully functional."
141 echo ""
142
143 exit