Class blmc_drivers::CanBusMotorBoard¶
-
class CanBusMotorBoard : public blmc_drivers::MotorBoardInterface, public blmc_drivers::MotorBoardInterface¶
This class CanBusMotorBoard implements a MotorBoardInterface specific to CAN networks.
Public Functions
Construct a new CanBusMotorBoard object.
- Parameters:
can_bus –
history_length –
-
~CanBusMotorBoard()¶
Destroy the CanBusMotorBoard object.
-
inline virtual Ptr<const ScalarTimeseries> get_measurement(const int &index) const¶
Getters.
Get the measurement data.
- Parameters:
index – is the kind of measurement we are insterested in.
- Returns:
Ptr<const ScalarTimeseries> is the list of the last measurements acquiered from the CAN card.
-
inline virtual Ptr<const StatusTimeseries> get_status() const¶
Get the status of the CAN card.
- Returns:
Ptr<const StatusTimeseries> is the list of last acquiered status.
-
inline virtual Ptr<const ScalarTimeseries> get_control(const int &index) const¶
Get the controls to be sent.
- Parameters:
index – the kind of control we are interested in.
- Returns:
Ptr<const ScalarTimeseries> is the list of the control to be sent.
-
inline virtual Ptr<const CommandTimeseries> get_command() const¶
Get the commands to be sent.
- Returns:
Ptr<const CommandTimeseries> is the list of the command to be sent.
-
inline virtual Ptr<const ScalarTimeseries> get_sent_control(const int &index) const¶
Get the already sent controls.
- Parameters:
index – the kind of control we are interested in.
- Returns:
Ptr<const ScalarTimeseries> is the list of the sent cotnrols.
-
inline virtual Ptr<const CommandTimeseries> get_sent_command() const¶
Get the already sent commands.
- Returns:
Ptr<const CommandTimeseries> is the list of the sent cotnrols.
-
inline virtual void set_control(const double &control, const int &index)¶
Setters.
Set the controls, see MotorBoardInterface::set_control
- Parameters:
control –
index –
-
inline virtual void set_command(const MotorBoardCommand &command)¶
Set the commands, see MotorBoardInterface::set_command.
- Parameters:
command –
-
virtual void send_if_input_changed()¶
Send the actual command and controls.
-
void wait_until_ready()¶
returns only once board and motors are ready.
-
bool is_ready()¶
-
void pause_motors()¶
- Todo:
: this function should go away, and we should add somewhere a warning in case there is a timeout
-
void disable_can_recv_timeout()¶
Disable the can reciever timeout.
-
CanBusMotorBoard(std::shared_ptr<CanBusInterface> can_bus, const size_t &history_length = 1000, const int &control_timeout_ms = 100)
Construct a new CanBusMotorBoard object.
- Parameters:
can_bus –
history_length –
-
~CanBusMotorBoard()
Destroy the CanBusMotorBoard object.
-
inline virtual Ptr<const ScalarTimeseries> get_measurement(const int &index) const
Getters.
Get the measurement data.
- Parameters:
index – is the kind of measurement we are insterested in.
- Returns:
Ptr<const ScalarTimeseries> is the list of the last measurements acquiered from the CAN card.
-
inline virtual Ptr<const StatusTimeseries> get_status() const
Get the status of the CAN card.
- Returns:
Ptr<const StatusTimeseries> is the list of last acquiered status.
-
inline virtual Ptr<const ScalarTimeseries> get_control(const int &index) const
Get the controls to be sent.
- Parameters:
index – the kind of control we are interested in.
- Returns:
Ptr<const ScalarTimeseries> is the list of the control to be sent.
-
inline virtual Ptr<const CommandTimeseries> get_command() const
Get the commands to be sent.
- Returns:
Ptr<const CommandTimeseries> is the list of the command to be sent.
-
inline virtual Ptr<const ScalarTimeseries> get_sent_control(const int &index) const
Get the already sent controls.
- Parameters:
index – the kind of control we are interested in.
- Returns:
Ptr<const ScalarTimeseries> is the list of the sent cotnrols.
-
inline virtual Ptr<const CommandTimeseries> get_sent_command() const
Get the already sent commands.
- Returns:
Ptr<const CommandTimeseries> is the list of the sent cotnrols.
-
inline virtual void set_control(const double &control, const int &index)
Setters.
Set the controls, see MotorBoardInterface::set_control
- Parameters:
control –
index –
-
inline virtual void set_command(const MotorBoardCommand &command)
Set the commands, see MotorBoardInterface::set_command.
- Parameters:
command –
-
virtual void send_if_input_changed()
Send the actual command and controls.
-
void wait_until_ready()
returns only once board and motors are ready.
-
bool is_ready()
-
void pause_motors()
- Todo:
: this function should go away, and we should add somewhere a warning in case there is a timeout
-
void disable_can_recv_timeout()
Disable the can reciever timeout.