16 #ifndef SICK_LMS_2XX_MESSAGE_HH    17 #define SICK_LMS_2XX_MESSAGE_HH    21 #include <netinet/in.h>       25 #define CRC16_GEN_POL 0x8005                            28 #define MKSHORT(a,b) ((unsigned short) (a) | ((unsigned short)(b) << 8))    30 #define SICK_LMS_2XX_MSG_HEADER_LEN            (4)      31 #define SICK_LMS_2XX_MSG_PAYLOAD_MAX_LEN     (812)      32 #define SICK_LMS_2XX_MSG_TRAILER_LEN           (2)      52     SickLMS2xxMessage( 
const uint8_t dest_address, 
const uint8_t * 
const payload_buffer, 
const unsigned int payload_length );
    58     void BuildMessage( uint8_t dest_address, 
const uint8_t * 
const payload_buffer,
    59                        const unsigned int payload_length );
    62     void ParseMessage( 
const uint8_t * 
const message_buffer );
    93     uint16_t 
_computeCRC( uint8_t * data, 
unsigned int data_length ) 
const;
    99 #endif //SICK_LMS_2XX_MESSAGE_HH 
Contains some simple exception classes. 
Defines the abstract parent class for all Sick messages.