Dependencies: mbed
main.cpp@4:4a2d17de21cf, 2015-10-14 (annotated)
- Committer:
- NamSom
- Date:
- Wed Oct 14 04:01:49 2015 +0000
- Revision:
- 4:4a2d17de21cf
- Parent:
- 3:3bf1a7613e06
Complete
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Peeraya | 0:212362d7d1f9 | 1 | #include "mbed.h" |
Peeraya | 0:212362d7d1f9 | 2 | |
NamSom | 2:091793a4e7ec | 3 | |
Peeraya | 0:212362d7d1f9 | 4 | DigitalOut myled0(D15); |
Peeraya | 0:212362d7d1f9 | 5 | DigitalOut myled1(D14); |
Peeraya | 0:212362d7d1f9 | 6 | DigitalOut myled2(D13); |
Peeraya | 0:212362d7d1f9 | 7 | DigitalOut myled3(D12); |
Peeraya | 0:212362d7d1f9 | 8 | DigitalOut myled4(D11); |
Peeraya | 0:212362d7d1f9 | 9 | DigitalOut myled5(D10); |
Peeraya | 0:212362d7d1f9 | 10 | DigitalOut myled6(D9); |
Peeraya | 0:212362d7d1f9 | 11 | DigitalOut myled7(D8); |
Peeraya | 0:212362d7d1f9 | 12 | |
Peeraya | 0:212362d7d1f9 | 13 | DigitalIn inbutton1(D3); |
Peeraya | 0:212362d7d1f9 | 14 | DigitalIn inbutton2(D4); |
Peeraya | 0:212362d7d1f9 | 15 | DigitalIn inbutton3(D5); |
NamSom | 3:3bf1a7613e06 | 16 | DigitalIn inbutton6(D6); |
NamSom | 3:3bf1a7613e06 | 17 | DigitalIn inbutton7(D7); |
Peeraya | 0:212362d7d1f9 | 18 | |
NamSom | 3:3bf1a7613e06 | 19 | float delay = 0.5; |
NamSom | 3:3bf1a7613e06 | 20 | |
NamSom | 3:3bf1a7613e06 | 21 | void checkDelay() |
NamSom | 3:3bf1a7613e06 | 22 | { |
NamSom | 3:3bf1a7613e06 | 23 | if(inbutton6==1) { |
NamSom | 3:3bf1a7613e06 | 24 | if(delay<2.0) delay+=0.3; |
NamSom | 3:3bf1a7613e06 | 25 | } |
NamSom | 3:3bf1a7613e06 | 26 | if(inbutton7==1) { |
NamSom | 3:3bf1a7613e06 | 27 | if(delay>0.4) delay-=0.3; |
NamSom | 3:3bf1a7613e06 | 28 | } |
NamSom | 3:3bf1a7613e06 | 29 | } |
Peeraya | 0:212362d7d1f9 | 30 | |
NamSom | 2:091793a4e7ec | 31 | int checkState() |
NamSom | 2:091793a4e7ec | 32 | { |
NamSom | 3:3bf1a7613e06 | 33 | checkDelay(); |
NamSom | 2:091793a4e7ec | 34 | if(inbutton1==1 && inbutton2==0 && inbutton3==0) { |
NamSom | 2:091793a4e7ec | 35 | return 1; |
NamSom | 2:091793a4e7ec | 36 | } |
NamSom | 2:091793a4e7ec | 37 | if(inbutton1==0 && inbutton2==1 && inbutton3==0) { |
NamSom | 2:091793a4e7ec | 38 | return 2; |
NamSom | 2:091793a4e7ec | 39 | } |
NamSom | 2:091793a4e7ec | 40 | if(inbutton1==0 && inbutton2==0 && inbutton3==1) { |
NamSom | 2:091793a4e7ec | 41 | return 3; |
NamSom | 2:091793a4e7ec | 42 | |
NamSom | 2:091793a4e7ec | 43 | } else { |
NamSom | 2:091793a4e7ec | 44 | return 0; |
NamSom | 2:091793a4e7ec | 45 | } |
NamSom | 2:091793a4e7ec | 46 | } |
NamSom | 2:091793a4e7ec | 47 | |
NamSom | 2:091793a4e7ec | 48 | int pt1() |
NamSom | 2:091793a4e7ec | 49 | { |
NamSom | 2:091793a4e7ec | 50 | myled0=1; |
NamSom | 2:091793a4e7ec | 51 | wait(delay); |
NamSom | 2:091793a4e7ec | 52 | myled0=0; |
NamSom | 2:091793a4e7ec | 53 | if(checkState()!=1) return 0; |
NamSom | 2:091793a4e7ec | 54 | myled1=1; |
NamSom | 2:091793a4e7ec | 55 | wait(delay); |
NamSom | 2:091793a4e7ec | 56 | myled1=0; |
NamSom | 2:091793a4e7ec | 57 | if(checkState()!=1) return 0; |
NamSom | 2:091793a4e7ec | 58 | myled2=1; |
NamSom | 2:091793a4e7ec | 59 | wait(delay); |
NamSom | 2:091793a4e7ec | 60 | myled2=0; |
NamSom | 2:091793a4e7ec | 61 | if(checkState()!=1) return 0; |
NamSom | 2:091793a4e7ec | 62 | myled3=1; |
NamSom | 2:091793a4e7ec | 63 | wait(delay); |
NamSom | 2:091793a4e7ec | 64 | myled3=0; |
NamSom | 2:091793a4e7ec | 65 | if(checkState()!=1) return 0; |
NamSom | 2:091793a4e7ec | 66 | myled4=1; |
NamSom | 2:091793a4e7ec | 67 | wait(delay); |
NamSom | 2:091793a4e7ec | 68 | myled4=0; |
NamSom | 2:091793a4e7ec | 69 | if(checkState()!=1) return 0; |
NamSom | 2:091793a4e7ec | 70 | myled5=1; |
NamSom | 2:091793a4e7ec | 71 | wait(delay); |
NamSom | 2:091793a4e7ec | 72 | myled5=0; |
NamSom | 2:091793a4e7ec | 73 | if(checkState()!=1) return 0; |
NamSom | 2:091793a4e7ec | 74 | myled6=1; |
NamSom | 2:091793a4e7ec | 75 | wait(delay); |
NamSom | 2:091793a4e7ec | 76 | myled6=0; |
NamSom | 2:091793a4e7ec | 77 | if(checkState()!=1) return 0; |
NamSom | 2:091793a4e7ec | 78 | myled7=1; |
NamSom | 2:091793a4e7ec | 79 | wait(delay); |
NamSom | 2:091793a4e7ec | 80 | myled7=0; |
NamSom | 2:091793a4e7ec | 81 | |
NamSom | 2:091793a4e7ec | 82 | return 0; |
NamSom | 2:091793a4e7ec | 83 | } |
NamSom | 2:091793a4e7ec | 84 | |
NamSom | 2:091793a4e7ec | 85 | int pt2() |
NamSom | 2:091793a4e7ec | 86 | { |
NamSom | 2:091793a4e7ec | 87 | myled3=1; |
NamSom | 2:091793a4e7ec | 88 | myled4=1; |
NamSom | 2:091793a4e7ec | 89 | wait(delay); |
NamSom | 2:091793a4e7ec | 90 | myled3=0; |
NamSom | 2:091793a4e7ec | 91 | myled4=0; |
NamSom | 2:091793a4e7ec | 92 | if(checkState()!=2) return 0; |
NamSom | 2:091793a4e7ec | 93 | myled2=1; |
NamSom | 2:091793a4e7ec | 94 | myled5=1; |
NamSom | 2:091793a4e7ec | 95 | wait(delay); |
NamSom | 2:091793a4e7ec | 96 | myled2=0; |
NamSom | 2:091793a4e7ec | 97 | myled5=0; |
NamSom | 2:091793a4e7ec | 98 | if(checkState()!=2) return 0; |
NamSom | 2:091793a4e7ec | 99 | myled1=1; |
NamSom | 2:091793a4e7ec | 100 | myled6=1; |
NamSom | 2:091793a4e7ec | 101 | wait(delay); |
NamSom | 2:091793a4e7ec | 102 | myled1=0; |
NamSom | 2:091793a4e7ec | 103 | myled6=0; |
NamSom | 2:091793a4e7ec | 104 | if(checkState()!=2) return 0; |
NamSom | 2:091793a4e7ec | 105 | myled0=1; |
NamSom | 2:091793a4e7ec | 106 | myled7=1; |
NamSom | 2:091793a4e7ec | 107 | wait(delay); |
NamSom | 2:091793a4e7ec | 108 | myled0=0; |
NamSom | 2:091793a4e7ec | 109 | myled7=0; |
NamSom | 2:091793a4e7ec | 110 | if(checkState()!=2) return 0; |
NamSom | 2:091793a4e7ec | 111 | myled0=1; |
NamSom | 2:091793a4e7ec | 112 | myled7=1; |
NamSom | 2:091793a4e7ec | 113 | wait(delay); |
NamSom | 2:091793a4e7ec | 114 | myled0=0; |
NamSom | 2:091793a4e7ec | 115 | myled7=0; |
NamSom | 2:091793a4e7ec | 116 | if(checkState()!=2) return 0; |
NamSom | 2:091793a4e7ec | 117 | myled1=1; |
NamSom | 2:091793a4e7ec | 118 | myled6=1; |
NamSom | 2:091793a4e7ec | 119 | wait(delay); |
NamSom | 2:091793a4e7ec | 120 | myled1=0; |
NamSom | 2:091793a4e7ec | 121 | myled6=0; |
NamSom | 2:091793a4e7ec | 122 | if(checkState()!=2) return 0; |
NamSom | 2:091793a4e7ec | 123 | myled2=1; |
NamSom | 2:091793a4e7ec | 124 | myled5=1; |
NamSom | 2:091793a4e7ec | 125 | wait(delay); |
NamSom | 2:091793a4e7ec | 126 | myled2=0; |
NamSom | 2:091793a4e7ec | 127 | myled5=0; |
NamSom | 2:091793a4e7ec | 128 | if(checkState()!=2) return 0; |
NamSom | 2:091793a4e7ec | 129 | myled3=1; |
NamSom | 2:091793a4e7ec | 130 | myled4=1; |
NamSom | 2:091793a4e7ec | 131 | wait(delay); |
NamSom | 2:091793a4e7ec | 132 | myled3=0; |
NamSom | 2:091793a4e7ec | 133 | myled4=0; |
NamSom | 2:091793a4e7ec | 134 | |
NamSom | 2:091793a4e7ec | 135 | return 0; |
NamSom | 2:091793a4e7ec | 136 | } |
NamSom | 2:091793a4e7ec | 137 | |
NamSom | 2:091793a4e7ec | 138 | int pt3() |
NamSom | 2:091793a4e7ec | 139 | { |
NamSom | 2:091793a4e7ec | 140 | myled0=1; |
NamSom | 2:091793a4e7ec | 141 | myled2=1; |
NamSom | 2:091793a4e7ec | 142 | myled4=1; |
NamSom | 2:091793a4e7ec | 143 | myled6=1; |
NamSom | 2:091793a4e7ec | 144 | wait(delay); |
NamSom | 2:091793a4e7ec | 145 | myled0=0; |
NamSom | 2:091793a4e7ec | 146 | myled2=0; |
NamSom | 2:091793a4e7ec | 147 | myled4=0; |
NamSom | 2:091793a4e7ec | 148 | myled6=0; |
NamSom | 2:091793a4e7ec | 149 | if(checkState()!=3) return 0; |
NamSom | 2:091793a4e7ec | 150 | myled1=1; |
NamSom | 2:091793a4e7ec | 151 | myled3=1; |
NamSom | 2:091793a4e7ec | 152 | myled5=1; |
NamSom | 2:091793a4e7ec | 153 | myled7=1; |
NamSom | 2:091793a4e7ec | 154 | wait(delay); |
NamSom | 2:091793a4e7ec | 155 | myled1=0; |
NamSom | 2:091793a4e7ec | 156 | myled3=0; |
NamSom | 2:091793a4e7ec | 157 | myled5=0; |
NamSom | 2:091793a4e7ec | 158 | myled7=0; |
NamSom | 2:091793a4e7ec | 159 | return 0; |
NamSom | 2:091793a4e7ec | 160 | } |
NamSom | 2:091793a4e7ec | 161 | |
NamSom | 2:091793a4e7ec | 162 | void black() |
NamSom | 2:091793a4e7ec | 163 | { |
NamSom | 2:091793a4e7ec | 164 | myled0=0; |
NamSom | 2:091793a4e7ec | 165 | myled1=0; |
NamSom | 2:091793a4e7ec | 166 | myled2=0; |
NamSom | 2:091793a4e7ec | 167 | myled3=0; |
NamSom | 2:091793a4e7ec | 168 | myled4=0; |
NamSom | 2:091793a4e7ec | 169 | myled5=0; |
NamSom | 2:091793a4e7ec | 170 | myled6=0; |
NamSom | 2:091793a4e7ec | 171 | myled7=0; |
Peeraya | 0:212362d7d1f9 | 172 | } |
Peeraya | 0:212362d7d1f9 | 173 | |
Peeraya | 0:212362d7d1f9 | 174 | |
NamSom | 2:091793a4e7ec | 175 | int main() |
NamSom | 2:091793a4e7ec | 176 | { |
NamSom | 2:091793a4e7ec | 177 | while(1) { |
NamSom | 2:091793a4e7ec | 178 | if(inbutton1==1 && inbutton2==0 && inbutton3==0) |
NamSom | 2:091793a4e7ec | 179 | |
NamSom | 2:091793a4e7ec | 180 | { |
NamSom | 2:091793a4e7ec | 181 | pt1(); |
NamSom | 2:091793a4e7ec | 182 | } |
NamSom | 2:091793a4e7ec | 183 | if(inbutton1==0 && inbutton2==1 && inbutton3==0) { |
NamSom | 2:091793a4e7ec | 184 | pt2(); |
NamSom | 2:091793a4e7ec | 185 | } |
NamSom | 2:091793a4e7ec | 186 | if(inbutton1==0 && inbutton2==0 && inbutton3==1) { |
NamSom | 2:091793a4e7ec | 187 | pt3(); |
NamSom | 2:091793a4e7ec | 188 | |
NamSom | 2:091793a4e7ec | 189 | } else { |
NamSom | 2:091793a4e7ec | 190 | black(); |
NamSom | 2:091793a4e7ec | 191 | } |
NamSom | 2:091793a4e7ec | 192 | } |
NamSom | 2:091793a4e7ec | 193 | } |
NamSom | 2:091793a4e7ec | 194 | |
NamSom | 2:091793a4e7ec | 195 |