#ifndef SPEED_CONTROLLER_H #define SPEED_CONTROLLER_H #include #include #include #include class Speed_controller { public: Speed_controller( Encoder& encoder, Speed_estimator& estimator, Motor_driver& motor, Controller& controller ); void start(); void stop(); void brake(); void update(); void set_reference(double rpm); double reference() const; void set_controller(Controller& controller); double actual_rpm() const; double control_output() const; private: Encoder& encoder; Speed_estimator& estimator; Motor_driver& motor; Controller* controller; bool running; double referenceRPM; double actualRPM; double controlOutput; }; #endif