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

main.cpp

Committer:
edy05
Date:
2017-09-27
Revision:
1:3a5a074b39e0
Parent:
0:5cefadfd5898
Child:
2:d172c9963f87

File content as of revision 1:3a5a074b39e0:

#include "mbed.h"
#include "PpmRegen.h"
//#include "ultrasonic.h"
//#include "MyPID.h"


#define AUX1 4
#define PIEZZO_START 0.1
#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

uint16_t ppmInChannelsValue[PPMIN_CHANNELS];

//FUNCTIONS
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();
                        
    }
        
}

void print_ppmIn(){
    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");
}