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: hardware.h
- Revision:
- 11:002927b2675d
- Parent:
- 10:bb9c778f8e3e
- Child:
- 13:33024b5880b3
--- a/hardware.h Fri Oct 27 09:29:29 2017 +0000 +++ b/hardware.h Fri Oct 27 10:30:06 2017 +0000 @@ -1,5 +1,5 @@ -#ifndef HARDWARE -#define HARDWARE +#ifndef HARDWARE_H +#define HARDWARE_H #include "mbed.h" #include "PpmRegen.h" @@ -7,7 +7,19 @@ #include "hcsr04.h" #include "ConfigFile.h" + +void loadConfigFile(void); +void writeSettingsToConfig(void); +void writeErrorLog(char *message); +void ConvertToCharArray(float number); + Serial pc(USBTX, USBRX); // tx, rx +PID* _groundDistance; +HCSR04* _sonic; +PpmRegen* _ppmRegen; + +ConfigFile _configFile; +LocalFileSystem local("local"); Thread serverThread; Thread distanceThread; @@ -19,23 +31,16 @@ PwmOut* _yaw = new PwmOut(p24); PwmOut* _aux1 = new PwmOut(p25); PwmOut* _aux2 = new PwmOut(p26); -PpmRegen* _ppmRegen; -PID* _groundDistance; -HCSR04* _sonic; - -ConfigFile _configFile; -LocalFileSystem local("local"); char* _str = new char[1024]; - float _P = 0; float _I = 0; float _D = 0; -void loadConfigFile(void); -void writeServerSettingsToConfig(void); -void ConvertToCharArray(float number); + + + void loadConfigFile(void){ //reading configFile @@ -50,7 +55,7 @@ } -void writeServerSettingsToConfig(void){ +void writeSettingsToConfig(void){ ConvertToCharArray(_P); _configFile.setValue("P", _str); ConvertToCharArray(_I); @@ -62,6 +67,15 @@ } + +void writeErrorLog(char *message){ + FILE *fp = fopen("/local/errorlog.txt", "w"); + fprintf(fp, message); + fclose(fp); + +} + + //Converts float to char array void ConvertToCharArray(float number) {