A class to represent all messages sent to and from the Sick LD unit. More...
#include <SickLDMessage.hh>
Public Member Functions | |
void | BuildMessage (const uint8_t *const payload_buffer, const unsigned int payload_length) |
Constructs a Sick LD message given parameter values. | |
uint8_t | GetChecksum () const |
uint8_t | GetServiceCode () const |
uint8_t | GetServiceSubcode () const |
void | ParseMessage (const uint8_t *const message_buffer) |
Parses a sequence of bytes into a SickLDMessage object. | |
void | Print () const |
Print the message contents. | |
SickLDMessage () | |
A default constructor. | |
SickLDMessage (const uint8_t *const payload_buffer, const unsigned int payload_length) | |
Another constructor. | |
SickLDMessage (const uint8_t *const message_buffer) | |
Another constructor. | |
~SickLDMessage () | |
Private Member Functions | |
uint8_t | _computeXOR (const uint8_t *const data, const uint32_t length) |
Compute the message checksum (single-byte XOR). |
A class to represent all messages sent to and from the Sick LD unit.
Definition at line 35 of file SickLDMessage.hh.
SickToolbox::SickLDMessage::SickLDMessage | ( | const uint8_t *const | payload_buffer, |
const unsigned int | payload_length | ||
) |
Another constructor.
Constructs a packet by using BuildMessage
*payload_buffer | The payload for the packet as an array of bytes (including the header) |
payload_length | The length of the payload array in bytes |
Definition at line 45 of file SickLDMessage.cc.
SickToolbox::SickLDMessage::SickLDMessage | ( | const uint8_t *const | message_buffer | ) |
Another constructor.
Constructs a packet using ParseMessage()
*message_buffer | A well-formed message to be parsed into the class' fields |
Definition at line 56 of file SickLDMessage.cc.
Destructor
Definition at line 151 of file SickLDMessage.cc.
uint8_t SickToolbox::SickLDMessage::_computeXOR | ( | const uint8_t *const | data, |
const uint32_t | length | ||
) | [private] |
Compute the message checksum (single-byte XOR).
Computes the checksum of the frame. NOTE: Uses XOR of single bytes over packet payload data.
data | The address of the first data element in a sequence of bytes to be included in the sum |
length | The number of byte in the data sequence |
Definition at line 139 of file SickLDMessage.cc.
void SickToolbox::SickLDMessage::BuildMessage | ( | const uint8_t *const | payload_buffer, |
const unsigned int | payload_length | ||
) |
Constructs a Sick LD message given parameter values.
Construct a well-formed raw packet
*payload_buffer | An address of the first byte to be copied into the message's payload |
payload_length | The number of bytes to be copied into the message buffer |
Reimplemented from SickToolbox::SickMessage< SICK_LD_MSG_HEADER_LEN, SICK_LD_MSG_PAYLOAD_MAX_LEN, SICK_LD_MSG_TRAILER_LEN >.
Definition at line 68 of file SickLDMessage.cc.
uint8_t SickToolbox::SickLDMessage::GetChecksum | ( | ) | const [inline] |
Get the checksum for the packet
Definition at line 61 of file SickLDMessage.hh.
uint8_t SickToolbox::SickLDMessage::GetServiceCode | ( | ) | const [inline] |
Get the length of the service code associated with the message
Definition at line 55 of file SickLDMessage.hh.
uint8_t SickToolbox::SickLDMessage::GetServiceSubcode | ( | ) | const [inline] |
Get the service sub-code associated with the message
Definition at line 58 of file SickLDMessage.hh.
void SickToolbox::SickLDMessage::ParseMessage | ( | const uint8_t *const | message_buffer | ) | [virtual] |
Parses a sequence of bytes into a SickLDMessage object.
Populates fields from a (well-formed) raw packet
*message_buffer | A well-formed message to be parsed into the class' fields |
Implements SickToolbox::SickMessage< SICK_LD_MSG_HEADER_LEN, SICK_LD_MSG_PAYLOAD_MAX_LEN, SICK_LD_MSG_TRAILER_LEN >.
Definition at line 99 of file SickLDMessage.cc.
void SickToolbox::SickLDMessage::Print | ( | ) | const [virtual] |
Print the message contents.
A debugging function that prints the contents of the frame.
Reimplemented from SickToolbox::SickMessage< SICK_LD_MSG_HEADER_LEN, SICK_LD_MSG_PAYLOAD_MAX_LEN, SICK_LD_MSG_TRAILER_LEN >.
Definition at line 122 of file SickLDMessage.cc.