![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
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
Diff: main.cpp
- 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"); } - - -