Skip to content

Message Header

All messages have the same 18-byte header. The byte order is always little endian (Intel Byte Order).

Bus Message Header
ByteDescriptionSize
0-1Type of Message (enumerate)uint16_t
2-3Version Numberuint16_t
4-7Length of the messageuint32_t
8-15Timestamp ns since 1970uint64_t
16-17Bus Channeluint16_t

Type of Message

Unique identifier of the message. The message types are defined in the 'ibusmessage.h' header file.

Version Number

Simple version number that is incremented each time the message layout is changed.

Length of Message

The total length of the message includes this 18-byte header. A message must thus be larger or equal to 18 bytes.

Timestamp

The timestamp is always using the UTC time zone. The timestamp value is the number of nanoseconds since 1970-01-01 midnight.

Bus Channel

This identifies the CAN device channel. Note that many manufacture display the first channel (0) as 'Channel 1'. The prefered way is to start the channel number at 1.