![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
baseline build
Dependencies: FastPWM mbed-os mbed
PID.h@0:8a420ac6394e, 2017-06-19 (annotated)
- Committer:
- jrhodes5150
- Date:
- Mon Jun 19 15:55:51 2017 +0000
- Revision:
- 0:8a420ac6394e
initial build - baseline;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jrhodes5150 | 0:8a420ac6394e | 1 | #ifndef __PID_H__ |
jrhodes5150 | 0:8a420ac6394e | 2 | #define __PID_H__ |
jrhodes5150 | 0:8a420ac6394e | 3 | |
jrhodes5150 | 0:8a420ac6394e | 4 | class PID |
jrhodes5150 | 0:8a420ac6394e | 5 | { |
jrhodes5150 | 0:8a420ac6394e | 6 | public: |
jrhodes5150 | 0:8a420ac6394e | 7 | PID(void); |
jrhodes5150 | 0:8a420ac6394e | 8 | |
jrhodes5150 | 0:8a420ac6394e | 9 | void AddSample(double sampleValue,double control); |
jrhodes5150 | 0:8a420ac6394e | 10 | double GetOutput(void) { return currentOutput; } |
jrhodes5150 | 0:8a420ac6394e | 11 | double GetPidSampleValue(void) { return pidSampleValue; } |
jrhodes5150 | 0:8a420ac6394e | 12 | void Reset(void); |
jrhodes5150 | 0:8a420ac6394e | 13 | void SetOutputRange(double minOutput, double maxOutput); |
jrhodes5150 | 0:8a420ac6394e | 14 | void SetPeriodMilliseconds(double period) { msPeriod = period; } |
jrhodes5150 | 0:8a420ac6394e | 15 | void SetPID(double kp, double ki, double kd); |
jrhodes5150 | 0:8a420ac6394e | 16 | void SetTarget(double target) { this->target = target; } |
jrhodes5150 | 0:8a420ac6394e | 17 | double GetTarget(void){return target;} |
jrhodes5150 | 0:8a420ac6394e | 18 | private: |
jrhodes5150 | 0:8a420ac6394e | 19 | double minOutput, maxOutput; |
jrhodes5150 | 0:8a420ac6394e | 20 | double kp, ki, kd; |
jrhodes5150 | 0:8a420ac6394e | 21 | double errorIntegral; |
jrhodes5150 | 0:8a420ac6394e | 22 | double lastError; |
jrhodes5150 | 0:8a420ac6394e | 23 | double msPeriod; |
jrhodes5150 | 0:8a420ac6394e | 24 | double target; |
jrhodes5150 | 0:8a420ac6394e | 25 | double currentOutput; |
jrhodes5150 | 0:8a420ac6394e | 26 | double pidSampleValue; |
jrhodes5150 | 0:8a420ac6394e | 27 | }; |
jrhodes5150 | 0:8a420ac6394e | 28 | |
jrhodes5150 | 0:8a420ac6394e | 29 | |
jrhodes5150 | 0:8a420ac6394e | 30 | #endif |
jrhodes5150 | 0:8a420ac6394e | 31 |