Ahmed Allibhoy / Mbed 2 deprecated MM_Competition

Dependencies:   QEI mbed

Committer:
jasonliujc
Date:
Sat Dec 05 00:41:23 2015 +0000
Revision:
10:332a4ad5911d
Parent:
8:1ce513eff545
Child:
11:8faa068940f1
changes in motor, pid and sensors

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 10:332a4ad5911d 40
jasonliujc 10:332a4ad5911d 41
jasonliujc 10:332a4ad5911d 42
jasonliujc 4:d59328f14363 43 #include"mbed.h"
jasonliujc 8:1ce513eff545 44 #include "util.h"
ahmedallibhoy 1:45f1f67eab62 45
jasonliujc 10:332a4ad5911d 46
jasonliujc 10:332a4ad5911d 47
jasonliujc 4:d59328f14363 48 class ctrl{
jasonliujc 4:d59328f14363 49 public:
jasonliujc 10:332a4ad5911d 50 ctrl(){
jasonliujc 10:332a4ad5911d 51 setKp(0);
jasonliujc 10:332a4ad5911d 52 setKi(0);
jasonliujc 10:332a4ad5911d 53 setKd(0);
jasonliujc 10:332a4ad5911d 54 setprevErr(0);
jasonliujc 10:332a4ad5911d 55 setErr(0);
jasonliujc 10:332a4ad5911d 56 setCorrection(0);
jasonliujc 10:332a4ad5911d 57 floategrater=1;
jasonliujc 10:332a4ad5911d 58 decay=1;
jasonliujc 10:332a4ad5911d 59 TErr=0;
jasonliujc 10:332a4ad5911d 60 RErr=0;
jasonliujc 10:332a4ad5911d 61 prevTime=0;
jasonliujc 10:332a4ad5911d 62 timer.start();
jasonliujc 10:332a4ad5911d 63 }
jasonliujc 10:332a4ad5911d 64
ahmedallibhoy 1:45f1f67eab62 65
jasonliujc 5:0975b797bf54 66 void setKp(float num);
jasonliujc 5:0975b797bf54 67 void setKi(float num);
jasonliujc 5:0975b797bf54 68 void setKd(float num);
jasonliujc 5:0975b797bf54 69 void setprevErr(float num);
jasonliujc 5:0975b797bf54 70 void setErr(float num);
jasonliujc 5:0975b797bf54 71 void setCorrection(float num);
jasonliujc 5:0975b797bf54 72 float pctrl();
jasonliujc 5:0975b797bf54 73 float ictrl();
jasonliujc 5:0975b797bf54 74 float dctrl();
jasonliujc 5:0975b797bf54 75 float getT();
jasonliujc 5:0975b797bf54 76 float getR();
jasonliujc 5:0975b797bf54 77 float total();
jasonliujc 8:1ce513eff545 78 void adjust(float xSpeed,float L, float R);
jasonliujc 6:95722ada4706 79 void setErr();
jasonliujc 8:1ce513eff545 80 void updateErr(float e);
jasonliujc 6:95722ada4706 81
jasonliujc 4:d59328f14363 82 private:
jasonliujc 5:0975b797bf54 83 float error;
jasonliujc 5:0975b797bf54 84 float ki;
jasonliujc 5:0975b797bf54 85 float kd;
jasonliujc 10:332a4ad5911d 86 float prevTime;
jasonliujc 5:0975b797bf54 87 float kp;
jasonliujc 5:0975b797bf54 88 float prevErr;
jasonliujc 5:0975b797bf54 89 float correction;
jasonliujc 5:0975b797bf54 90 float floategrater;
jasonliujc 5:0975b797bf54 91 float decay;
jasonliujc 5:0975b797bf54 92 float TErr;
jasonliujc 5:0975b797bf54 93 float RErr;
jasonliujc 10:332a4ad5911d 94 Timer timer;
ahmedallibhoy 1:45f1f67eab62 95 };
ahmedallibhoy 1:45f1f67eab62 96
jasonliujc 4:d59328f14363 97 #endif //PID_H