-data logging revision

Dependencies:   FastPWM

Committer:
ernstpre
Date:
Tue Aug 24 08:51:13 2021 +0000
Revision:
2:92c25cb669f4
Parent:
1:25a2b47ca291
Publish Commit 24/8/21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb2 0:d2e117716219 1 #ifndef PID_CNTRL_H_
altb2 0:d2e117716219 2 #define PID_CNTRL_H_
altb2 0:d2e117716219 3
altb2 0:d2e117716219 4 class PID_Cntrl
altb2 0:d2e117716219 5 {
altb2 0:d2e117716219 6 public:
altb2 0:d2e117716219 7
altb2 0:d2e117716219 8 PID_Cntrl(float P, float I, float D, float tau_f, float Ts, float uMin, float uMax);
altb2 0:d2e117716219 9 PID_Cntrl() {};
altb2 0:d2e117716219 10
altb2 0:d2e117716219 11 float operator()(float e)
altb2 0:d2e117716219 12 {
altb2 0:d2e117716219 13 return update(e);
altb2 0:d2e117716219 14 }
altb2 0:d2e117716219 15
altb2 0:d2e117716219 16 virtual ~PID_Cntrl();
altb2 0:d2e117716219 17
altb2 0:d2e117716219 18 void reset(float initValue);
altb2 0:d2e117716219 19 void setCoefficients(float P, float I, float D, float tau_f, float Ts, float uMin, float uMax);
altb2 0:d2e117716219 20 float update(float e);
ernstpre 1:25a2b47ca291 21 float saturate(float);
ernstpre 1:25a2b47ca291 22
altb2 0:d2e117716219 23 private:
altb2 0:d2e117716219 24
ernstpre 1:25a2b47ca291 25 float P, I, D, tau_f, Ts, uMin, uMax;
ernstpre 1:25a2b47ca291 26 float Ppart, Ipart, Dpart, e_old;
ernstpre 1:25a2b47ca291 27
altb2 0:d2e117716219 28 };
altb2 0:d2e117716219 29
altb2 0:d2e117716219 30 #endif