#ifndef P_CONTROLLER_H #define P_CONTROLLER_H class P_controller { protected: double Kp; public: P_controller(double Kp); virtual ~P_controller() {} virtual double update(double ref, double actual); virtual void reset() {} virtual void set_Kp(double value) { Kp = value; } virtual void set_Ti(double value) { // P controller does not use Ti } }; #endif