| 
| constexpr uint16_t  | FpbMsgId (const uint8_t *msg) | 
|   | Get message ID.  
  | 
| constexpr uint16_t  | FpbMsgTime (const uint8_t *msg) | 
|   | Get message time.  
  | 
| bool  | FpbGetMessageName (char *name, const std::size_t size, const uint8_t *msg, const std::size_t msg_size) | 
|   | Get FP_B message name.  
  | 
| bool  | FpbGetMessageInfo (char *info, const std::size_t size, const uint8_t *msg, const std::size_t msg_size) | 
|   | Get FP_B message info.  
  | 
| bool  | FpbMakeMessage (std::vector< uint8_t > &msg, const uint16_t msg_id, const uint16_t msg_time, const std::vector< uint8_t > &payload) | 
|   | Make a FP_B message.  
  | 
| bool  | FpbMakeMessage (std::vector< uint8_t > &msg, const uint16_t msg_id, const uint16_t msg_time, const uint8_t *payload, const std::size_t payload_size) | 
|   | Make a FP_B message.  
  | 
 | 
| static constexpr std::size_t  | FP_B_FRAME_SIZE = 12 | 
|   | Size (in bytes) of FP_B frame.  
  | 
| static constexpr std::size_t  | FP_B_HEAD_SIZE = 8 | 
|   | Size of FP_B frame header.  
  | 
| static constexpr uint8_t  | FP_B_SYNC_1 = 0x66 | 
|   | FP_B frame sync char 1 ('f', 102, 0b0110'0110)  
  | 
| static constexpr uint8_t  | FP_B_SYNC_2 = 0x21 | 
|   | FP_B frame sync char 2 ('!', 33, 0b0010'0001)  
  | 
- 1- 999: unused
 
- 1000-1999: messages with payload binary serialised data
- 1101-1199: Fusion
 
- 1201-1299: GNSS
 
- 1301-1399: System
 
- 1401-1499: Configuration
 
- 1501-1599: Sensor data
 
- 1601-1699: Reserved
 
- 1701-1699: Reserved
 
- 1801-1699: Reserved
 
- 1901-1999: Reserved
 
 
 
- 2000-3000: messages with static payload
- 2001-2099: Input data messages (measurements, ...)
 
- 2101-2199: Input command message
 
- 2201-2299: Input config message
 
- 2301-2399: System
 
- 2401-2499: Reserved
 
- 2501-2599: Reserved
 
- 2601-2699: Reserved
 
- 2701-2799: Reserved
 
- 2801-2899: Reserved
 
- 2901-2999: Reserved
 
 
 
- 3000-65000: Reserved
 
- 65001-...: Test messages 
 
 
 | 
| static constexpr uint16_t  | FP_B_GNSSSTATUS_MSGID = 1201 | 
|   | FP_B-GNSSSTATUS message ID.  
  | 
| static constexpr const char *  | FP_B_GNSSSTATUS_STRID = "FP_B-GNSSSTATUS" | 
|   | FP_B-GNSSSTATUS message name.  
  | 
| static constexpr uint16_t  | FP_B_SYSTEMSTATUS_MSGID = 1301 | 
|   | FP_B-SYSTEMSTATUS message ID.  
  | 
| static constexpr const char *  | FP_B_SYSTEMSTATUS_STRID = "FP_B-SYSTEMSTATUS" | 
|   | FP_B-SYSTEMSTATUS message name.  
  | 
| static constexpr uint16_t  | FP_B_MEASUREMENTS_MSGID = 2001 | 
|   | FP_B-MEASUREMENTS message ID.  
  | 
| static constexpr const char *  | FP_B_MEASUREMENTS_STRID = "FP_B-MEASUREMENTS" | 
|   | FP_B-MEASUREMENTS message name.  
  | 
| static constexpr uint16_t  | FP_B_VERSION_MSGID = 2301 | 
|   | FP_B-VERSION message ID.  
  | 
| static constexpr const char *  | FP_B_VERSION_STRID = "FP_B-VERSION" | 
|   | FP_B-VERSION message name.  
  | 
| static constexpr uint16_t  | FP_B_UNITTEST1_MSGID = 65001 | 
|   | FP_B-UNITTEST1 message ID.  
  | 
| static constexpr const char *  | FP_B_UNITTEST1_STRID = "FP_B-UNITTEST1" | 
|   | FP_B-UNITTEST1 message name.  
  | 
| static constexpr uint16_t  | FP_B_UNITTEST2_MSGID = 65002 | 
|   | FP_B-UNITTEST2 message ID.  
  | 
| static constexpr const char *  | FP_B_UNITTEST2_STRID = "FP_B-UNITTEST2" | 
|   | FP_B-UNITTEST2 message name.  
  | 
 Description: 
This message contains version strings. 
Payload fields: 
| #   | Offset   | Field   | Type   | Unit   | Description   |  
| 1   | 0   | version   | uint8_t   | -   | Version of the FP_B_VERSION message (currently 1)   |  
| 2   | 1   | reserved0   | uint8_t[7]   | -   | Reserved for future use. Set to 0.   |  
| 3   | 8   | sw_version   | uint8_t[64]   | -   | Software version (nul-terminated string)   |  
| 4   | 72   | hw_name   | uint8_t[32]   | -   | Hardware name string (nul-terminated string)   |  
| 5   | 104   | hw_ver   | uint8_t[32]   | -   | Hardware version (nul-terminated string)   |  
| 6   | 136   | hw_uid   | uint8_t[32]   | -   | Hardware UID (nul-terminated string)   |  
| 7   | 172   | product_model   | uint8_t[32]   | -   | Product model (nul-terminated string)   |  
| 8   | 200   | reserved1   | uint8_t[32]   | -   | Reserved for future use. Set to 0.   |  
 
 | 
| static constexpr uint8_t  | FP_B_VERSION_V1 = 0x01 | 
|   | FP_B-VERSION.version value.  
  | 
| static constexpr std::size_t  | FP_B_VERSION_PAYLOAD_SIZE = 232 | 
|   | Size of FpbVersionPayload.  
  | 
 | 
 Description: 
This message is used to input measurements, such as wheelspeeds, to the sensor. 
Notes: 
- The supported meas_type, meas_loc and timestamp_type values depend on the sensor software and configuration used. Refer to the sensor documentation for valid combinations of values for these fields.
 
 
Payload fields: 
| #   | Offset   | Field   | Type   | Unit   | Description   |  
| 1   | 0   | version   | uint8_t   | -   | Version of the FP_B_MEASUREMENTS message (currently 1)   |  
| 2   | 1   | num_meas   | uint8_t   | -   | Number of measurements present in the body of the message (1…10)   |  
| 3   | 2   | reserved0   | uint8_t[6]   | -   | Reserved for future use. Set to 0.   |  
 |  |  |  |  | The following fields are repeated num_meas times (i = 0…num_meas-1):   |  
| 4 + i·12   | 8 + i·28   | meas_x   | int32_t   | *   | Measurement x axis (for example, [mm/s])   |  
| 5 + i·12   | 12 + i·28   | meas_y   | int32_t   | *   | Measurement y axis (for example, [mm/s])   |  
| 6 + i·12   | 16 + i·28   | meas_z   | int32_t   | *   | Measurement z axis (for example, [mm/s])   |  
| 7 + i·12   | 20 + i·28   | meas_x_valid   | uint8_t   | -   | Validity of meas_x (1 = valid data, 0 = invalid data or n/a)   |  
| 8 + i·12   | 21 + i·28   | meas_y_valid   | uint8_t   | -   | Validity of meas_y (1 = valid data, 0 = invalid data or n/a)   |  
| 9 + i·12   | 22 + i·28   | meas_z_valid   | uint8_t   | -   | Validity of meas_z (1 = valid data, 0 = invalid data or n/a)   |  
| 10 + i·12   | 23 + i·28   | meas_type   | uint8_t   | -   | Type of measurement (see below)   |  
| 11 + i·12   | 24 + i·28   | meas_loc   | uint8_t   | -   | Location of measurement (see below)   |  
| 12 + i·12   | 25 + i·28   | reserved1   | uint8_t[4]   | -   | Reserved for future use. Set to 0.   |  
| 13 + i·12   | 29 + i·28   | timestamp_type   | uint8_t   | -   | Type of timestamp (see below)   |  
| 14 + i·12   | 30 + i·28   | gps_wno   | uint16_t   | -   | GPS week number   |  
| 15 + i·12   | 32 + i·28   | gps_tow   | uint32_t   | *   | GPS time of week [ms] or monotonic time [-]   |  
 
Valid meas_type values are: 
| Value   | Description   |  
| 0   | Unspecified   |  
| 1   | Velocity (wheel speed)   |  
 
Valid meas_loc values are: 
| Value   | Description   |  
| 0   | Unspecified   |  
| 1   | Measurement of a sensor at the rear-center (RC)   |  
| 2   | Measurement of a sensor at the front-right (FR)   |  
| 3   | Measurement of a sensor at the front-left (FL)   |  
| 4   | Measurement of a sensor at the rear-right (RR)   |  
| 5   | Measurement of a sensor at the rear-left (RL)   |  
 
Valid timestamp_type values are: 
| Value   | Description   |  
| 0   | Unspecified   |  
| 1   | Use time of arrival of the measurement (ignore gps_wno and gps_tow)   |  
| 2   | Use monotonic time [any] (stored in the gps_tow field)   |  
| 3   | Use GPS time (stored in gps_wno [-] and gps_tow [ms] fields)   |  
 
 | 
| enum class   | FpbMeasurementsMeasType : uint8_t { UNSPECIFIED = 0
, VELOCITY = 1
 } | 
|   | FP_B-MEASUREMENTS measurement type.  More...
  | 
| enum class   | FpbMeasurementsMeasLoc : uint8_t {  
  UNSPECIFIED = 0
, RC = 1
, FR = 2
, FL = 3
,  
  RR = 4
, RL = 5
 
 } | 
|   | FP_B-MEASUREMENTS measurement location.  More...
  | 
| enum class   | FpbMeasurementsTimestampType : uint8_t { UNSPECIFIED = 0
, TIMEOFARRIVAL = 1
, MONOTONIC = 2
, GPS = 3
 } | 
|   | FP_B-MEASUREMENTS timestamp type.  More...
  | 
| static constexpr uint8_t  | FP_B_MEASUREMENTS_V1 = 0x01 | 
|   | FP_B-MEASUREMENTS.version value.  
  | 
| static constexpr std::size_t  | FP_B_MEASUREMENTS_HEAD_SIZE = 8 | 
|   | FP_B-MEASUREMENTS payload head size.  
  | 
| static constexpr std::size_t  | FP_B_MEASUREMENTS_MEAS_SIZE = 28 | 
|   | Size of FpbMeasurementsMeas.  
  | 
| static constexpr std::size_t  | FP_B_MEASUREMENTS_MAX_NUM_MEAS = 10 | 
|   | Maximum number of measurements.  
  | 
Parser FP_B routines and types.