![](/media/cache/profiles/8158fa3e4de806e614f7ff02e7b22fde.jpg.50x50_q85.png)
New version of quadcopter software written to OO principles
Dependencies: mbed MODSERIAL filter mbed-rtos ConfigFile PID PPM FreeIMU_external_magnetometer TinyGPS
Diff: FlightController/FlightController.h
- Revision:
- 0:c6a85bb2a827
- Child:
- 2:969dfa4f2436
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FlightController/FlightController.h Wed Mar 04 18:50:37 2015 +0000 @@ -0,0 +1,38 @@ +#include "mbed.h" +#include "Global.h" +#include "rtos.h" +#include "Status.h" +#include "MotorMixer.h" +#include "PidWrapper.h" +#include "RateController.h" +#include "StabController.h" + +#ifndef FlightController_H +#define FlightController_H + +class FlightController +{ + public: + FlightController(); + ~FlightController(); + + bool initialise(Status& status, Sensors& sensors, NavigationController& navigationController, PinName motor1, PinName motor2, PinName motor3, PinName motor4); + PidWrapper::PidValues getyawRatePID(); + PidWrapper::PidValues getPitchRatePID(); + PidWrapper::PidValues getRollRatePID(); + PidWrapper::PidValues getyawStabPID(); + PidWrapper::PidValues getPitchStabPID(); + PidWrapper::PidValues getRollStabPID(); + MotorMixer::MotorPower getMotorPower(); + + private: + static void threadStarter(void const *p); + void threadWorker(); + RtosTimer* _rtosTimer; + Status _status; + MotorMixer _motorMixer; + RateController _rateController; + StabController _stabController; +}; + +#endif \ No newline at end of file