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
- Branch:
- DistanceRegulation
- Revision:
- 40:0aa1cefe80ab
- Parent:
- 39:93d8aa47f4ce
- Child:
- 41:5fe200d20022
--- a/main.cpp Sun Mar 25 12:57:04 2018 +0000 +++ b/main.cpp Tue May 15 10:34:35 2018 +0000 @@ -49,10 +49,24 @@ _distanceThread->set_priority(osPriorityRealtime); //_sonic = new HCSR04(p7, p8, p5, p6); - _sonic = new HCSR04(p5, p6, p7, p8); + _sonic = new HCSR04(p5, p6); + + //_frontSensorThread.start(front_sensor); + //_frontSensorThread.set_priority(osPriorityHigh); + + //_leftSensorThread.start(left_sensor); + //_leftSensorThread.set_priority(osPriorityHigh); - _frontSensorThread.start(front_sensor); - _frontSensorThread.set_priority(osPriorityLow); + _leftSensorThread.start(callback(semaphore_thread, (void *)"leftSensor")); + _frontSensorThread.start(callback(semaphore_thread, (void *)"frontSensor")); + _rightSensorThread.start(callback(semaphore_thread, (void *)"rightSensor")); + _backSensorThread.start(callback(semaphore_thread, (void *)"backSensor")); + _frontSensorThread.set_priority(osPriorityHigh); + _leftSensorThread.set_priority(osPriorityHigh); + _rightSensorThread.set_priority(osPriorityHigh); + _backSensorThread.set_priority(osPriorityHigh); + + pc.printf("starting server thread \n\r");