2nd Library

PID_Cntrl.h

Committer:
altb2
Date:
2021-04-27
Revision:
4:db615f5fa407
Parent:
1:b54eb3e24d2d

File content as of revision 4:db615f5fa407:

#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((double)error);
    }

    virtual     ~PID_Cntrl();

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

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

};

#endif