Control Library by altb

Dependents:   My_Libraries IndNav_QK3_T265

PID_Cntrl.h

Committer:
altb2
Date:
2019-06-14
Revision:
2:e7c9e50a2e46
Parent:
1:1010530120ce
Child:
3:27595dd9e433

File content as of revision 2:e7c9e50a2e46:


#ifndef PID_CNTRL_H_
#define PID_CNTRL_H_

class PID_Cntrl
{
public:

    PID_Cntrl(float P, float I, float D, float tau_f, float Ts, float uMin, float uMax);

    float operator()(float error) {
        return doStep(error);
    }

    virtual     ~PID_Cntrl();

    void        reset(float initValue);
    float       doStep(float error);
    void        set_limits(float ,float );
    float       get_ulimit(void);
    
private:

    float Iold;
    float eold,yold,del;
    float uMax;
    float uMin;
    float Ts;
    float P,I,D_;
    float p, Ka;
    void setCoefficients(float P, float I, float D, float tau_f, float Ts);

};

#endif      // #PID_CNTRL_H