Control Library by altb

Dependents:   My_Libraries IndNav_QK3_T265

Committer:
pmic
Date:
Thu Jan 16 09:12:50 2020 +0000
Revision:
15:c70cad2f4e64
Parent:
0:d49418189c5c
Revisit IIR_filter.h and IIR_filter.cpp. Change internal double to float arithmetic.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb 0:d49418189c5c 1 class PI_Cntrl
altb 0:d49418189c5c 2 {
altb 0:d49418189c5c 3 public:
altb 0:d49418189c5c 4
altb 0:d49418189c5c 5 PI_Cntrl(float Kp, float Tn, float Ts);
altb 0:d49418189c5c 6 PI_Cntrl(float Kp, float Tn, float Ts, float uMax);
altb 0:d49418189c5c 7 PI_Cntrl(float Kp, float Tn, float Ts, float uMax, float uMin);
altb 0:d49418189c5c 8
altb 0:d49418189c5c 9 float operator()(float error) {
altb 0:d49418189c5c 10 return doStep((double)error);
altb 0:d49418189c5c 11 }
altb 0:d49418189c5c 12
altb 0:d49418189c5c 13 virtual ~PI_Cntrl();
altb 0:d49418189c5c 14
altb 0:d49418189c5c 15 void reset(float initValue);
altb 0:d49418189c5c 16 float doStep(double error);
altb 0:d49418189c5c 17
altb 0:d49418189c5c 18 private:
altb 0:d49418189c5c 19
altb 0:d49418189c5c 20 double b0;
altb 0:d49418189c5c 21 double b1;
altb 0:d49418189c5c 22 double b2;
altb 0:d49418189c5c 23 double s;
altb 0:d49418189c5c 24 double uMax;
altb 0:d49418189c5c 25 double uMin;
altb 0:d49418189c5c 26
altb 0:d49418189c5c 27 void setCoefficients(float Kp, float Tn, float Ts);
altb 0:d49418189c5c 28
altb 0:d49418189c5c 29 };