New version of quadcopter software written to OO principles

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

Committer:
joe4465
Date:
Fri May 08 09:07:38 2015 +0000
Revision:
4:9ffbf9101992
Parent:
2:969dfa4f2436
End of FYP

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joe4465 2:969dfa4f2436 1 #include "mbed.h"
joe4465 2:969dfa4f2436 2 #include "Global.h"
joe4465 2:969dfa4f2436 3 #include "PidWrapper.h"
joe4465 2:969dfa4f2436 4 #include "ConfigFileWrapper.h"
joe4465 2:969dfa4f2436 5 #include "NavigationController.h"
joe4465 2:969dfa4f2436 6
joe4465 2:969dfa4f2436 7 #ifndef StabController_H
joe4465 2:969dfa4f2436 8 #define StabController_H
joe4465 2:969dfa4f2436 9
joe4465 2:969dfa4f2436 10 class StabController
joe4465 2:969dfa4f2436 11 {
joe4465 2:969dfa4f2436 12 public:
joe4465 2:969dfa4f2436 13 StabController(Sensors& sensors, NavigationController& navigationController, ConfigFileWrapper& configFileWrapper);
joe4465 2:969dfa4f2436 14 ~StabController();
joe4465 2:969dfa4f2436 15
joe4465 2:969dfa4f2436 16 PidWrapper::PidOutput compute();
joe4465 2:969dfa4f2436 17 PidWrapper::FlightControllerPidParameters getPidParameters();
joe4465 2:969dfa4f2436 18 void reset();
joe4465 2:969dfa4f2436 19 void setYawStabPidParameters(PidWrapper::PidParameter pidParameters);
joe4465 2:969dfa4f2436 20 void setPitchStabPidParameters(PidWrapper::PidParameter pidParameters);
joe4465 2:969dfa4f2436 21 void setRollStabPidParameters(PidWrapper::PidParameter pidParameters);
joe4465 2:969dfa4f2436 22 void setYawRatePidParameters(PidWrapper::PidParameter pidParameters);
joe4465 2:969dfa4f2436 23 void setPitchRatePidParameters(PidWrapper::PidParameter pidParameters);
joe4465 2:969dfa4f2436 24 void setRollRatePidParameters(PidWrapper::PidParameter pidParameters);
joe4465 2:969dfa4f2436 25 PidWrapper::StabPidState getStabPidState();
joe4465 2:969dfa4f2436 26
joe4465 2:969dfa4f2436 27 private:
joe4465 2:969dfa4f2436 28 Sensors& _sensors;
joe4465 2:969dfa4f2436 29 NavigationController& _navigationController;
joe4465 2:969dfa4f2436 30 ConfigFileWrapper& _configFileWrapper;
joe4465 2:969dfa4f2436 31 PidWrapper _yawRatePidController;
joe4465 2:969dfa4f2436 32 PidWrapper _pitchRatePidController;
joe4465 2:969dfa4f2436 33 PidWrapper _rollRatePidController;
joe4465 2:969dfa4f2436 34 PidWrapper _yawStabPidController;
joe4465 2:969dfa4f2436 35 PidWrapper _pitchStabPidController;
joe4465 2:969dfa4f2436 36 PidWrapper _rollStabPidController;
joe4465 2:969dfa4f2436 37 NavigationController::SetPoint _setPoints;
joe4465 2:969dfa4f2436 38 Imu::Rate _rate;
joe4465 2:969dfa4f2436 39 Imu::Angle _angle;
joe4465 2:969dfa4f2436 40 PidWrapper::PidOutput _stabPidOutputs;
joe4465 2:969dfa4f2436 41 PidWrapper::PidOutput _ratePidOutputs;
joe4465 2:969dfa4f2436 42 };
joe4465 2:969dfa4f2436 43
joe4465 2:969dfa4f2436 44 #endif