Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed MODSERIAL filter mbed-rtos ConfigFile PID PPM FreeIMU_external_magnetometer TinyGPS
Diff: FlightController/RateController/RateController.h
- Revision:
- 2:969dfa4f2436
- Parent:
- 0:c6a85bb2a827
diff -r ec3521d90369 -r 969dfa4f2436 FlightController/RateController/RateController.h
--- a/FlightController/RateController/RateController.h Wed Mar 04 18:53:43 2015 +0000
+++ b/FlightController/RateController/RateController.h Wed Apr 01 11:19:21 2015 +0000
@@ -2,6 +2,7 @@
#include "Global.h"
#include "PidWrapper.h"
#include "ConfigFileWrapper.h"
+#include "NavigationController.h"
#ifndef RateController_H
#define RateController_H
@@ -9,18 +10,27 @@
class RateController
{
public:
- RateController();
+ RateController(Sensors& sensors, NavigationController& navigationController, ConfigFileWrapper& configFileWrapper);
~RateController();
- bool initialise(Sensors& sensors, NavigationController& navigationController);
- PidWrapper::PidOutputs compute();
+ PidWrapper::PidOutput compute();
+ void reset();
+ void setYawRatePidParameters(PidWrapper::PidParameter pidParameters);
+ void setPitchRatePidParameters(PidWrapper::PidParameter pidParameters);
+ void setRollRatePidParameters(PidWrapper::PidParameter pidParameters);
+ PidWrapper::RatePidState getRatePidState();
private:
- Sensors _sensors;
- NavigationController _navigationController;
- PidWrapper _yawRatePIDController;
- PidWrapper _pitchRatePIDController;
- PidWrapper _rollRatePIDController;
+ Sensors& _sensors;
+ NavigationController& _navigationController;
+ ConfigFileWrapper& _configFileWrapper;
+ PidWrapper _yawRatePidController;
+ PidWrapper _pitchRatePidController;
+ PidWrapper _rollRatePidController;
+ NavigationController::SetPoint _setPoints;
+ Imu::Rate _rate;
+ Imu::Angle _angle;
+ PidWrapper::PidOutput _pidOutputs;
};
#endif
\ No newline at end of file