A class to represent all messages sent to and from the Sick PLS. More...
#include <SickPLSMessage.hh>
Public Member Functions | |
void | BuildMessage (uint8_t dest_address, const uint8_t *const payload_buffer, const unsigned int payload_length) |
Consructs a message object from given parameter values. | |
void | Clear () |
Reset all internal fields and buffers associated with the object. | |
uint16_t | GetChecksum () const |
uint8_t | GetCommandCode () const |
uint8_t | GetDestAddress () const |
uint8_t | GetStatusByte () const |
void | ParseMessage (const uint8_t *const message_buffer) |
Parses a sequence of bytes into a well-formed message. | |
void | Print () const |
Print the message contents. | |
SickPLSMessage () | |
A default constructor. | |
SickPLSMessage (const uint8_t dest_address, const uint8_t *const payload_buffer, const unsigned int payload_length) | |
A constructor for building a message from the given parameter values. | |
SickPLSMessage (uint8_t *const message_buffer) | |
A constructor for parsing a byte sequence into a message object. | |
~SickPLSMessage () | |
Protected Attributes | |
uint16_t | _checksum |
Private Member Functions | |
uint16_t | _computeCRC (uint8_t *data, unsigned int data_length) const |
Computes the CRC16 of the given data buffer. |
A class to represent all messages sent to and from the Sick PLS.
This class helps to construct messages to be sent to the Sick. It also provides a container for received messages to be parsed into.
Definition at line 43 of file SickPLSMessage.hh.
A default constructor.
Default constructor. Constructs an empty message (not well-formed!).
Definition at line 33 of file SickPLSMessage.cc.
SickToolbox::SickPLSMessage::SickPLSMessage | ( | const uint8_t | dest_address, |
const uint8_t *const | payload_buffer, | ||
const unsigned int | payload_length | ||
) |
A constructor for building a message from the given parameter values.
Constructs a frame by using BuildMessage().
dest_address | The source address of the message |
payload_buffer | The payload of the message as an array of bytes (including the command code) |
payload_length | The length of the payload array in bytes |
Definition at line 46 of file SickPLSMessage.cc.
SickToolbox::SickPLSMessage::SickPLSMessage | ( | uint8_t *const | message_buffer | ) |
A constructor for parsing a byte sequence into a message object.
Constructs a frame using ParseMessage().
message_buffer | A well-formed message to be parsed into the class' fields |
Definition at line 58 of file SickPLSMessage.cc.
Destructor
Definition at line 191 of file SickPLSMessage.cc.
uint16_t SickToolbox::SickPLSMessage::_computeCRC | ( | uint8_t * | data, |
unsigned int | data_length | ||
) | const [private] |
Computes the CRC16 of the given data buffer.
Computes the checksum of the frame.
data | An array of bytes whose checksum to compute |
len | The length of the data array |
Definition at line 167 of file SickPLSMessage.cc.
void SickToolbox::SickPLSMessage::BuildMessage | ( | uint8_t | dest_address, |
const uint8_t *const | payload_buffer, | ||
const unsigned int | payload_length | ||
) |
Consructs a message object from given parameter values.
Constructs a well-formed raw frame from input fields.
dest_address | The destination address of the frame |
*payload_buffer | The payload for the frame as an array of bytes (including the command code) |
payload_length | The length of the payload array in bytes |
Definition at line 72 of file SickPLSMessage.cc.
void SickToolbox::SickPLSMessage::Clear | ( | ) | [virtual] |
Reset all internal fields and buffers associated with the object.
Reset the data associated with this message (for initialization purposes)
Reimplemented from SickToolbox::SickMessage< SICK_PLS_MSG_HEADER_LEN, SICK_PLS_MSG_PAYLOAD_MAX_LEN, SICK_PLS_MSG_TRAILER_LEN >.
Definition at line 134 of file SickPLSMessage.cc.
uint16_t SickToolbox::SickPLSMessage::GetChecksum | ( | ) | const [inline] |
Gets the checksum for the message.
Definition at line 74 of file SickPLSMessage.hh.
uint8_t SickToolbox::SickPLSMessage::GetCommandCode | ( | ) | const [inline] |
Gets the command code associated with the message
Definition at line 68 of file SickPLSMessage.hh.
uint8_t SickToolbox::SickPLSMessage::GetDestAddress | ( | ) | const [inline] |
Gets the address of the frame.
Definition at line 65 of file SickPLSMessage.hh.
uint8_t SickToolbox::SickPLSMessage::GetStatusByte | ( | ) | const [inline] |
Gets the status byte from an LMS response message (NOTE: only applies to Sick LMS response telegrams!)
Definition at line 71 of file SickPLSMessage.hh.
void SickToolbox::SickPLSMessage::ParseMessage | ( | const uint8_t *const | message_buffer | ) | [virtual] |
Parses a sequence of bytes into a well-formed message.
Populates fields from a (well-formed) raw frame.
*message_buffer | The buffer containing the source message |
Implements SickToolbox::SickMessage< SICK_PLS_MSG_HEADER_LEN, SICK_PLS_MSG_PAYLOAD_MAX_LEN, SICK_PLS_MSG_TRAILER_LEN >.
Definition at line 105 of file SickPLSMessage.cc.
void SickToolbox::SickPLSMessage::Print | ( | ) | const [virtual] |
Print the message contents.
A debugging function that prints the contents of the message.
Reimplemented from SickToolbox::SickMessage< SICK_PLS_MSG_HEADER_LEN, SICK_PLS_MSG_PAYLOAD_MAX_LEN, SICK_PLS_MSG_TRAILER_LEN >.
Definition at line 148 of file SickPLSMessage.cc.
uint16_t SickToolbox::SickPLSMessage::_checksum [protected] |
The checksum (CRC16)
Definition at line 88 of file SickPLSMessage.hh.