Takeuchi Issei / Mbed 2 deprecated 4Omunisleeve3

Dependencies:   mbed Eigen

Committer:
e2011220
Date:
Wed Apr 14 07:26:19 2021 +0000
Revision:
0:ee7e9405e1c7
first

Who changed what in which revision?

UserRevisionLine numberNew contents of line
e2011220 0:ee7e9405e1c7 1 #ifndef VPID_H_
e2011220 0:ee7e9405e1c7 2 #define VPID_H_
e2011220 0:ee7e9405e1c7 3
e2011220 0:ee7e9405e1c7 4 #include "PID.h"
e2011220 0:ee7e9405e1c7 5
e2011220 0:ee7e9405e1c7 6 class VPID : public PID
e2011220 0:ee7e9405e1c7 7 {
e2011220 0:ee7e9405e1c7 8 public:
e2011220 0:ee7e9405e1c7 9 VPID(double k = 0, double Ti = 0, double Td = 0, double target = 0, double current = 0)
e2011220 0:ee7e9405e1c7 10 {
e2011220 0:ee7e9405e1c7 11 PID::set_PID(k, Ti, Td);
e2011220 0:ee7e9405e1c7 12 set_state(target, current);
e2011220 0:ee7e9405e1c7 13 }
e2011220 0:ee7e9405e1c7 14 ~VPID(){}
e2011220 0:ee7e9405e1c7 15
e2011220 0:ee7e9405e1c7 16 protected:
e2011220 0:ee7e9405e1c7 17
e2011220 0:ee7e9405e1c7 18 virtual double _get_control();
e2011220 0:ee7e9405e1c7 19 virtual void _calc_p();
e2011220 0:ee7e9405e1c7 20 virtual void _calc_i();
e2011220 0:ee7e9405e1c7 21 virtual void _calc_d();
e2011220 0:ee7e9405e1c7 22 virtual void _reset();
e2011220 0:ee7e9405e1c7 23
e2011220 0:ee7e9405e1c7 24 private:
e2011220 0:ee7e9405e1c7 25 Timer _tim;
e2011220 0:ee7e9405e1c7 26
e2011220 0:ee7e9405e1c7 27 inline void _update(double *array, double present)
e2011220 0:ee7e9405e1c7 28 {
e2011220 0:ee7e9405e1c7 29 array[0] = array[1];
e2011220 0:ee7e9405e1c7 30 array[1] = present;
e2011220 0:ee7e9405e1c7 31 }
e2011220 0:ee7e9405e1c7 32 double _p, _i, _d;
e2011220 0:ee7e9405e1c7 33 double _diff[2];
e2011220 0:ee7e9405e1c7 34 double _dctrl[2];
e2011220 0:ee7e9405e1c7 35 double _ctrl;
e2011220 0:ee7e9405e1c7 36 double _integral;
e2011220 0:ee7e9405e1c7 37 };
e2011220 0:ee7e9405e1c7 38
e2011220 0:ee7e9405e1c7 39 #endif