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:
9:074f4f94b584
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
altb2 7:cb1492f4f2c6 1 #ifndef DT1_CNTRL_H_
altb2 7:cb1492f4f2c6 2 #define DT1_CNTRL_H_
altb2 7:cb1492f4f2c6 3
altb2 7:cb1492f4f2c6 4 class DT1_Cntrl
altb2 7:cb1492f4f2c6 5 {
altb2 7:cb1492f4f2c6 6 public:
altb2 7:cb1492f4f2c6 7
altb2 7:cb1492f4f2c6 8 DT1_Cntrl(float D, float tau_f, float Ts, float uMin, float uMax);
altb2 7:cb1492f4f2c6 9
pmic 9:074f4f94b584 10 float operator()(float e)
pmic 9:074f4f94b584 11 {
pmic 9:074f4f94b584 12 return doStep(e);
altb2 7:cb1492f4f2c6 13 }
altb2 7:cb1492f4f2c6 14
pmic 9:074f4f94b584 15 virtual ~DT1_Cntrl();
altb2 7:cb1492f4f2c6 16
pmic 9:074f4f94b584 17 void reset(float initValue);
pmic 9:074f4f94b584 18 float doStep(float e);
pmic 9:074f4f94b584 19 void set_limits(float uMin, float uMax);
pmic 9:074f4f94b584 20 void setCoeff_D(float D);
pmic 9:074f4f94b584 21
altb2 7:cb1492f4f2c6 22 private:
altb2 7:cb1492f4f2c6 23
pmic 9:074f4f94b584 24 float eold, yold; // signal storage
pmic 9:074f4f94b584 25 float uMax, uMin; // max and min controll value
pmic 9:074f4f94b584 26 float Ts, tau_f, D, D_init, p; // internal parameter storage
pmic 9:074f4f94b584 27
pmic 9:074f4f94b584 28 void setCoefficients(float D, float tau_f, float Ts);
altb2 7:cb1492f4f2c6 29 };
altb2 7:cb1492f4f2c6 30
altb2 7:cb1492f4f2c6 31 #endif // #DT1_CNTRL_H