The header present at the beginning of every message.
The header is followed immediately in the binary stream by the message payload specified by message_type.
#include <point_one/fusion_engine/messages/defs.h>
Public Attributes | |
uint32_t | crc = 0 |
The 32-bit CRC of all bytes from and including the protocol_version field to the last byte in the message, including the message payload. More... | |
MessageType | message_type = MessageType::INVALID |
Type identifier for the serialized message to follow. More... | |
uint8_t | message_version = 0 |
The version of the message type specified by message_type to follow. More... | |
uint32_t | payload_size_bytes = 0 |
The size of the serialized message (bytes). More... | |
uint8_t | protocol_version = 2 |
The version of the P1 binary protocol being used. More... | |
uint32_t | sequence_number = 0 |
The sequence number of this message. More... | |
uint32_t | source_identifier = INVALID_SOURCE_ID |
Identifies the source of the serialized data. More... | |
uint8_t | sync [2] = {SYNC0, SYNC1} |
Message sync bytes: always set to ASCII .1 (0x2E, 0x31). More... | |
Static Public Attributes | |
static constexpr uint32_t | INVALID_SOURCE_ID = 0xFFFFFFFF |
static const size_t | MAX_MESSAGE_SIZE_BYTES = (1 << 24) |
The maximum expected message size (in bytes), used for sanity checking. More... | |
static constexpr uint8_t | SYNC0 = 0x2E |
static constexpr uint8_t | SYNC1 = 0x31 |
uint32_t point_one::fusion_engine::messages::MessageHeader::crc = 0 |
The 32-bit CRC of all bytes from and including the protocol_version field to the last byte in the message, including the message payload.
This uses the standard CRC-32 generator polynomial in reversed order (0xEDB88320).
|
staticconstexpr |
|
static |
MessageType point_one::fusion_engine::messages::MessageHeader::message_type = MessageType::INVALID |
uint8_t point_one::fusion_engine::messages::MessageHeader::message_version = 0 |
The version of the message type specified by message_type to follow.
uint32_t point_one::fusion_engine::messages::MessageHeader::payload_size_bytes = 0 |
uint8_t point_one::fusion_engine::messages::MessageHeader::protocol_version = 2 |
uint32_t point_one::fusion_engine::messages::MessageHeader::sequence_number = 0 |
uint32_t point_one::fusion_engine::messages::MessageHeader::source_identifier = INVALID_SOURCE_ID |
|
staticconstexpr |
|
staticconstexpr |