class pid { public: pid(); void set(double k_p, double k_i, double k_d, double delta_t); double run(double arg); private: // internal states double lastarg; double argint; bool init; // gains and sample time double p; double i; double d; double dt; };