Basic funcitonality

Dependencies:   mbed mbed-rtos SevenSegmentSerial HC_SR04_Ultrasonic_Library

Revision:
11:1a6658a543e0
Parent:
10:a3796a403d28
--- a/main.cpp	Fri Apr 30 15:01:34 2021 +0000
+++ b/main.cpp	Sat May 01 02:58:59 2021 +0000
@@ -15,6 +15,7 @@
 
 Thread      thread1;
 Thread      thread2;
+Thread      thread3;
 Serial      pc(USBTX,USBRX);
 DigitalOut  led0(p5);
 DigitalOut  led1(p6);
@@ -89,6 +90,20 @@
     rgbCtrl3 = 0;
 }
 
+void false_speaker()
+{
+    while(1) {
+
+        speaker.period(1.0/B4NOTE);
+        speaker = 0.5;
+        Thread::wait(200);
+        speaker = 0;
+        speaker.period(1.0/B4NOTE);
+        speaker = 0.5;
+        Thread::wait(200);
+    }
+}
+
 // Plays bleep for crossing finish line
 void play_audio()
 {
@@ -111,7 +126,11 @@
 
     if (width[0] - distance >= threshold[0]) {
         //pc.printf("Past starting line\n");
-        led0 = 1;
+        rgbGreen = 0;
+        rgbRed = 1;
+        rgbCtrl1 = 1;
+        rgbCtrl2 = 1;
+        rgbCtrl3 = 1;
         led1 = 0;
         led2 = 0;
         current_lap++;
@@ -227,10 +246,8 @@
         sonar0.checkDistance();
         if (current_lap) {
             thread2.terminate();
-            speaker = 0.5;
-            speaker.period(1/B4NOTE);
+            thread3.start(&false_speaker);
             while(1) {
-                speaker = 0;
                 rgbCtrl1 = rgbCtrl2 = rgbCtrl3 = 0;
                 led0 = led1 = led2 = 0;
                 rgbRed = 0;
@@ -247,11 +264,11 @@
                 led1 = !led1;
                 led2 = !led2;
                 Thread::wait(200);
-                //wait for start char from Pi
             }
         }
     }
 
+
     while(1) {
         switch (track_state) {
             case start:
@@ -277,6 +294,5 @@
                 Thread::wait(50);
             }
         }
-        Thread::wait(50);
     }
-}
\ No newline at end of file
+}