Public Member Functions | Protected Attributes | Private Member Functions | List of all members
SickToolbox::SickLMS2xxMessage Class Reference

A class to represent all messages sent to and from the Sick LMS 2xx. More...

#include <SickLMS2xxMessage.hh>

Inheritance diagram for SickToolbox::SickLMS2xxMessage:
Inheritance graph
[legend]

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. More...
 
void Clear ()
 Reset all internal fields and buffers associated with the object. More...
 
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. More...
 
void Print () const
 Print the message contents. More...
 
 SickLMS2xxMessage ()
 A default constructor. More...
 
 SickLMS2xxMessage (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. More...
 
 SickLMS2xxMessage (uint8_t *const message_buffer)
 A constructor for parsing a byte sequence into a message object. More...
 
 ~SickLMS2xxMessage ()
 
- Public Member Functions inherited from SickToolbox::SickMessage< SICK_LMS_2XX_MSG_HEADER_LEN, SICK_LMS_2XX_MSG_PAYLOAD_MAX_LEN, SICK_LMS_2XX_MSG_TRAILER_LEN >
void BuildMessage (const uint8_t *const payload_buffer, const unsigned int payload_length)
 Constructs a Sick message given the parameter values. More...
 
void GetMessage (uint8_t *const message_buffer) const
 Get the message as a sequence of well-formed bytes. More...
 
unsigned int GetMessageLength () const
 
void GetPayload (uint8_t *const payload_buffer) const
 Get the payload contents as a sequence of well-formed bytes. More...
 
void GetPayloadAsCStr (char *const payload_str) const
 
unsigned int GetPayloadLength () const
 
void GetPayloadSubregion (uint8_t *const payload_sub_buffer, const unsigned int start_idx, const unsigned int stop_idx) const
 Get a specified sub-region of the payload buffer. More...
 
bool IsPopulated () const
 
 SickMessage ()
 A default constructor. More...
 
virtual ~SickMessage ()
 A destructor. More...
 

Protected Attributes

uint16_t _checksum
 
- Protected Attributes inherited from SickToolbox::SickMessage< SICK_LMS_2XX_MSG_HEADER_LEN, SICK_LMS_2XX_MSG_PAYLOAD_MAX_LEN, SICK_LMS_2XX_MSG_TRAILER_LEN >
uint8_t _message_buffer [MESSAGE_MAX_LENGTH]
 
unsigned int _message_length
 
unsigned int _payload_length
 
bool _populated
 

Private Member Functions

uint16_t _computeCRC (uint8_t *data, unsigned int data_length) const
 Computes the CRC16 of the given data buffer. More...
 

Additional Inherited Members

- Static Public Attributes inherited from SickToolbox::SickMessage< SICK_LMS_2XX_MSG_HEADER_LEN, SICK_LMS_2XX_MSG_PAYLOAD_MAX_LEN, SICK_LMS_2XX_MSG_TRAILER_LEN >
static const unsigned int MESSAGE_HEADER_LENGTH
 
static const unsigned int MESSAGE_MAX_LENGTH
 
static const unsigned int MESSAGE_PAYLOAD_MAX_LENGTH
 
static const unsigned int MESSAGE_TRAILER_LENGTH
 

Detailed Description

A class to represent all messages sent to and from the Sick LMS 2xx.

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 SickLMS2xxMessage.hh.

Constructor & Destructor Documentation

SickToolbox::SickLMS2xxMessage::SickLMS2xxMessage ( )

A default constructor.

Default constructor. Constructs an empty message (not well-formed!).

Definition at line 32 of file SickLMS2xxMessage.cc.

SickToolbox::SickLMS2xxMessage::SickLMS2xxMessage ( 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().

Parameters
dest_addressThe source address of the message
payload_bufferThe payload of the message as an array of bytes (including the command code)
payload_lengthThe length of the payload array in bytes

Definition at line 44 of file SickLMS2xxMessage.cc.

SickToolbox::SickLMS2xxMessage::SickLMS2xxMessage ( uint8_t *const  message_buffer)

A constructor for parsing a byte sequence into a message object.

Constructs a frame using ParseMessage().

Parameters
message_bufferA well-formed message to be parsed into the class' fields

Definition at line 55 of file SickLMS2xxMessage.cc.

SickToolbox::SickLMS2xxMessage::~SickLMS2xxMessage ( )

Destructor

Definition at line 179 of file SickLMS2xxMessage.cc.

Member Function Documentation

uint16_t SickToolbox::SickLMS2xxMessage::_computeCRC ( uint8_t *  data,
unsigned int  data_length 
) const
private

Computes the CRC16 of the given data buffer.

Computes the checksum of the frame.

Parameters
dataAn array of bytes whose checksum to compute
lenThe length of the data array
Returns
CRC16 computed over given data buffer

Definition at line 159 of file SickLMS2xxMessage.cc.

void SickToolbox::SickLMS2xxMessage::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.

Parameters
dest_addressThe destination address of the frame
*payload_bufferThe payload for the frame as an array of bytes (including the command code)
payload_lengthThe length of the payload array in bytes

Definition at line 68 of file SickLMS2xxMessage.cc.

void SickToolbox::SickLMS2xxMessage::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_LMS_2XX_MSG_HEADER_LEN, SICK_LMS_2XX_MSG_PAYLOAD_MAX_LEN, SICK_LMS_2XX_MSG_TRAILER_LEN >.

Definition at line 128 of file SickLMS2xxMessage.cc.

uint16_t SickToolbox::SickLMS2xxMessage::GetChecksum ( ) const
inline

Gets the checksum for the message.

Definition at line 74 of file SickLMS2xxMessage.hh.

uint8_t SickToolbox::SickLMS2xxMessage::GetCommandCode ( ) const
inline

Gets the command code associated with the message

Definition at line 68 of file SickLMS2xxMessage.hh.

uint8_t SickToolbox::SickLMS2xxMessage::GetDestAddress ( ) const
inline

Gets the address of the frame.

Definition at line 65 of file SickLMS2xxMessage.hh.

uint8_t SickToolbox::SickLMS2xxMessage::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 SickLMS2xxMessage.hh.

void SickToolbox::SickLMS2xxMessage::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.

Parameters
*message_bufferThe buffer containing the source message

Implements SickToolbox::SickMessage< SICK_LMS_2XX_MSG_HEADER_LEN, SICK_LMS_2XX_MSG_PAYLOAD_MAX_LEN, SICK_LMS_2XX_MSG_TRAILER_LEN >.

Definition at line 100 of file SickLMS2xxMessage.cc.

void SickToolbox::SickLMS2xxMessage::Print ( ) const
virtual

Print the message contents.

A debugging function that prints the contents of the message.

Reimplemented from SickToolbox::SickMessage< SICK_LMS_2XX_MSG_HEADER_LEN, SICK_LMS_2XX_MSG_PAYLOAD_MAX_LEN, SICK_LMS_2XX_MSG_TRAILER_LEN >.

Definition at line 141 of file SickLMS2xxMessage.cc.

Member Data Documentation

uint16_t SickToolbox::SickLMS2xxMessage::_checksum
protected

The checksum (CRC16)

Definition at line 88 of file SickLMS2xxMessage.hh.


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


sicktoolbox
Author(s): Jason Derenick , Thomas Miller
autogenerated on Tue Sep 10 2019 03:37:35