Message Header
All messages have the same 18-byte header. The byte order is always little endian (Intel Byte Order).
Byte | Description | Size |
---|---|---|
0-1 | Type of Message (enumerate) | uint16_t |
2-3 | Version Number | uint16_t |
4-7 | Length of the message | uint32_t |
8-15 | Timestamp ns since 1970 | uint64_t |
16-17 | Bus Channel | uint16_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.