Ahmed Allibhoy / Mbed 2 deprecated MM_Competition

Dependencies:   QEI mbed

Committer:
jasonliujc
Date:
Fri Dec 04 05:12:57 2015 +0000
Revision:
4:d59328f14363
Parent:
1:45f1f67eab62
Child:
5:0975b797bf54
pid update;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jasonliujc 4:d59328f14363 1 //#ifndef PID_H
jasonliujc 4:d59328f14363 2 //#define PID_H
jasonliujc 4:d59328f14363 3 //
jasonliujc 4:d59328f14363 4 //#include "mbed.h"
jasonliujc 4:d59328f14363 5 //
jasonliujc 4:d59328f14363 6 //class PIDController
jasonliujc 4:d59328f14363 7 //{
jasonliujc 4:d59328f14363 8 //public:
jasonliujc 4:d59328f14363 9 // PIDController(void (*output)(float), float (*error)(void),
jasonliujc 4:d59328f14363 10 // float Kp, float Ki, float Kd,
jasonliujc 4:d59328f14363 11 // float dt = .1) :
jasonliujc 4:d59328f14363 12 // m_Kp(Kp), m_Ki(Ki), m_Kd(Kd),
jasonliujc 4:d59328f14363 13 // m_dt(dt), m_integral(0), m_pError(0)
jasonliujc 4:d59328f14363 14 // {
jasonliujc 4:d59328f14363 15 // m_out = output;
jasonliujc 4:d59328f14363 16 // m_error = error;
jasonliujc 4:d59328f14363 17 // };
jasonliujc 4:d59328f14363 18 //
jasonliujc 4:d59328f14363 19 // void onLoop();
jasonliujc 4:d59328f14363 20 // void reset();
jasonliujc 4:d59328f14363 21 //private:
jasonliujc 4:d59328f14363 22 // float iController(float error);
jasonliujc 4:d59328f14363 23 // float dController(float error);
jasonliujc 4:d59328f14363 24 //
jasonliujc 4:d59328f14363 25 // float m_integral;
jasonliujc 4:d59328f14363 26 // float m_pError;
jasonliujc 4:d59328f14363 27 //
jasonliujc 4:d59328f14363 28 // float m_dt;
jasonliujc 4:d59328f14363 29 //
jasonliujc 4:d59328f14363 30 // float m_Kp, m_Ki, m_Kd;
jasonliujc 4:d59328f14363 31 // void (*m_out)(float);
jasonliujc 4:d59328f14363 32 // float (*m_error)(void);
jasonliujc 4:d59328f14363 33 //};
jasonliujc 4:d59328f14363 34 //
jasonliujc 4:d59328f14363 35 //
jasonliujc 4:d59328f14363 36
jasonliujc 4:d59328f14363 37
ahmedallibhoy 1:45f1f67eab62 38 #ifndef PID_H
ahmedallibhoy 1:45f1f67eab62 39 #define PID_H
jasonliujc 4:d59328f14363 40 #include"mbed.h"
ahmedallibhoy 1:45f1f67eab62 41
ahmedallibhoy 1:45f1f67eab62 42
jasonliujc 4:d59328f14363 43 class ctrl{
jasonliujc 4:d59328f14363 44 public:
ahmedallibhoy 1:45f1f67eab62 45
jasonliujc 4:d59328f14363 46 void setKp(double num);
jasonliujc 4:d59328f14363 47 void setKi(double num);
jasonliujc 4:d59328f14363 48 void setKd(double num);
jasonliujc 4:d59328f14363 49 void setprevErr(double num);
jasonliujc 4:d59328f14363 50 void setErr(double num);
jasonliujc 4:d59328f14363 51 void setCorrection(double num);
jasonliujc 4:d59328f14363 52 double pctrl();
jasonliujc 4:d59328f14363 53 double ictrl();
jasonliujc 4:d59328f14363 54 double dctrl();
jasonliujc 4:d59328f14363 55 double total();
jasonliujc 4:d59328f14363 56 void adjust(double xSpeed,double ySpeed,double k1, double k2);
ahmedallibhoy 1:45f1f67eab62 57
jasonliujc 4:d59328f14363 58 private:
jasonliujc 4:d59328f14363 59 double error;
jasonliujc 4:d59328f14363 60 double ki;
jasonliujc 4:d59328f14363 61 double kd;
jasonliujc 4:d59328f14363 62 double kp;
jasonliujc 4:d59328f14363 63 double prevErr;
jasonliujc 4:d59328f14363 64 double correction;
jasonliujc 4:d59328f14363 65 double doubleegrater;
jasonliujc 4:d59328f14363 66 double decay;
jasonliujc 4:d59328f14363 67
ahmedallibhoy 1:45f1f67eab62 68 };
ahmedallibhoy 1:45f1f67eab62 69
jasonliujc 4:d59328f14363 70 #endif //PID_H