Go to the documentation of this file.
13 # pragma warning(push)
14 # pragma warning(disable : 4200)
22 namespace fusion_engine {
143 return "Device Lever Arm";
146 return "Device Coarse Orientation";
149 return "GNSS Lever Arm";
152 return "Output Lever Arm";
155 return "Vehicle Details";
158 return "Wheel Config";
161 return "Hardware Tick Config";
164 return "UART1 Baud Rate";
167 return "UART2 Baud Rate";
170 return "UART1 Diagnostic Messages Enabled";
173 return "UART2 Diagnostic Messages Enabled";
176 return "Watchdog Timer Enabled";
179 return "Unrecognized Configuration";
188 stream <<
to_string(type) <<
" (" << (int)type <<
")";
219 return "Unrecognized Source";
229 stream <<
to_string(source) <<
" (" << (int)source <<
")";
260 return "Revert To Saved";
263 return "Revert To Default";
275 stream <<
to_string(action) <<
" (" << (int)action <<
")";
312 uint8_t reserved[1] = {0};
344 uint8_t reserved[1] = {0};
362 uint8_t reserved[3] = {0};
405 uint8_t reserved[3] = {0};
463 uint8_t reserved[2] = {0};
516 switch (vehicle_model) {
520 return "DATASPEED_CD4";
524 return "LEXUS_CT200H";
526 return "KIA_SORENTO";
528 return "KIA_SPORTAGE";
534 return "TESLA_MODEL_X";
536 return "TESLA_MODEL_3";
538 return "HYUNDAI_ELANTRA";
540 return "PEUGEOT_206";
546 return "LINCOLN_MKZ";
550 return "UNRECOGNIZED";
560 stream <<
to_string(vehicle_model) <<
" (" << (int)vehicle_model <<
")";
570 uint8_t reserved[10] = {0};
618 switch (wheel_sensor_type) {
629 return "Wheel Speed";
632 return "Vehicle Speed";
635 return "Vehicle Ticks";
649 stream <<
to_string(wheel_sensor_type) <<
" (" << (int)wheel_sensor_type
681 switch (applied_speed_type) {
686 return "Rear Wheels";
689 return "Front Wheels";
692 return "Front and Rear Wheels";
695 return "Vehicle Body";
698 return "Unrecognized";
709 stream <<
to_string(applied_speed_type) <<
" (" << (int)applied_speed_type
736 switch (steering_type) {
738 return "Unknown Steering";
741 return "Front Steering";
744 return "Front and Rear Steering";
747 return "Unrecognized";
758 stream <<
to_string(steering_type) <<
" (" << (int)steering_type <<
")";
787 uint8_t reserved1[1] = {0};
844 uint8_t reserved2[2] = {0};
865 return "RISING_EDGE";
867 return "FALLING_EDGE";
869 return "UNRECOGNIZED";
878 stream <<
to_string(tick_mode) <<
" (" << (int)tick_mode <<
")";
903 switch (tick_direction) {
907 return "FORWARD_ACTIVE_HIGH";
909 return "FORWARD_ACTIVE_LOW";
911 return "UNRECOGNIZED";
921 stream <<
to_string(tick_direction) <<
" (" << (int)tick_direction <<
")";
954 uint8_t reserved1[2] = {0};
995 return "FusionEngine";
1001 return "Unrecognized";
1010 stream <<
to_string(val) <<
" (" << (int)val <<
")";
1047 return "TCP Client";
1049 return "TCP Server";
1051 return "UDP Client";
1053 return "UDP Server";
1057 return "Unrecognized";
1066 stream <<
to_string(val) <<
" (" << (int)val <<
")";
1080 uint8_t reserved[2] = {0};
1087 return !(*
this == other);
1127 return "Unrecognized";
1136 stream <<
to_string(val) <<
" (" << (int)val <<
")";
1160 uint8_t reserved[3] = {0};
1196 uint8_t reserved[3] = {0};
1221 uint8_t reserved[3] = {0};
1346 return "P1CALSTATUS";
1361 return "Unrecognized";
1370 stream <<
to_string(val) <<
" (" << (int)val <<
")";
1461 return "INTERVAL_10_MS";
1464 return "INTERVAL_20_MS";
1467 return "INTERVAL_40_MS";
1470 return "INTERVAL_50_MS";
1473 return "INTERVAL_100_MS";
1476 return "INTERVAL_200_MS";
1479 return "INTERVAL_500_MS";
1482 return "INTERVAL_1_S";
1485 return "INTERVAL_2_S";
1488 return "INTERVAL_5_S";
1491 return "INTERVAL_10_S";
1494 return "Unrecognized";
1503 stream <<
to_string(val) <<
" (" << (int)val <<
")";
1518 uint8_t reserved1[1] = {0};
1521 uint8_t reserved2[3] = {0};
1561 uint8_t reserved1[1] = {0};
1564 uint8_t reserved2[1] = {0};
1567 uint8_t reserved3[3] = {0};
1579 # pragma warning(pop)
@ INTERVAL_10_S
Output this message at this interval.
@ INTERVAL_10_MS
Output this message at this interval.
ConfigType
An identifier for the contents of a parameter configuration message.
float wheel_ticks_to_m
The scale factor to convert from wheel encoder ticks to distance (in meters/tick).
@ VEHICLE_TICKS
A single wheel rotational angle, reported as accumulated encoder ticks.
@ BACKWARD
Aligned with vehicle -x axis.
static constexpr MessageType MESSAGE_TYPE
@ ALL
This is used for requesting the configuration for all interfaces.
A 3-dimensional vector (used for lever arms, etc.).
bool wheel_ticks_signed
true if the reported wheel tick measurements should be interpreted as signed integers,...
@ INTERVAL_5_S
Output this message at this interval.
Identifies an IO interface.
TransportType type
The interface's transport type.
MessageType
Identifiers for the defined output message types.
Response to a GetConfigMessage request (MessageType::CONFIG_RESPONSE, version 1.0).
@ SAVE
Save all active parameters to persistent storage.
static constexpr MessageType MESSAGE_TYPE
The orientation of a device with respect to the vehicle body axes.
Hardware wheel encoder configuration settings.
@ NONE
Wheel/vehicle speed data not available.
@ DEVICE_LEVER_ARM
The location of the device IMU with respect to the vehicle body frame (in meters).
TickMode
The signal edge to use when capturing a wheel tick voltage signal.
ConfigType config_type
The type of configuration parameter contained in this message.
OutputInterfaceConfigEntry output_interface_data
The new output interface configuration to be applied.
static constexpr MessageType MESSAGE_TYPE
@ FORWARD_ACTIVE_LOW
Assume vehicle is moving forward when direction signal voltage is low, and backward when direction si...
@ REVERT_TO_SAVED
Revert the active configuration to previously saved values.
@ DOWN
Aligned with vehicle -z axis.
bool active_differs_from_saved
Set to true if the active configuration differs from the saved configuration for this parameter.
static constexpr uint8_t MESSAGE_VERSION
static constexpr MessageType MESSAGE_TYPE
@ UART1_BAUD
Configure the UART1 serial baud rate (in bits/second).
ConfigurationSource config_source
The source of the parameter value (active, saved, etc.).
@ GET_OUTPUT_INTERFACE_CONFIG
GetOutputInterfaceConfigMessage
@ VEHICLE_BODY
Individual vehicle speed to be applied to the system.
@ UART1_OUTPUT_DIAGNOSTICS_MESSAGES
Force output the diagnostic message set on UART1.
InterfaceID output_interface
SteeringType
Indication of which of the vehicle's wheels are steered.
uint8_t flags
Bitmask of additional flags to modify the command.
@ HARDWARE_TICK_CONFIG
Indicates the mode and direction used when capturing vehicle wheel tick data from a voltage pulse on ...
InterfaceID output_interface
The output interface to get the config for.
uint8_t num_streams
The number of stream_indices entries this message contains.
@ INTERVAL_500_MS
Output this message at this interval.
@ SET_OUTPUT_MESSAGE_RATE
SetMessageOutputRate
uint8_t config_change_data[0]
A pointer to the beginning of the configuration parameter value.
float wheel_update_interval_sec
The nominal rate at which wheel speed measurements will be provided (in seconds).
SaveAction
The type configuration save operation to be performed.
uint8_t number_of_interfaces
The number of output interfaces to follow.
static constexpr uint8_t MESSAGE_VERSION
Information about the vehicle including model and dimensions.
The requested output rate.
ConfigurationSource config_source
The source of the parameter value (active, saved, etc.).
@ REVERT_TO_DEFAULT
Reset the active and saved configuration to default values.
UpdateAction
The ways that this configuration message can be applied to the previous list of values for that confi...
uint32_t wheel_tick_max_value
The maximum value (inclusive) before the wheel tick measurement will roll over.
@ SAVE_CONFIG
SaveConfigMessage
MessageRate
The output rate for a message type on an interface.
uint8_t config_change_data[0]
A pointer to the beginning of the configuration parameter value.
TickDirection tick_direction
When direction is TickDirection::OFF, the incoming ticks will be treated as unsigned,...
InterfaceID output_interface
static constexpr MessageType MESSAGE_TYPE
@ ACTIVE
Active configuration currently in use by the device.
@ FRONT
Front wheels are steered.
uint32_t config_length_bytes
The size of the parameter value, config_change_data (in bytes).
WheelSensorType wheel_sensor_type
The type of vehicle/wheel speed measurements produced by the vehicle.
SaveAction action
The action to performed.
@ TICK_RATE
Individual wheel rotation rates, reported as an encoder tick rate (in ticks/second).
TransportType
Type of IO interface transport.
The base class for all message payloads.
static constexpr MessageType MESSAGE_TYPE
@ INTERVAL_1_S
Output this message at this interval.
Query the value of a user configuration parameter (MessageType::GET_CONFIG, version 1....
Response response
The response status (success, error, etc.).
Response response
The response status (success, error, etc.).
@ ON_CHANGE
Output this message each time a new value is available.
@ INTERVAL_50_MS
Output this message at this interval.
@ INTERVAL_2_S
Output this message at this interval.
@ INTERVAL_100_MS
Output this message at this interval.
static constexpr uint8_t FLAG_APPLY_AND_SAVE
Flag to immediately save the config after applying this setting.
bool operator==(const InterfaceID &other) const
@ OFF
Wheel tick capture disabled.
static constexpr MessageType MESSAGE_TYPE
ConfigType config_type
The desired parameter.
UpdateAction update_action
The type of action this configuration message applies to the previous list of streams.
Response to a GetOutputInterfaceConfigMessage request (MessageType::OUTPUT_INTERFACE_CONFIG_RESPONSE,...
@ FRONT_WHEELS
Front wheel speed data to be applied to the system.
uint8_t index
An identifier for the instance of this transport.
@ UP
Aligned with vehicle +z axis.
@ FRONT_AND_REAR_WHEELS
Front and rear wheel speed data to be applied to the system.
Configuration for the streams associated with a single output interface.
bool operator!=(const InterfaceID &other) const
VehicleModel vehicle_model
TickMode tick_mode
If enabled – tick mode is not TickMode::OFF – the device will accumulate ticks received on the I/O pi...
float rear_track_width_m
The distance between the two rear wheels (in meters).
@ UART2_BAUD
Configure the UART2 serial baud rate (in bits/second).
AppliedSpeedType applied_speed_type
The type of vehicle/wheel speed measurements to be applied to the navigation solution.
@ TICKS
Individual wheel rotational angles, reported as accumulated encoder ticks.
float steering_ratio
Ratio between angle of the steering wheel and the angle of the wheels on the ground.
@ REPLACE
Replace the previous list of values with the set provided in this configuration.
@ INTERVAL_200_MS
Output this message at this interval.
VehicleModel
The make and model of the vehicle.
@ DEVICE_COARSE_ORIENTATION
The orientation of the device IMU with respect to the vehicle body axes.
@ INTERVAL_40_MS
Output this message at this interval.
float wheelbase_m
The distance between the front axle and rear axle (in meters).
@ OUTPUT_INTERFACE_CONFIG_RESPONSE
OutputInterfaceConfigResponseMessage
static constexpr uint8_t MESSAGE_VERSION
@ LEFT
Aligned with vehicle +y axis.
static constexpr uint8_t MESSAGE_VERSION
ConfigType config_type
The type of parameter to be configured.
Response
Command response status indicators.
float wheel_tick_output_interval_sec
The nominal rate at which wheel tick measurements will be provided (in seconds).
TickDirection
The way to interpret an incoming voltage signal, used to indicate direction of a hardware wheel tick ...
ConfigurationSource request_source
The config source to request data from (active, saved, etc.).
@ OFF
Disable output of this message.
ConfigurationSource config_source
The source of the parameter value (active, saved, etc.).
InterfaceID output_interface
The output interface to configure.
static constexpr MessageType MESSAGE_TYPE
@ VEHICLE_SPEED
A single value indicating the vehicle speed (in meters/second).
uint8_t stream_indices[0]
Placeholder pointer for variable length set of indices.
Direction z_direction
The direction of the device +z axis relative to the vehicle body axes.
static constexpr MessageType MESSAGE_TYPE
ConfigurationSource request_source
The config source to request data from (active, saved, etc.).
static constexpr uint8_t MESSAGE_VERSION
@ GET_OUTPUT_MESSAGE_RATE
GetMessageOutputRate
Response response
The response status (success, error, etc.).
NmeaMessageType
Integer ID for NMEA messages.
Save or reload configuration settings (MessageType::SAVE_CONFIG, version 1.0).
InterfaceID output_interface
ProtocolType
The framing protocol of a message.
Set a user configuration parameter (MessageType::SET_CONFIG, version 1.0).
@ ENABLE_WATCHDOG_TIMER
Enable watchdog timer to restart device after fatal errors.
static constexpr uint8_t MESSAGE_VERSION
@ OUTPUT_MESSAGE_RATE_RESPONSE
MessageOutputRateResponse
WheelSensorType
The type of vehicle/wheel speed measurements produced by the vehicle.
SteeringType steering_type
Indication of which of the vehicle's wheels are steered.
float wheel_ticks_to_m
The scale factor to convert from wheel encoder ticks to distance (in meters/tick).
bool wheel_ticks_always_increase
true if the wheel tick measurements increase by a positive amount when driving forward or backward.
@ GET_CONFIG
GetConfigMessage
@ FRONT_AND_REAR
Front and rear wheels are steered.
Set the output rate for the requested message type on the specified interface.
@ OUTPUT_LEVER_ARM
The offset of the desired output location with respect to the vehicle body frame (in meters).
static constexpr uint8_t MESSAGE_VERSION
ConfigurationSource request_source
The source of the parameter value (active, saved, etc.).
@ SAVED
Settings currently saved to persistent storage.
@ SET_CONFIG
SetConfigMessage
@ VEHICLE_DETAILS
Information about the vehicle including model and dimensions.
@ NONE
Speed data not applied to the system.
std::ostream & operator<<(std::ostream &stream, ConfigType type)
ConfigType stream operator.
bool active_differs_from_saved
Set to true if the active configuration differs from the saved configuration for this parameter.
@ WHEEL_CONFIG
Information pertaining to wheel speed/rotation measurements.
Configure the set of output streams enabled for a given output interface (MessageType::SET_OUTPUT_INT...
Point One FusionEngine output message common definitions.
Vehicle/wheel speed measurement configuration settings.
bool active_differs_from_saved
Set to true if the active configuration differs from the saved configuration for this parameter.
@ WHEEL_SPEED
Individual wheel speeds, reported in meters/second.
@ SET_OUTPUT_INTERFACE_CONFIG
SetOutputInterfaceConfigMessage
@ FALLING_EDGE
Capture a wheel tick on the falling edge of the incoming pulse.
@ FORWARD_ACTIVE_HIGH
Assume vehicle is moving forward when direction signal voltage is high, and backward when direction s...
static constexpr MessageType MESSAGE_TYPE
uint32_t config_length_bytes
The size of the parameter value, config_change_data (in bytes).
ConfigurationSource
The type of a device's configuration settings.
const char * to_string(ConfigType type)
Get a human-friendly string name for the specified ConfigType.
@ INTERVAL_20_MS
Output this message at this interval.
@ REAR_WHEELS
Rear wheel speed data to be applied to the system (recommended).
static constexpr uint8_t MESSAGE_VERSION
@ GNSS_LEVER_ARM
The location of the GNSS antenna with respect to the vehicle body frame (in meters).
float front_track_width_m
The distance between the two front wheels (in meters).
@ RIGHT
Aligned with vehicle -y axis.
static constexpr uint8_t MESSAGE_VERSION
Query the set of message streams configured to be output by the device on a specified interface.
@ OFF
Wheel tick direction not provided.
Get the configured output rate for the he requested message type on the specified interface.
static constexpr uint8_t MESSAGE_VERSION
@ RISING_EDGE
Capture a wheel tick on the rising edge of the incoming pulse.
Direction x_direction
The direction of the device +x axis relative to the vehicle body axes.
@ UART2_OUTPUT_DIAGNOSTICS_MESSAGES
Force output the diagnostic message set on UART2.
AppliedSpeedType
The type of vehicle/wheel speed measurements to be applied.
@ UNKNOWN
Steered wheels unknown.
@ FORWARD
Aligned with vehicle +x axis.
@ CONFIG_RESPONSE
ConfigResponseMessage