#ifndef PID_H #define PID_H class PID { public: PID(float kp, float ki, float kd); void setTunings(float kp, float ki, float kd); void setOutputLimits(float min, float max); void setSampleTime(int sampleTime); void reset(); float compute(float setpoint, float input); private: float kp; float ki; float kd; float minOutput; float maxOutput; float lastOutput; int sampleTime; unsigned long lastTime; float integral; float lastInput; }; #endif