New version of quadcopter software written to OO principles

Dependencies:   mbed MODSERIAL filter mbed-rtos ConfigFile PID PPM FreeIMU_external_magnetometer TinyGPS

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