most functionality to splashdwon, find neutral and start mission. short timeouts still in code for testing, will adjust to go directly to sit_idle after splashdown

Dependencies:   mbed MODSERIAL FATFileSystem

Committer:
joel_ssc
Date:
Mon May 13 19:25:26 2019 +0000
Revision:
92:52a91656458a
Parent:
59:4c04d5c7aed1
version for first flight test, timeouts not yet set correctly

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tnhnrl 59:4c04d5c7aed1 1 #ifndef PIDCONTROLLER_H
tnhnrl 59:4c04d5c7aed1 2 #define PIDCONTROLLER_H
tnhnrl 59:4c04d5c7aed1 3
tnhnrl 59:4c04d5c7aed1 4 #include "mbed.h"
tnhnrl 59:4c04d5c7aed1 5
tnhnrl 59:4c04d5c7aed1 6 class PIDController {
tnhnrl 59:4c04d5c7aed1 7 public:
tnhnrl 59:4c04d5c7aed1 8 PIDController();
tnhnrl 59:4c04d5c7aed1 9
tnhnrl 59:4c04d5c7aed1 10 void update(float position, float velocity, float dt);
tnhnrl 59:4c04d5c7aed1 11 float getOutput();
tnhnrl 59:4c04d5c7aed1 12
tnhnrl 59:4c04d5c7aed1 13 void setPgain(float gain);
tnhnrl 59:4c04d5c7aed1 14 void setIgain(float gain);
tnhnrl 59:4c04d5c7aed1 15 void setDgain(float gain);
tnhnrl 59:4c04d5c7aed1 16
tnhnrl 59:4c04d5c7aed1 17 void writeSetPoint(float cmd);
tnhnrl 59:4c04d5c7aed1 18
tnhnrl 59:4c04d5c7aed1 19 void setHiLimit(float high_limit);
tnhnrl 59:4c04d5c7aed1 20 void setLoLimit(float low_limit);
tnhnrl 59:4c04d5c7aed1 21
tnhnrl 59:4c04d5c7aed1 22 void toggleDeadBand(bool toggle);
tnhnrl 59:4c04d5c7aed1 23 void setDeadBand(float deadband);
tnhnrl 59:4c04d5c7aed1 24
tnhnrl 59:4c04d5c7aed1 25 void setHeadingFlag(bool heading_flag);
tnhnrl 59:4c04d5c7aed1 26
tnhnrl 59:4c04d5c7aed1 27 protected:
tnhnrl 59:4c04d5c7aed1 28 float _setPoint;
tnhnrl 59:4c04d5c7aed1 29 float _error;
tnhnrl 59:4c04d5c7aed1 30 float _integral;
tnhnrl 59:4c04d5c7aed1 31 float _output;
tnhnrl 59:4c04d5c7aed1 32
tnhnrl 59:4c04d5c7aed1 33 float _Pgain;
tnhnrl 59:4c04d5c7aed1 34 float _Dgain;
tnhnrl 59:4c04d5c7aed1 35 float _Igain;
tnhnrl 59:4c04d5c7aed1 36 float _hiLimit; //these parameters clamp the allowable output
tnhnrl 59:4c04d5c7aed1 37 float _loLimit; //these parameters clamp the allowable output
tnhnrl 59:4c04d5c7aed1 38 float _deadband;
tnhnrl 59:4c04d5c7aed1 39 bool _deadbandFlag;
tnhnrl 59:4c04d5c7aed1 40 bool _headingFlag;
tnhnrl 59:4c04d5c7aed1 41
tnhnrl 59:4c04d5c7aed1 42 float _temp_velocity;
tnhnrl 59:4c04d5c7aed1 43 };
tnhnrl 59:4c04d5c7aed1 44
tnhnrl 59:4c04d5c7aed1 45 #endif