Public Member Functions | Protected Attributes | Private Member Functions
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]

List of all members.

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.
 SickLMS2xxMessage ()
 A default constructor.
 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.
 SickLMS2xxMessage (uint8_t *const message_buffer)
 A constructor for parsing a byte sequence into a message object.
 ~SickLMS2xxMessage ()

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.

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

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.

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.

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.

Gets the command code associated with the message

Definition at line 68 of file SickLMS2xxMessage.hh.

Gets the address of the frame.

Definition at line 65 of file SickLMS2xxMessage.hh.

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

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 Sun May 5 2019 02:28:23