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:
30:4d1b3926a3cc
Parent:
27:5956d5e3ff63
--- a/main.cpp	Sat Jan 20 12:09:04 2018 +0000
+++ b/main.cpp	Sun Jan 21 17:58:41 2018 +0000
@@ -3,10 +3,13 @@
 #include "hardware.h"
 #include "Server.h"
 #include "PpmRegen.h"
-#include "distanceRegulation.h"
+//#include "distanceRegulation.h"
+#include "altitudeRegulation.h"
+#include "ms5611Thread.h"
 #include "hcsr04.h"
 #include "PID.h"
 #include "ConfigFile.h"
+#include "ms5611.h"
 
 //TEMP
 
@@ -19,27 +22,32 @@
 void print_ppmIn(void);
 
 //RtosTimer distanceRegulation(distanceRegulationTask, osTimerPeriodic,  (void *)0);
+float currentAltitude = 0.0;
 
 int main(){
-    
     pc.baud(115200);
     
     // INITIALIZE CLASSES
     _ppmRegen = new PpmRegen(_interruptPort);
-    _sonic = new HCSR04(p29, p30);
+    //_sonic = new HCSR04(p29, p30);
     _groundDistance = new PID(0, 0, 0, 0.005);
     
     // STARTING THREADS
     serverThread.start(serverRun);
     serverThread.set_priority(osPriorityLow);
-    _distanceThread = new Thread(distanceRegulationThread);
-    _distanceThread->set_priority(osPriorityRealtime);
-    //distanceRegulation.start(2);
-    //_distanceThread.start(distanceRegulationTask);
+    //_distanceThread = new Thread(distanceRegulationThread);
+    //_distanceThread->set_priority(osPriorityRealtime);
     
-    //wait(1);
+    ms.cmd_reset();
+    _ms5611Thread = new Thread(ms5611Thread);
+    _ms5611Thread->set_priority(osPriorityHigh);
+    
+    _altitudeThread = new Thread(altitudeRegulationThread);
+    _altitudeThread->set_priority(osPriorityRealtime);
+    
     
     while(1){
+
         Thread::wait(osWaitForever);
     }