hey
Dependencies: 4DGL-uLCD-SE PinDetect SDFileSystem mbed-rtos mbed wave_player
Fork of 4180_Lab4_v6 by
main.cpp@1:abd7e0631db8, 2016-10-31 (annotated)
- Committer:
- swilliams346
- Date:
- Mon Oct 31 19:52:09 2016 +0000
- Revision:
- 1:abd7e0631db8
- Parent:
- 0:9f1095365b9a
- Child:
- 2:68c4e1539da5
Splash doesn't work
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
swilliams346 | 0:9f1095365b9a | 1 | #include "mbed.h" |
swilliams346 | 0:9f1095365b9a | 2 | #include "rtos.h" |
swilliams346 | 1:abd7e0631db8 | 3 | #include "PinDetect.h" |
swilliams346 | 0:9f1095365b9a | 4 | #include "uLCD_4DGL.h" |
swilliams346 | 0:9f1095365b9a | 5 | uLCD_4DGL uLCD(p28, p27, p30); |
swilliams346 | 0:9f1095365b9a | 6 | #include "Robot.h" |
swilliams346 | 0:9f1095365b9a | 7 | #include "Nav_Switch.h" |
swilliams346 | 0:9f1095365b9a | 8 | #include "Speaker.h" |
swilliams346 | 0:9f1095365b9a | 9 | #include "wave_player.h" |
swilliams346 | 0:9f1095365b9a | 10 | #include "SDFileSystem.h" |
swilliams346 | 0:9f1095365b9a | 11 | BusOut mbedleds(LED1,LED2,LED3,LED4); |
swilliams346 | 0:9f1095365b9a | 12 | Robot myRobot; |
swilliams346 | 1:abd7e0631db8 | 13 | Nav_Switch myNav( p25, p22, p23, p21, p24); |
swilliams346 | 0:9f1095365b9a | 14 | Mutex stdio_mutex; |
swilliams346 | 0:9f1095365b9a | 15 | AnalogOut DACout(p18); // used to play sound on speaker |
swilliams346 | 0:9f1095365b9a | 16 | wave_player waver(&DACout); |
swilliams346 | 0:9f1095365b9a | 17 | SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card setup |
swilliams346 | 1:abd7e0631db8 | 18 | //PinDetect pb1(p25); |
swilliams346 | 0:9f1095365b9a | 19 | //Wiring Set-up: |
swilliams346 | 0:9f1095365b9a | 20 | //Speaker: p18 |
swilliams346 | 0:9f1095365b9a | 21 | //SD Card: DO=p6,SCK=p7,DI=p5,CS=p8,VCC=Vout,GND=GND |
swilliams346 | 0:9f1095365b9a | 22 | //Thumb-Stick: U=p25,C=p24,L=p23,D=p22,R=p21,+=pVout,-=GND |
swilliams346 | 0:9f1095365b9a | 23 | bool Alive = 1; |
swilliams346 | 0:9f1095365b9a | 24 | bool Drown = 0; |
swilliams346 | 1:abd7e0631db8 | 25 | bool Splat = 0; |
swilliams346 | 1:abd7e0631db8 | 26 | double CarWidth = 10; |
swilliams346 | 0:9f1095365b9a | 27 | int i = 11; |
swilliams346 | 0:9f1095365b9a | 28 | int j = 11; |
swilliams346 | 0:9f1095365b9a | 29 | int C1 = 11; |
swilliams346 | 0:9f1095365b9a | 30 | int C2 = 32; |
swilliams346 | 0:9f1095365b9a | 31 | int C3 = 53; |
swilliams346 | 0:9f1095365b9a | 32 | int C4 = 74; |
swilliams346 | 0:9f1095365b9a | 33 | int C5 = 95; |
swilliams346 | 0:9f1095365b9a | 34 | int C6 = 116; |
swilliams346 | 1:abd7e0631db8 | 35 | double Position1 = 90; |
swilliams346 | 1:abd7e0631db8 | 36 | double Position2 = 90; |
swilliams346 | 1:abd7e0631db8 | 37 | double Column1; |
swilliams346 | 1:abd7e0631db8 | 38 | double Column2; |
swilliams346 | 0:9f1095365b9a | 39 | int Rate1 = 3; |
swilliams346 | 1:abd7e0631db8 | 40 | int FrogX; |
swilliams346 | 1:abd7e0631db8 | 41 | int FrogY; |
swilliams346 | 0:9f1095365b9a | 42 | |
swilliams346 | 1:abd7e0631db8 | 43 | /*void pb1_hit_callback (void) |
swilliams346 | 1:abd7e0631db8 | 44 | { |
swilliams346 | 1:abd7e0631db8 | 45 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 46 | myRobot.moveForward(); |
swilliams346 | 1:abd7e0631db8 | 47 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 48 | }*/ |
swilliams346 | 1:abd7e0631db8 | 49 | |
swilliams346 | 1:abd7e0631db8 | 50 | void DeathCheck_thread(void const *argument) |
swilliams346 | 0:9f1095365b9a | 51 | { |
swilliams346 | 0:9f1095365b9a | 52 | while(Alive) { |
swilliams346 | 1:abd7e0631db8 | 53 | FrogX = myRobot.getXPosition(); |
swilliams346 | 1:abd7e0631db8 | 54 | FrogY = myRobot.getYPosition(); |
swilliams346 | 0:9f1095365b9a | 55 | |
swilliams346 | 1:abd7e0631db8 | 56 | if(FrogY == 32){ //Check win-condition on landing on Row 2 |
swilliams346 | 1:abd7e0631db8 | 57 | Alive = 0; |
swilliams346 | 1:abd7e0631db8 | 58 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 59 | uLCD.locate(1,1); |
swilliams346 | 1:abd7e0631db8 | 60 | uLCD.printf("VICTORY!"); |
swilliams346 | 1:abd7e0631db8 | 61 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 62 | }//End 53 |
swilliams346 | 1:abd7e0631db8 | 63 | if(FrogY == 74){ //Check dangers on water Row 4 |
swilliams346 | 1:abd7e0631db8 | 64 | if(FrogX == 32 || FrogX == 74 || FrogX == 116){ |
swilliams346 | 0:9f1095365b9a | 65 | Alive = 0; |
swilliams346 | 0:9f1095365b9a | 66 | Drown = 1; |
swilliams346 | 0:9f1095365b9a | 67 | |
swilliams346 | 0:9f1095365b9a | 68 | stdio_mutex.lock(); |
swilliams346 | 0:9f1095365b9a | 69 | myRobot.drawDrown1(); |
swilliams346 | 0:9f1095365b9a | 70 | stdio_mutex.unlock(); |
swilliams346 | 0:9f1095365b9a | 71 | Thread::wait(50); |
swilliams346 | 0:9f1095365b9a | 72 | stdio_mutex.lock(); |
swilliams346 | 0:9f1095365b9a | 73 | myRobot.drawDrown2(); |
swilliams346 | 0:9f1095365b9a | 74 | stdio_mutex.unlock(); |
swilliams346 | 0:9f1095365b9a | 75 | Thread::wait(50); |
swilliams346 | 0:9f1095365b9a | 76 | stdio_mutex.lock(); |
swilliams346 | 0:9f1095365b9a | 77 | myRobot.drawDrown3(); |
swilliams346 | 0:9f1095365b9a | 78 | stdio_mutex.unlock(); |
swilliams346 | 0:9f1095365b9a | 79 | Thread::wait(50); |
swilliams346 | 0:9f1095365b9a | 80 | stdio_mutex.lock(); |
swilliams346 | 0:9f1095365b9a | 81 | myRobot.drawDrown4(); |
swilliams346 | 0:9f1095365b9a | 82 | stdio_mutex.unlock(); |
swilliams346 | 0:9f1095365b9a | 83 | Thread::wait(50); |
swilliams346 | 0:9f1095365b9a | 84 | stdio_mutex.lock(); |
swilliams346 | 0:9f1095365b9a | 85 | myRobot.drawDrown5(); |
swilliams346 | 0:9f1095365b9a | 86 | stdio_mutex.unlock(); |
swilliams346 | 0:9f1095365b9a | 87 | } |
swilliams346 | 1:abd7e0631db8 | 88 | }//End 74 |
swilliams346 | 1:abd7e0631db8 | 89 | Thread::wait(10); |
swilliams346 | 1:abd7e0631db8 | 90 | }//End While |
swilliams346 | 1:abd7e0631db8 | 91 | }//End Thread |
swilliams346 | 1:abd7e0631db8 | 92 | |
swilliams346 | 1:abd7e0631db8 | 93 | void AutoPilot_thread(void const *argument) |
swilliams346 | 1:abd7e0631db8 | 94 | { |
swilliams346 | 1:abd7e0631db8 | 95 | while(Alive) { |
swilliams346 | 1:abd7e0631db8 | 96 | //Auto-pilot Testing |
swilliams346 | 1:abd7e0631db8 | 97 | |
swilliams346 | 1:abd7e0631db8 | 98 | //stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 99 | //myRobot.drawEraser(); |
swilliams346 | 1:abd7e0631db8 | 100 | //myRobot.moveForward(); |
swilliams346 | 1:abd7e0631db8 | 101 | //myRobot.drawFrog(); |
swilliams346 | 1:abd7e0631db8 | 102 | //stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 103 | //Thread::wait(50); |
swilliams346 | 1:abd7e0631db8 | 104 | |
swilliams346 | 1:abd7e0631db8 | 105 | break; |
swilliams346 | 0:9f1095365b9a | 106 | } |
swilliams346 | 0:9f1095365b9a | 107 | } |
swilliams346 | 0:9f1095365b9a | 108 | |
swilliams346 | 0:9f1095365b9a | 109 | void Traffic1_thread(void const *argument) //Blue Car |
swilliams346 | 0:9f1095365b9a | 110 | { |
swilliams346 | 1:abd7e0631db8 | 111 | while(Alive) { |
swilliams346 | 0:9f1095365b9a | 112 | Position1 = Position1 + Rate1; |
swilliams346 | 0:9f1095365b9a | 113 | if(Position1 > 140 ){ |
swilliams346 | 0:9f1095365b9a | 114 | Position1 = -10; |
swilliams346 | 0:9f1095365b9a | 115 | } |
swilliams346 | 1:abd7e0631db8 | 116 | |
swilliams346 | 1:abd7e0631db8 | 117 | if(FrogY == 95){ //Check dangers on Traffic 1 Row 5 |
swilliams346 | 1:abd7e0631db8 | 118 | if(((Position1 + CarWidth)>(FrogX - 5)) && ((Position1 - CarWidth)<(FrogX + 5))){ |
swilliams346 | 1:abd7e0631db8 | 119 | Alive = 0; |
swilliams346 | 1:abd7e0631db8 | 120 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 121 | myRobot.drawDeadFrog(); |
swilliams346 | 1:abd7e0631db8 | 122 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 123 | } |
swilliams346 | 1:abd7e0631db8 | 124 | } |
swilliams346 | 1:abd7e0631db8 | 125 | Column1 = (ceil((Position1 - CarWidth)/21))*21; |
swilliams346 | 1:abd7e0631db8 | 126 | |
swilliams346 | 0:9f1095365b9a | 127 | /*stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 128 | uLCD.locate(10,1); |
swilliams346 | 1:abd7e0631db8 | 129 | uLCD.printf("%3.0f", Column1); |
swilliams346 | 0:9f1095365b9a | 130 | stdio_mutex.unlock(); |
swilliams346 | 0:9f1095365b9a | 131 | */ |
swilliams346 | 0:9f1095365b9a | 132 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 133 | myRobot.drawRoad(Column1-10,95); |
swilliams346 | 1:abd7e0631db8 | 134 | myRobot.drawRoad(Column1-31,95); |
swilliams346 | 1:abd7e0631db8 | 135 | myRobot.drawCar1(Position1,CarWidth); |
swilliams346 | 0:9f1095365b9a | 136 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 137 | Thread::wait(10); |
swilliams346 | 0:9f1095365b9a | 138 | } |
swilliams346 | 0:9f1095365b9a | 139 | } |
swilliams346 | 0:9f1095365b9a | 140 | |
swilliams346 | 0:9f1095365b9a | 141 | void Traffic2_thread(void const *argument) //Red Car |
swilliams346 | 0:9f1095365b9a | 142 | { |
swilliams346 | 1:abd7e0631db8 | 143 | while(Alive) { |
swilliams346 | 0:9f1095365b9a | 144 | Position2 = Position2 - Rate1; |
swilliams346 | 0:9f1095365b9a | 145 | if(Position2 < 0 ){ |
swilliams346 | 0:9f1095365b9a | 146 | Position2 = 140; |
swilliams346 | 0:9f1095365b9a | 147 | } |
swilliams346 | 1:abd7e0631db8 | 148 | |
swilliams346 | 1:abd7e0631db8 | 149 | if(FrogY == 53){ //Check dangers on Traffic 2 Row 3 |
swilliams346 | 1:abd7e0631db8 | 150 | if(((Position2 + CarWidth)>(FrogX - 5)) && ((Position2 - CarWidth)<(FrogX + 5))){ |
swilliams346 | 1:abd7e0631db8 | 151 | Alive = 0; |
swilliams346 | 1:abd7e0631db8 | 152 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 153 | myRobot.drawDeadFrog(); |
swilliams346 | 1:abd7e0631db8 | 154 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 155 | } |
swilliams346 | 1:abd7e0631db8 | 156 | } |
swilliams346 | 1:abd7e0631db8 | 157 | Column2 = (ceil((Position2 - CarWidth)/21))*21; |
swilliams346 | 0:9f1095365b9a | 158 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 159 | myRobot.drawRoad(Column2+10,53); |
swilliams346 | 1:abd7e0631db8 | 160 | myRobot.drawRoad(Column2+31,53); |
swilliams346 | 1:abd7e0631db8 | 161 | myRobot.drawCar2(Position2,CarWidth); |
swilliams346 | 0:9f1095365b9a | 162 | stdio_mutex.unlock(); |
swilliams346 | 0:9f1095365b9a | 163 | Thread::wait(35); |
swilliams346 | 0:9f1095365b9a | 164 | } |
swilliams346 | 0:9f1095365b9a | 165 | } |
swilliams346 | 0:9f1095365b9a | 166 | |
swilliams346 | 0:9f1095365b9a | 167 | void SFX_thread(void const *argument) |
swilliams346 | 0:9f1095365b9a | 168 | { |
swilliams346 | 1:abd7e0631db8 | 169 | while(1){ |
swilliams346 | 1:abd7e0631db8 | 170 | if(Alive == 1){ |
swilliams346 | 1:abd7e0631db8 | 171 | //stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 172 | //uLCD.locate(1,1); |
swilliams346 | 1:abd7e0631db8 | 173 | //uLCD.printf("DRY"); |
swilliams346 | 1:abd7e0631db8 | 174 | //stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 175 | } |
swilliams346 | 1:abd7e0631db8 | 176 | |
swilliams346 | 1:abd7e0631db8 | 177 | if(Drown == 1){ |
swilliams346 | 1:abd7e0631db8 | 178 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 179 | uLCD.locate(1,1); |
swilliams346 | 1:abd7e0631db8 | 180 | uLCD.printf("SPLASH!"); |
swilliams346 | 1:abd7e0631db8 | 181 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 182 | |
swilliams346 | 1:abd7e0631db8 | 183 | FILE *wave_file; |
swilliams346 | 1:abd7e0631db8 | 184 | wave_file=fopen("/sd/Splash.wav","r"); |
swilliams346 | 1:abd7e0631db8 | 185 | waver.play(wave_file); |
swilliams346 | 1:abd7e0631db8 | 186 | fclose(wave_file); |
swilliams346 | 1:abd7e0631db8 | 187 | } |
swilliams346 | 1:abd7e0631db8 | 188 | if(Splat == 1){ |
swilliams346 | 1:abd7e0631db8 | 189 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 190 | uLCD.locate(1,1); |
swilliams346 | 1:abd7e0631db8 | 191 | uLCD.printf("SPLAT!"); |
swilliams346 | 1:abd7e0631db8 | 192 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 193 | |
swilliams346 | 1:abd7e0631db8 | 194 | //FILE *wave_file; |
swilliams346 | 1:abd7e0631db8 | 195 | //wave_file=fopen("/sd/Splat.wav","r"); |
swilliams346 | 1:abd7e0631db8 | 196 | //waver.play(wave_file); |
swilliams346 | 1:abd7e0631db8 | 197 | //fclose(wave_file); |
swilliams346 | 1:abd7e0631db8 | 198 | } |
swilliams346 | 1:abd7e0631db8 | 199 | Thread::wait(10); |
swilliams346 | 0:9f1095365b9a | 200 | } |
swilliams346 | 0:9f1095365b9a | 201 | } |
swilliams346 | 0:9f1095365b9a | 202 | |
swilliams346 | 0:9f1095365b9a | 203 | void Location_thread(void const *argument) |
swilliams346 | 0:9f1095365b9a | 204 | { |
swilliams346 | 0:9f1095365b9a | 205 | while(1){ |
swilliams346 | 0:9f1095365b9a | 206 | //stdio_mutex.lock(); |
swilliams346 | 0:9f1095365b9a | 207 | //uLCD.locate(1,1); |
swilliams346 | 0:9f1095365b9a | 208 | //uLCD.printf("%5.0d", myRobot.getXPosition()); |
swilliams346 | 0:9f1095365b9a | 209 | //uLCD.locate(8,1); |
swilliams346 | 0:9f1095365b9a | 210 | //uLCD.printf("%5.0d", myRobot.getYPosition()); |
swilliams346 | 0:9f1095365b9a | 211 | //stdio_mutex.unlock(); |
swilliams346 | 0:9f1095365b9a | 212 | Thread::wait(10); |
swilliams346 | 0:9f1095365b9a | 213 | } |
swilliams346 | 0:9f1095365b9a | 214 | } |
swilliams346 | 1:abd7e0631db8 | 215 | |
swilliams346 | 0:9f1095365b9a | 216 | void ThumbStick_thread(void const *argument) |
swilliams346 | 0:9f1095365b9a | 217 | { |
swilliams346 | 0:9f1095365b9a | 218 | while(1) { |
swilliams346 | 1:abd7e0631db8 | 219 | // Player Movement checked with navigation switch |
swilliams346 | 1:abd7e0631db8 | 220 | if (myNav.left() ) |
swilliams346 | 1:abd7e0631db8 | 221 | { |
swilliams346 | 1:abd7e0631db8 | 222 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 223 | myRobot.moveLeft(); |
swilliams346 | 1:abd7e0631db8 | 224 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 225 | } |
swilliams346 | 1:abd7e0631db8 | 226 | |
swilliams346 | 1:abd7e0631db8 | 227 | if (myNav.right()) |
swilliams346 | 1:abd7e0631db8 | 228 | { |
swilliams346 | 1:abd7e0631db8 | 229 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 230 | myRobot.moveRight(); |
swilliams346 | 1:abd7e0631db8 | 231 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 232 | } |
swilliams346 | 1:abd7e0631db8 | 233 | |
swilliams346 | 1:abd7e0631db8 | 234 | if (myNav.up()) |
swilliams346 | 1:abd7e0631db8 | 235 | { |
swilliams346 | 1:abd7e0631db8 | 236 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 237 | myRobot.moveForward(); |
swilliams346 | 1:abd7e0631db8 | 238 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 239 | } |
swilliams346 | 1:abd7e0631db8 | 240 | |
swilliams346 | 1:abd7e0631db8 | 241 | if (myNav.down()) |
swilliams346 | 1:abd7e0631db8 | 242 | { |
swilliams346 | 1:abd7e0631db8 | 243 | stdio_mutex.lock(); |
swilliams346 | 1:abd7e0631db8 | 244 | myRobot.moveBackward(); |
swilliams346 | 1:abd7e0631db8 | 245 | stdio_mutex.unlock(); |
swilliams346 | 1:abd7e0631db8 | 246 | } |
swilliams346 | 1:abd7e0631db8 | 247 | Thread::wait(150); |
swilliams346 | 0:9f1095365b9a | 248 | } |
swilliams346 | 0:9f1095365b9a | 249 | } |
swilliams346 | 0:9f1095365b9a | 250 | |
swilliams346 | 0:9f1095365b9a | 251 | int main() |
swilliams346 | 0:9f1095365b9a | 252 | { |
swilliams346 | 1:abd7e0631db8 | 253 | //pb1.mode(PullUp); |
swilliams346 | 1:abd7e0631db8 | 254 | // Delay for initial pullup to take effect |
swilliams346 | 1:abd7e0631db8 | 255 | //Thread::wait(1000*.01); |
swilliams346 | 1:abd7e0631db8 | 256 | // Setup Interrupt callback functions for a pb hit |
swilliams346 | 1:abd7e0631db8 | 257 | //pb1.attach_deasserted(&pb1_hit_callback); |
swilliams346 | 1:abd7e0631db8 | 258 | // Start sampling pb inputs using interrupts |
swilliams346 | 1:abd7e0631db8 | 259 | //pb1.setSampleFrequency(); |
swilliams346 | 0:9f1095365b9a | 260 | //Initialize Background |
swilliams346 | 1:abd7e0631db8 | 261 | uLCD.baudrate(500000); |
swilliams346 | 0:9f1095365b9a | 262 | uLCD.filled_rectangle(0, 0 , 127, 127, RED); |
swilliams346 | 0:9f1095365b9a | 263 | myRobot.drawOutline(); |
swilliams346 | 0:9f1095365b9a | 264 | while(i <= 116){ |
swilliams346 | 0:9f1095365b9a | 265 | while(j <= 116){ |
swilliams346 | 0:9f1095365b9a | 266 | myRobot.drawHelper(i,j); |
swilliams346 | 0:9f1095365b9a | 267 | j = j + 21; |
swilliams346 | 0:9f1095365b9a | 268 | } |
swilliams346 | 0:9f1095365b9a | 269 | j = 11; |
swilliams346 | 0:9f1095365b9a | 270 | i = i + 21; |
swilliams346 | 0:9f1095365b9a | 271 | } |
swilliams346 | 0:9f1095365b9a | 272 | myRobot.drawFrog(); |
swilliams346 | 0:9f1095365b9a | 273 | |
swilliams346 | 0:9f1095365b9a | 274 | Thread thread1(AutoPilot_thread); |
swilliams346 | 0:9f1095365b9a | 275 | Thread thread2(Location_thread); |
swilliams346 | 0:9f1095365b9a | 276 | Thread thread3(ThumbStick_thread); |
swilliams346 | 0:9f1095365b9a | 277 | Thread thread4(SFX_thread); |
swilliams346 | 0:9f1095365b9a | 278 | Thread thread5(Traffic1_thread); |
swilliams346 | 0:9f1095365b9a | 279 | Thread thread6(Traffic2_thread); |
swilliams346 | 1:abd7e0631db8 | 280 | Thread thread7(DeathCheck_thread); |
swilliams346 | 0:9f1095365b9a | 281 | |
swilliams346 | 0:9f1095365b9a | 282 | while (1) { |
swilliams346 | 0:9f1095365b9a | 283 | |
swilliams346 | 0:9f1095365b9a | 284 | Thread::wait(500); |
swilliams346 | 0:9f1095365b9a | 285 | } |
swilliams346 | 0:9f1095365b9a | 286 | } |