staubli_driver_ros2 main
ROS2 control driver for Staubli robots
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
staubli_robot_driver::Message Class Referenceabstract

Generic message structure. More...

#include <protocol.hpp>

Inheritance diagram for staubli_robot_driver::Message:
[legend]
Collaboration diagram for staubli_robot_driver::Message:
[legend]

Public Member Functions

 Message ()=default
 
virtual ~Message ()=default
 
virtual size_t get_serialized_size () const =0
 Size of the entire message in bytes.
 
virtual bool serialize (uint8_t *buffer, size_t buffer_size) const =0
 Serialize message to bytes.
 
virtual bool deserialize (uint8_t *buffer, size_t buffer_size)=0
 Deserialize bytes to message.
 
bool serialize (std::vector< uint8_t > &data) const
 Serialize message to vector.
 
bool deserialize (std::vector< uint8_t > &data)
 Deserialize message from vector.
 

Public Attributes

FrameHeader header
 Message header.
 
rclcpp::Time reception_timestamp = rclcpp::Time(0)
 Timestamp of the message reception (local clock)
 

Detailed Description

Generic message structure.

This is a base class for all messages in the protocol.

Message format:


| | | | Header | Payload | | (8 bytes) | (variable size) | |____________|_________________|

Header format (8 bytes):

Constructor & Destructor Documentation

◆ Message()

staubli_robot_driver::Message::Message ( )
default

◆ ~Message()

virtual staubli_robot_driver::Message::~Message ( )
virtualdefault

Member Function Documentation

◆ get_serialized_size()

virtual size_t staubli_robot_driver::Message::get_serialized_size ( ) const
pure virtual

◆ serialize() [1/2]

virtual bool staubli_robot_driver::Message::serialize ( uint8_t buffer,
size_t  buffer_size 
) const
pure virtual

◆ deserialize() [1/2]

virtual bool staubli_robot_driver::Message::deserialize ( uint8_t buffer,
size_t  buffer_size 
)
pure virtual

◆ serialize() [2/2]

bool staubli_robot_driver::Message::serialize ( std::vector< uint8_t > &  data) const

Serialize message to vector.

Warning
This method modifies the input vector by resizing it to the size of the message.
Parameters
dataOutput data buffer. Capacity must be at least message.get_serialized_size().
Returns
true if serialization was successful, false otherwise

◆ deserialize() [2/2]

bool staubli_robot_driver::Message::deserialize ( std::vector< uint8_t > &  data)

Deserialize message from vector.

Warning
The input vector must be at least the size of the message.
Parameters
dataInput data buffer
Returns
true if deserialization was successful, false otherwise

Member Data Documentation

◆ header

FrameHeader staubli_robot_driver::Message::header

Message header.

◆ reception_timestamp

rclcpp::Time staubli_robot_driver::Message::reception_timestamp = rclcpp::Time(0)

Timestamp of the message reception (local clock)


The documentation for this class was generated from the following file: