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/distanceRegulation.h	Sun Mar 25 12:57:04 2018 +0000
+++ b/distanceRegulation.h	Tue May 15 10:34:35 2018 +0000
@@ -53,7 +53,7 @@
     }
     
     //distance1 = _sonic->getDistan1();
-    //pc.printf("%d \n\r", distance1);
+    //pc.printf("%f \n\r", distance1);
     
     if(_groundRegulation){
         //timer.reset();
@@ -93,14 +93,27 @@
         //pc.printf("channel throttle final value: %d \n\r", regulatedThrottle);
         
         // goAhead for ROLL
-        if(_goAhead == true){
-            _roll->pulsewidth_us(    REGULATED_ROLL);
+        if(_goAhead == true && _groundDistance->quadStabilized() && _frontDistance >= 40){
+            _pitch->pulsewidth_us(    PITCH_GO_AHEAD);
+        }
+        if(_frontDistance < 40){
+            _goAhead = false;
+            _frontWall = true;
+            _pitch->pulsewidth_us(    PITCH_GO_BACK);    
         }
         else{
-            _roll->pulsewidth_us(    channels[ROLL]);
+            _pitch->pulsewidth_us(   channels[PITCH]);
         }
+        //pc.printf("front distance %d \n\r", _frontDistance);
         
-        _pitch->pulsewidth_us(   channels[PITCH]);
+        //if(_frontWall){
+        //        
+        //}
+        
+        
+        
+        
+        _roll->pulsewidth_us(    channels[ROLL]);
         _yaw->pulsewidth_us(     channels[YAW]);
         _throttle->pulsewidth_us(regulatedThrottle);
         _aux1->pulsewidth_us(    channels[AUX1]);