Files
Embedded-System-Projects/Project_3_Dynamic_Controller/include/speed_controller.h
T

47 lines
819 B
C++

#ifndef SPEED_CONTROLLER_H
#define SPEED_CONTROLLER_H
#include <encoder.h>
#include <speed_estimator.h>
#include <motor_driver.h>
#include <controller.h>
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