Class Controller

class Controller

This is a simple PD control on one motor and one slider.

Public Functions

inline Controller(std::shared_ptr<blmc_drivers::Motor> motor, std::shared_ptr<blmc_drivers::AnalogSensor> analog_sensor)

Construct a new Controller object.

Parameters
  • motor

  • analog_sensor

inline void start_loop()

main control loop

Public Static Functions

static inline THREAD_FUNCTION_RETURN_TYPE loop(void *instance_pointer)

this function is just a wrapper around the actual loop function, such that it can be spawned as a posix thread.

Private Functions

inline void loop()

this is a simple control loop which runs at a kilohertz.

it reads the measurement from the analog sensor, in this case the slider. then it scales it and sends it as the current target to the motor.

Private Members

std::shared_ptr<blmc_drivers::Motor> motor_

one motor.

std::shared_ptr<blmc_drivers::AnalogSensor> analog_sensor_

one slider.

real_time_tools::RealTimeThread rt_thread_

the realt time thread object.