New version of quadcopter software written to OO principles
Dependencies: mbed MODSERIAL filter mbed-rtos ConfigFile PID PPM FreeIMU_external_magnetometer TinyGPS
FlightController/StabController/StabController.h
- Committer:
- joe4465
- Date:
- 2015-05-08
- Revision:
- 4:9ffbf9101992
- Parent:
- 2:969dfa4f2436
File content as of revision 4:9ffbf9101992:
#include "mbed.h" #include "Global.h" #include "PidWrapper.h" #include "ConfigFileWrapper.h" #include "NavigationController.h" #ifndef StabController_H #define StabController_H class StabController { public: StabController(Sensors& sensors, NavigationController& navigationController, ConfigFileWrapper& configFileWrapper); ~StabController(); PidWrapper::PidOutput compute(); PidWrapper::FlightControllerPidParameters getPidParameters(); void reset(); void setYawStabPidParameters(PidWrapper::PidParameter pidParameters); void setPitchStabPidParameters(PidWrapper::PidParameter pidParameters); void setRollStabPidParameters(PidWrapper::PidParameter pidParameters); void setYawRatePidParameters(PidWrapper::PidParameter pidParameters); void setPitchRatePidParameters(PidWrapper::PidParameter pidParameters); void setRollRatePidParameters(PidWrapper::PidParameter pidParameters); PidWrapper::StabPidState getStabPidState(); private: Sensors& _sensors; NavigationController& _navigationController; ConfigFileWrapper& _configFileWrapper; PidWrapper _yawRatePidController; PidWrapper _pitchRatePidController; PidWrapper _rollRatePidController; PidWrapper _yawStabPidController; PidWrapper _pitchStabPidController; PidWrapper _rollStabPidController; NavigationController::SetPoint _setPoints; Imu::Rate _rate; Imu::Angle _angle; PidWrapper::PidOutput _stabPidOutputs; PidWrapper::PidOutput _ratePidOutputs; }; #endif