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

Revision:
1:3a5a074b39e0
Parent:
0:5cefadfd5898
Child:
2:d172c9963f87
--- a/main.cpp	Fri Sep 22 11:29:54 2017 +0000
+++ b/main.cpp	Wed Sep 27 17:06:19 2017 +0000
@@ -1,7 +1,5 @@
 #include "mbed.h"
-#include "PPMOut.h"
-#include "PPMIn.h"
-//#include "PPMIn.h"
+#include "PpmRegen.h"
 //#include "ultrasonic.h"
 //#include "MyPID.h"
 
@@ -11,57 +9,43 @@
 #define PIEZZO_STOP 0.0
 #define PPMOUT_CHANNELS 6
 #define PPMIN_CHANNELS 8
+#define PPMIN_FILTERS 5
 
+#define ROLL 0
+#define PITCH 1
+#define YAW 2   
+#define THROTTLE 3
+
+//PPM SETTINGS
+PpmRegen ppmRegen(p28, p21, p22, p23, p24, p25, p26);
 Serial pc(USBTX, USBRX); // tx, rx
-PpmOut ppmOut(p26, PPMOUT_CHANNELS);
-PpmIn ppmIn(p21);
 
-
-uint16_t ppmOutChannelsValue[PPMOUT_CHANNELS];
 uint16_t ppmInChannelsValue[PPMIN_CHANNELS];
 
 //FUNCTIONS
-void print_ppmOut(void);
 void print_ppmIn(void);
 
 int main(){
-        
+    //PPMIN SETTINGS
+    /*
+    NVIC_SetPriority(TIMER0_IRQn, 0);
+    NVIC_SetPriority(TIMER1_IRQn, 1);
+    NVIC_SetPriority(TIMER2_IRQn, 2);
+    NVIC_SetPriority(TIMER3_IRQn, 3);
+    */
+    
     while(1){
-        print_ppmIn();
-        print_ppmOut();
-        
-        if(ppmIn.rise_captured()){
-            pc.printf("Rise captured \n\r");
-        }
+        //print_ppmIn();
+        //print_ppmOut();
                         
     }
         
 }
 
-
-
-
-
-
-
-
-
-
-void print_ppmOut(){
-    ppmOut.getAllChannels(ppmOutChannelsValue);
-            
-    for(uint8_t channel= 0; channel < PPMOUT_CHANNELS; channel++){
-        pc.printf("PPM Out Channel %d: %d \n\r", channel, ppmOutChannelsValue[channel]);
-    }
-}
-
 void print_ppmIn(){
-    ppmIn.getAllChannels(ppmInChannelsValue);
+    ppmRegen.getAllChannels(ppmInChannelsValue);
     for(uint8_t channel= 0; channel < PPMIN_CHANNELS; channel++){
         pc.printf("PPM In Channel %d: %d \n\r", channel, ppmInChannelsValue[channel]);
     }
     pc.printf("\n\r");
 }
-
-
-