Ahmed Allibhoy / Mbed 2 deprecated MM_Competition

Dependencies:   QEI mbed

Committer:
jasonliujc
Date:
Sat Dec 05 02:07:16 2015 +0000
Revision:
11:8faa068940f1
Parent:
10:332a4ad5911d
parameters to be adjusted!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jasonliujc 4:d59328f14363 1
jasonliujc 4:d59328f14363 2
ahmedallibhoy 1:45f1f67eab62 3 #ifndef PID_H
ahmedallibhoy 1:45f1f67eab62 4 #define PID_H
jasonliujc 10:332a4ad5911d 5
jasonliujc 10:332a4ad5911d 6
jasonliujc 10:332a4ad5911d 7
jasonliujc 4:d59328f14363 8 #include"mbed.h"
jasonliujc 8:1ce513eff545 9 #include "util.h"
ahmedallibhoy 1:45f1f67eab62 10
jasonliujc 10:332a4ad5911d 11
jasonliujc 10:332a4ad5911d 12
jasonliujc 4:d59328f14363 13 class ctrl{
jasonliujc 4:d59328f14363 14 public:
jasonliujc 10:332a4ad5911d 15 ctrl(){
jasonliujc 10:332a4ad5911d 16 setKp(0);
jasonliujc 10:332a4ad5911d 17 setKi(0);
jasonliujc 10:332a4ad5911d 18 setKd(0);
jasonliujc 10:332a4ad5911d 19 setprevErr(0);
jasonliujc 10:332a4ad5911d 20 setErr(0);
jasonliujc 10:332a4ad5911d 21 setCorrection(0);
jasonliujc 10:332a4ad5911d 22 floategrater=1;
jasonliujc 10:332a4ad5911d 23 decay=1;
jasonliujc 10:332a4ad5911d 24 TErr=0;
jasonliujc 10:332a4ad5911d 25 RErr=0;
jasonliujc 10:332a4ad5911d 26 prevTime=0;
jasonliujc 10:332a4ad5911d 27 timer.start();
jasonliujc 10:332a4ad5911d 28 }
jasonliujc 10:332a4ad5911d 29
ahmedallibhoy 1:45f1f67eab62 30
jasonliujc 5:0975b797bf54 31 void setKp(float num);
jasonliujc 5:0975b797bf54 32 void setKi(float num);
jasonliujc 5:0975b797bf54 33 void setKd(float num);
jasonliujc 5:0975b797bf54 34 void setprevErr(float num);
jasonliujc 5:0975b797bf54 35 void setErr(float num);
jasonliujc 5:0975b797bf54 36 void setCorrection(float num);
jasonliujc 5:0975b797bf54 37 float pctrl();
jasonliujc 5:0975b797bf54 38 float ictrl();
jasonliujc 5:0975b797bf54 39 float dctrl();
jasonliujc 5:0975b797bf54 40 float getT();
jasonliujc 5:0975b797bf54 41 float getR();
jasonliujc 5:0975b797bf54 42 float total();
jasonliujc 8:1ce513eff545 43 void adjust(float xSpeed,float L, float R);
jasonliujc 6:95722ada4706 44 void setErr();
jasonliujc 8:1ce513eff545 45 void updateErr(float e);
jasonliujc 6:95722ada4706 46
jasonliujc 4:d59328f14363 47 private:
jasonliujc 5:0975b797bf54 48 float error;
jasonliujc 5:0975b797bf54 49 float ki;
jasonliujc 5:0975b797bf54 50 float kd;
jasonliujc 10:332a4ad5911d 51 float prevTime;
jasonliujc 5:0975b797bf54 52 float kp;
jasonliujc 5:0975b797bf54 53 float prevErr;
jasonliujc 5:0975b797bf54 54 float correction;
jasonliujc 5:0975b797bf54 55 float floategrater;
jasonliujc 5:0975b797bf54 56 float decay;
jasonliujc 5:0975b797bf54 57 float TErr;
jasonliujc 5:0975b797bf54 58 float RErr;
jasonliujc 10:332a4ad5911d 59 Timer timer;
ahmedallibhoy 1:45f1f67eab62 60 };
ahmedallibhoy 1:45f1f67eab62 61
jasonliujc 4:d59328f14363 62 #endif //PID_H
jasonliujc 11:8faa068940f1 63
jasonliujc 11:8faa068940f1 64
jasonliujc 11:8faa068940f1 65 //#ifndef PID_H
jasonliujc 11:8faa068940f1 66 //#define PID_H
jasonliujc 11:8faa068940f1 67 //
jasonliujc 11:8faa068940f1 68 //#include "mbed.h"
jasonliujc 11:8faa068940f1 69 //
jasonliujc 11:8faa068940f1 70 //class PIDController
jasonliujc 11:8faa068940f1 71 //{
jasonliujc 11:8faa068940f1 72 //public:
jasonliujc 11:8faa068940f1 73 // PIDController(void (*output)(float), float (*error)(void),
jasonliujc 11:8faa068940f1 74 // float Kp, float Ki, float Kd,
jasonliujc 11:8faa068940f1 75 // float dt = .1) :
jasonliujc 11:8faa068940f1 76 // m_Kp(Kp), m_Ki(Ki), m_Kd(Kd),
jasonliujc 11:8faa068940f1 77 // m_dt(dt), m_integral(0), m_pError(0)
jasonliujc 11:8faa068940f1 78 // {
jasonliujc 11:8faa068940f1 79 // m_out = output;
jasonliujc 11:8faa068940f1 80 // m_error = error;
jasonliujc 11:8faa068940f1 81 // };
jasonliujc 11:8faa068940f1 82 //
jasonliujc 11:8faa068940f1 83 // void onLoop();
jasonliujc 11:8faa068940f1 84 // void reset();
jasonliujc 11:8faa068940f1 85 //private:
jasonliujc 11:8faa068940f1 86 // float iController(float error);
jasonliujc 11:8faa068940f1 87 // float dController(float error);
jasonliujc 11:8faa068940f1 88 //
jasonliujc 11:8faa068940f1 89 // float m_integral;
jasonliujc 11:8faa068940f1 90 // float m_pError;
jasonliujc 11:8faa068940f1 91 //
jasonliujc 11:8faa068940f1 92 // float m_dt;
jasonliujc 11:8faa068940f1 93 //
jasonliujc 11:8faa068940f1 94 // float m_Kp, m_Ki, m_Kd;
jasonliujc 11:8faa068940f1 95 // void (*m_out)(float);
jasonliujc 11:8faa068940f1 96 // float (*m_error)(void);
jasonliujc 11:8faa068940f1 97 //};
jasonliujc 11:8faa068940f1 98 //
jasonliujc 11:8faa068940f1 99 //
jasonliujc 11:8faa068940f1 100