Ahmed Allibhoy / Mbed 2 deprecated MM_Competition

Dependencies:   QEI mbed

pid.h

Committer:
jasonliujc
Date:
2015-12-04
Revision:
4:d59328f14363
Parent:
1:45f1f67eab62
Child:
5:0975b797bf54

File content as of revision 4:d59328f14363:

//#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"


class ctrl{
 public:
    
  void setKp(double num);
  void setKi(double num);
  void setKd(double num);
  void setprevErr(double num);
  void setErr(double num);
  void setCorrection(double num);
  double pctrl();
  double ictrl();
  double dctrl();
  double total();
  void adjust(double xSpeed,double ySpeed,double k1, double k2);
    
 private:
  double error;
  double ki;
  double kd;
  double kp;
  double prevErr;
  double correction;
  double doubleegrater;
  double decay;
    
};

#endif //PID_H