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:
40:0aa1cefe80ab
Parent:
39:93d8aa47f4ce
Child:
41:5fe200d20022
--- a/main.cpp	Sun Mar 25 12:57:04 2018 +0000
+++ b/main.cpp	Tue May 15 10:34:35 2018 +0000
@@ -49,10 +49,24 @@
     _distanceThread->set_priority(osPriorityRealtime);
     
     //_sonic = new HCSR04(p7, p8, p5, p6);
-    _sonic = new HCSR04(p5, p6, p7, p8);
+    _sonic = new HCSR04(p5, p6);
+    
+    //_frontSensorThread.start(front_sensor);
+    //_frontSensorThread.set_priority(osPriorityHigh);
+    
+    //_leftSensorThread.start(left_sensor);
+    //_leftSensorThread.set_priority(osPriorityHigh);
     
-    _frontSensorThread.start(front_sensor);
-    _frontSensorThread.set_priority(osPriorityLow);
+    _leftSensorThread.start(callback(semaphore_thread, (void *)"leftSensor"));
+    _frontSensorThread.start(callback(semaphore_thread, (void *)"frontSensor"));
+    _rightSensorThread.start(callback(semaphore_thread, (void *)"rightSensor"));
+    _backSensorThread.start(callback(semaphore_thread, (void *)"backSensor"));
+    _frontSensorThread.set_priority(osPriorityHigh);
+    _leftSensorThread.set_priority(osPriorityHigh);
+    _rightSensorThread.set_priority(osPriorityHigh);
+    _backSensorThread.set_priority(osPriorityHigh);
+    
+    
     
     
     pc.printf("starting server thread \n\r");