Takeuchi Issei / Mbed 2 deprecated 4Omunisleeve3

Dependencies:   mbed Eigen

Revision:
0:ee7e9405e1c7
diff -r 000000000000 -r ee7e9405e1c7 shared/PID_Control/PI_D/PI_D.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/shared/PID_Control/PI_D/PI_D.h	Wed Apr 14 07:26:19 2021 +0000
@@ -0,0 +1,37 @@
+#ifndef PI_D_H_
+#define PI_D_H_
+
+#include "PID.h"
+
+class PI_D : public PID
+{
+public:
+    PI_D(double k = 0, double Ti = 0, double Td = 0, double target = 0, double current = 0)
+    {
+        PID::set_PID(k, Ti, Td);
+        set_state(target, current);
+    }
+    ~PI_D(){}
+    
+protected: 
+    
+    virtual double _get_control();
+    virtual void _calc_p();
+    virtual void _calc_i();
+    virtual void _calc_d();
+    virtual void _reset();
+
+private:
+
+    inline void _update(double *array, double present)
+    {
+        array[0] = array[1];
+        array[1] = present;
+    }
+    double _p, _i, _d;
+    double _diff[2];
+    double _integral;
+    double _measure[2];
+};
+
+#endif