Regenerating PPM signal based on distances from ultrasonic sensors, ESP8266 for connectin via wifi. Autonomous quadcopter behaviour, autonomou height holding. Flying direction based on front and back ultrasonic sensors.

Dependencies:   ConfigFile HCSR04 PID PPM2 mbed-rtos mbed

Branch:
DistanceRegulation
Revision:
34:5dca557e982f
Parent:
33:a2f9fea05cb9
Child:
36:ed8b7b7b6cfa
--- a/main.cpp	Sun Feb 18 17:10:48 2018 +0000
+++ b/main.cpp	Sun Feb 25 18:32:13 2018 +0000
@@ -5,6 +5,7 @@
 #include "PpmRegen.h"
 #include "distanceRegulation.h"
 #include "hcsr04.h"
+#include "front_sensor.h"
 #include "PID.h"
 #include "ConfigFile.h"
 
@@ -26,7 +27,6 @@
     
     // INITIALIZE CLASSES
     _ppmRegen = new PpmRegen(_interruptPort);
-    _sonic = new HCSR04(p5, p6);
     _groundDistance = new PID(0, 0, 0, 0.005);
     
     //setup PID
@@ -42,12 +42,21 @@
     _groundDistance->setBias(_bias);
 
     // STARTING THREADS
-    pc.printf("starting server thread \n\r");
-    serverThread.start(serverRun);
-    serverThread.set_priority(osPriorityLow);
     pc.printf("starting distance thread \n\r");
     _distanceThread = new Thread(distanceRegulationThread);
     _distanceThread->set_priority(osPriorityRealtime);
+    
+    //_sonic = new HCSR04(p7, p8, p5, p6);
+    _sonic = new HCSR04(p5, p6, p7, p8);
+    
+    _frontSensorThread.start(front_sensor);
+    _frontSensorThread.set_priority(osPriorityLow);
+    
+    
+    pc.printf("starting server thread \n\r");
+    _serverThread.start(serverRun);
+    _serverThread.set_priority(osPriorityHigh);
+    
     //distanceRegulation.start(2);
     //_distanceThread.start(distanceRegulationTask);