Ahmed Allibhoy / Mbed 2 deprecated MM_Competition

Dependencies:   QEI mbed

pid.h

Committer:
jasonliujc
Date:
2015-12-04
Revision:
8:1ce513eff545
Parent:
6:95722ada4706
Child:
10:332a4ad5911d

File content as of revision 8:1ce513eff545:

//#ifndef PID_H
//#define PID_H
//
//#include "mbed.h"
//
//class PIDController
//{
//public:
//    PIDController(void (*output)(float), float (*error)(void), 
//        float Kp, float Ki, float Kd, 
//        float dt = .1) :
//        m_Kp(Kp), m_Ki(Ki), m_Kd(Kd), 
//        m_dt(dt), m_integral(0), m_pError(0)
//    {
//        m_out = output;
//        m_error = error;
//    };
//    
//    void onLoop();  
//    void reset();  
//private:
//    float iController(float error);
//    float dController(float error);
//
//    float m_integral;
//    float m_pError;
//    
//    float m_dt;
//
//    float m_Kp, m_Ki, m_Kd;
//    void (*m_out)(float);
//    float (*m_error)(void);
//};
//
//


#ifndef PID_H
#define PID_H
#include"mbed.h"
#include "util.h"

class ctrl{
 public:
    
  void setKp(float num);
  void setKi(float num);
  void setKd(float num);
  void setprevErr(float num);
  void setErr(float num);
  void setCorrection(float num);
  float pctrl();
  float ictrl();
  float dctrl();
  float getT();
  float getR();
  float total();
  void adjust(float xSpeed,float L, float R);
  void setErr();
  void updateErr(float e);
  
 private:
  float error;
  float ki;
  float kd;
  float kp;
  float prevErr;
  float correction;
  float floategrater;
  float decay;
  float TErr;
  float RErr;
  
};

#endif //PID_H