point_one::fusion_engine::messages Namespace Reference

Namespaces

 ros
 

Classes

struct  CalibrationStatusMessage
 Device calibration status update. More...
 
struct  CoarseOrientation
 The orientation of a device with respect to the vehicle body axes. More...
 
struct  CommandResponseMessage
 Response to indicate if command was processed successfully (MessageType::COMMAND_RESPONSE, version 1.0). More...
 
struct  ConfigResponseMessage
 Response to a GetConfigMessage request (MessageType::CONFIG_RESPONSE, version 1.0). More...
 
struct  EventNotificationMessage
 Notification of a system event for logging purposes (MessageType::EVENT_NOTIFICATION, version 1.0). More...
 
struct  GetConfigMessage
 Query the value of a user configuration parameter (MessageType::GET_CONFIG, version 1.0). More...
 
struct  GetMessageOutputRate
 Get the configured output rate for the he requested message type on the specified interface. More...
 
struct  GetOutputInterfaceConfigMessage
 Query the set of message streams configured to be output by the device on a specified interface. More...
 
struct  GNSSInfoMessage
 Information about the GNSS data used in the PoseMessage with the corresponding timestamp (MessageType::GNSS_INFO, version 1.0). More...
 
struct  GNSSSatelliteMessage
 Information about the individual satellites used in the PoseMessage and GNSSInfoMessage with the corresponding timestamp (MessageType::GNSS_SATELLITE, version 1.0). More...
 
struct  HardwareTickConfig
 Hardware wheel encoder configuration settings. More...
 
struct  IMUMeasurement
 IMU sensor measurement data (MessageType::IMU_MEASUREMENT, version 1.0). More...
 
struct  InterfaceID
 Identifies an IO interface. More...
 
struct  MeasurementTimestamps
 The time of applicability for an incoming sensor measurement. More...
 
struct  MessageHeader
 The header present at the beginning of every message. More...
 
struct  MessageOutputRateResponse
 The requested output rate. More...
 
struct  MessagePayload
 The base class for all message payloads. More...
 
struct  MessageRequest
 Request transmission of a specified message type, (MessageType::MESSAGE_REQUEST, version 1.0). More...
 
struct  OutputInterfaceConfigEntry
 Configuration for the streams associated with a single output interface. More...
 
struct  OutputInterfaceConfigResponseMessage
 Response to a GetOutputInterfaceConfigMessage request (MessageType::OUTPUT_INTERFACE_CONFIG_RESPONSE, version 1.0). More...
 
struct  Point3f
 A 3-dimensional vector (used for lever arms, etc.). More...
 
struct  PoseAuxMessage
 Auxiliary platform pose information (MessageType::POSE_AUX, version 1.0). More...
 
struct  PoseMessage
 Platform pose solution: position, velocity, attitude (MessageType::POSE, version 1.1). More...
 
struct  RelativeENUPositionMessage
 Relative ENU position to base station (MessageType::RELATIVE_ENU_POSITION, version 1). More...
 
struct  ResetRequest
 Perform a software or hardware reset (MessageType::RESET_REQUEST, version 1.0). More...
 
struct  SatelliteInfo
 Information about an individual satellite (see GNSSSatelliteMessage). More...
 
struct  SaveConfigMessage
 Save or reload configuration settings (MessageType::SAVE_CONFIG, version 1.0). More...
 
struct  SetConfigMessage
 Set a user configuration parameter (MessageType::SET_CONFIG, version 1.0). More...
 
struct  SetMessageOutputRate
 Set the output rate for the requested message type on the specified interface. More...
 
struct  SetOutputInterfaceConfigMessage
 Configure the set of output streams enabled for a given output interface (MessageType::SET_OUTPUT_INTERFACE_CONFIG, version 1.0). More...
 
struct  ShutdownRequest
 Perform a device shutdown (MessageType::SHUTDOWN_REQUEST, version 1.0). More...
 
struct  Timestamp
 Generic timestamp representation. More...
 
struct  VehicleDetails
 Information about the vehicle including model and dimensions. More...
 
struct  VehicleSpeedMeasurement
 Vehicle body speed measurement (MessageType::VEHICLE_SPEED_MEASUREMENT, version 1.0). More...
 
struct  VehicleTickMeasurement
 Singular wheel encoder tick measurement, representing vehicle body speed (MessageType::VEHICLE_TICK_MEASUREMENT, version 1.0). More...
 
struct  VersionInfoMessage
 Software and hardware version information, (MessageType::VERSION_INFO, version 1.0). More...
 
struct  WheelConfig
 Vehicle/wheel speed measurement configuration settings. More...
 
struct  WheelSpeedMeasurement
 Differential wheel speed measurement (MessageType::WHEEL_SPEED_MEASUREMENT, version 1.0). More...
 
struct  WheelTickMeasurement
 Differential wheel encoder tick measurement (MessageType::WHEEL_TICK_MEASUREMENT, version 1.0). More...
 

Enumerations

enum  CalibrationStage : uint8_t { CalibrationStage::UNKNOWN = 0, CalibrationStage::MOUNTING_ANGLE = 1, CalibrationStage::DONE = 255 }
 The stages of the device calibration process. More...
 
enum  ConfigType : uint16_t {
  ConfigType::INVALID = 0, ConfigType::DEVICE_LEVER_ARM = 16, ConfigType::DEVICE_COARSE_ORIENTATION = 17, ConfigType::GNSS_LEVER_ARM = 18,
  ConfigType::OUTPUT_LEVER_ARM = 19, ConfigType::VEHICLE_DETAILS = 20, ConfigType::WHEEL_CONFIG = 21, ConfigType::HARDWARE_TICK_CONFIG = 22,
  ConfigType::UART1_BAUD = 256, ConfigType::UART2_BAUD = 257, ConfigType::UART1_OUTPUT_DIAGNOSTICS_MESSAGES = 258, ConfigType::UART2_OUTPUT_DIAGNOSTICS_MESSAGES = 259,
  ConfigType::ENABLE_WATCHDOG_TIMER = 300
}
 An identifier for the contents of a parameter configuration message. More...
 
enum  ConfigurationSource : uint8_t { ConfigurationSource::ACTIVE = 0, ConfigurationSource::SAVED = 1 }
 The type of a device's configuration settings. More...
 
enum  GearType : uint8_t {
  GearType::UNKNOWN = 0, GearType::FORWARD = 1, GearType::REVERSE = 2, GearType::PARK = 3,
  GearType::NEUTRAL = 4
}
 The current transmission gear used by the vehicle. More...
 
enum  MessageType : uint16_t {
  MessageType::INVALID = 0, MessageType::POSE = 10000, MessageType::GNSS_INFO = 10001, MessageType::GNSS_SATELLITE = 10002,
  MessageType::POSE_AUX = 10003, MessageType::CALIBRATION_STATUS = 10004, MessageType::RELATIVE_ENU_POSITION = 10005, MessageType::IMU_MEASUREMENT = 11000,
  MessageType::WHEEL_SPEED_MEASUREMENT = 11101, MessageType::VEHICLE_SPEED_MEASUREMENT = 11102, MessageType::WHEEL_TICK_MEASUREMENT = 11103, MessageType::VEHICLE_TICK_MEASUREMENT = 11104,
  MessageType::ROS_POSE = 12000, MessageType::ROS_GPS_FIX = 12010, MessageType::ROS_IMU = 12011, MessageType::COMMAND_RESPONSE = 13000,
  MessageType::MESSAGE_REQUEST = 13001, MessageType::RESET_REQUEST = 13002, MessageType::VERSION_INFO = 13003, MessageType::EVENT_NOTIFICATION = 13004,
  MessageType::SHUTDOWN_REQUEST = 13005, MessageType::SET_CONFIG = 13100, MessageType::GET_CONFIG = 13101, MessageType::SAVE_CONFIG = 13102,
  MessageType::CONFIG_RESPONSE = 13103, MessageType::SET_OUTPUT_INTERFACE_CONFIG = 13200, MessageType::GET_OUTPUT_INTERFACE_CONFIG = 13201, MessageType::OUTPUT_INTERFACE_CONFIG_RESPONSE,
  MessageType::SET_OUTPUT_MESSAGE_RATE = 13220, MessageType::GET_OUTPUT_MESSAGE_RATE = 13221, MessageType::OUTPUT_MESSAGE_RATE_RESPONSE = 13222, MessageType::MAX_VALUE = OUTPUT_MESSAGE_RATE_RESPONSE
}
 Identifiers for the defined output message types. More...
 
enum  Response : uint8_t {
  Response::OK = 0, Response::UNSUPPORTED_CMD_VERSION = 1, Response::UNSUPPORTED_FEATURE = 2, Response::VALUE_ERROR = 3,
  Response::INSUFFICIENT_SPACE = 4, Response::EXECUTION_FAILURE = 5, Response::INCONSISTENT_PAYLOAD_LENGTH = 6, Response::DATA_CORRUPTED = 7
}
 Command response status indicators. More...
 
enum  SatelliteType : uint8_t {
  SatelliteType::UNKNOWN = 0, SatelliteType::GPS = 1, SatelliteType::GLONASS = 2, SatelliteType::LEO = 3,
  SatelliteType::GALILEO = 4, SatelliteType::BEIDOU = 5, SatelliteType::QZSS = 6, SatelliteType::MIXED = 7,
  SatelliteType::SBAS = 8, SatelliteType::IRNSS = 9, SatelliteType::MAX_VALUE = IRNSS
}
 System/constellation type definitions. More...
 
enum  SaveAction : uint8_t { SaveAction::SAVE = 0, SaveAction::REVERT_TO_SAVED = 1, SaveAction::REVERT_TO_DEFAULT = 2 }
 The type configuration save operation to be performed. More...
 
enum  SolutionType : uint8_t {
  SolutionType::Invalid = 0, SolutionType::AutonomousGPS = 1, SolutionType::DGPS = 2, SolutionType::RTKFixed = 4,
  SolutionType::RTKFloat = 5, SolutionType::Integrate = 6, SolutionType::Visual = 9, SolutionType::PPP = 10,
  SolutionType::MAX_VALUE = PPP
}
 Navigation solution type definitions. More...
 
enum  SystemTimeSource : uint8_t {
  SystemTimeSource::INVALID = 0, SystemTimeSource::P1_TIME = 1, SystemTimeSource::TIMESTAMPED_ON_RECEPTION = 2, SystemTimeSource::SENDER_SYSTEM_TIME = 3,
  SystemTimeSource::GPS_TIME = 4
}
 The source of a point_one::fusion_engine::messages::Timestamp used to represent the time of applicability of an incoming sensor measurement. More...
 

Functions

uint32_t CalculateCRC (const void *buffer)
 Calculate the CRC for the message (header + payload) contained in the buffer. More...
 
bool IsValid (const void *buffer)
 Check if the message contained in the buffer has a valid CRC. More...
 
std::ostream & operator<< (std::ostream &stream, CalibrationStage val)
 CalibrationStage stream operator. More...
 
std::ostream & operator<< (std::ostream &stream, ConfigType type)
 ConfigType stream operator. More...
 
std::ostream & operator<< (std::ostream &stream, ConfigurationSource source)
 ConfigurationSource stream operator. More...
 
std::ostream & operator<< (std::ostream &stream, GearType val)
 GearType stream operator. More...
 
std::ostream & operator<< (std::ostream &stream, MessageType type)
 MessageType stream operator. More...
 
std::ostream & operator<< (std::ostream &stream, Response val)
 Response stream operator. More...
 
std::ostream & operator<< (std::ostream &stream, SatelliteType type)
 SatelliteType stream operator. More...
 
std::ostream & operator<< (std::ostream &stream, SaveAction action)
 SaveAction stream operator. More...
 
std::ostream & operator<< (std::ostream &stream, SolutionType type)
 SolutionType stream operator. More...
 
std::ostream & operator<< (std::ostream &stream, SystemTimeSource val)
 SystemTimeSource stream operator. More...
 
const char * to_string (CalibrationStage val)
 Get a human-friendly string name for the specified CalibrationStage. More...
 
const char * to_string (ConfigType type)
 Get a human-friendly string name for the specified ConfigType. More...
 
const char * to_string (ConfigurationSource source)
 Get a human-friendly string name for the specified ConfigurationSource. More...
 
const char * to_string (GearType val)
 Get a human-friendly string name for the specified GearType. More...
 
const char * to_string (MessageType type)
 Get a human-friendly string name for the specified MessageType. More...
 
const char * to_string (Response val)
 Get a human-friendly string name for the specified Response. More...
 
const char * to_string (SatelliteType type)
 Get a human-friendly string name for the specified SatelliteType (GNSS constellation). More...
 
const char * to_string (SaveAction action)
 Get a human-friendly string name for the specified SaveAction. More...
 
const char * to_string (SolutionType type)
 Get a human-friendly string name for the specified SolutionType. More...
 
const char * to_string (SystemTimeSource val)
 Get a human-friendly string name for the specified SystemTimeSource. More...
 

Configuration Settings Type Definitions

enum  VehicleModel : uint16_t {
  VehicleModel::UNKNOWN_VEHICLE = 0, VehicleModel::DATASPEED_CD4 = 1, VehicleModel::J1939 = 2, VehicleModel::LEXUS_CT200H = 20,
  VehicleModel::KIA_SORENTO = 40, VehicleModel::KIA_SPORTAGE = 41, VehicleModel::AUDI_Q7 = 60, VehicleModel::AUDI_A8L = 61,
  VehicleModel::TESLA_MODEL_X = 80, VehicleModel::TESLA_MODEL_3 = 81, VehicleModel::HYUNDAI_ELANTRA = 100, VehicleModel::PEUGEOT_206 = 120,
  VehicleModel::MAN_TGX = 140, VehicleModel::FACTION = 160, VehicleModel::LINCOLN_MKZ = 180, VehicleModel::BMW_7 = 200
}
 The make and model of the vehicle. More...
 
enum  WheelSensorType : uint8_t {
  WheelSensorType::NONE = 0, WheelSensorType::TICK_RATE = 1, WheelSensorType::TICKS = 2, WheelSensorType::WHEEL_SPEED = 3,
  WheelSensorType::VEHICLE_SPEED = 4, WheelSensorType::VEHICLE_TICKS = 5
}
 The type of vehicle/wheel speed measurements produced by the vehicle. More...
 
enum  AppliedSpeedType : uint8_t {
  AppliedSpeedType::NONE = 0, AppliedSpeedType::REAR_WHEELS = 1, AppliedSpeedType::FRONT_WHEELS = 2, AppliedSpeedType::FRONT_AND_REAR_WHEELS = 3,
  AppliedSpeedType::VEHICLE_BODY = 4
}
 The type of vehicle/wheel speed measurements to be applied. More...
 
enum  SteeringType : uint8_t { SteeringType::UNKNOWN = 0, SteeringType::FRONT = 1, SteeringType::FRONT_AND_REAR = 2 }
 Indication of which of the vehicle's wheels are steered. More...
 
enum  TickMode : uint8_t { TickMode::OFF = 0, TickMode::RISING_EDGE = 1, TickMode::FALLING_EDGE = 2 }
 The signal edge to use when capturing a wheel tick voltage signal. More...
 
enum  TickDirection : uint8_t { TickDirection::OFF = 0, TickDirection::FORWARD_ACTIVE_HIGH = 1, TickDirection::FORWARD_ACTIVE_LOW = 2 }
 The way to interpret an incoming voltage signal, used to indicate direction of a hardware wheel tick pulse, if available. More...
 
const char * to_string (VehicleModel vehicle_model)
 Get a human-friendly string name for the specified VehicleModel. More...
 
std::ostream & operator<< (std::ostream &stream, VehicleModel vehicle_model)
 VehicleModel stream operator. More...
 
const char * to_string (WheelSensorType wheel_sensor_type)
 Get a human-friendly string name for the specified WheelSensorType. More...
 
std::ostream & operator<< (std::ostream &stream, WheelSensorType wheel_sensor_type)
 WheelSensorType stream operator. More...
 
const char * to_string (AppliedSpeedType applied_speed_type)
 Get a human-friendly string name for the specified AppliedSpeedType. More...
 
std::ostream & operator<< (std::ostream &stream, AppliedSpeedType applied_speed_type)
 AppliedSpeedType stream operator. More...
 
const char * to_string (SteeringType steering_type)
 Get a human-friendly string name for the specified SteeringType. More...
 
std::ostream & operator<< (std::ostream &stream, SteeringType steering_type)
 SteeringType stream operator. More...
 
const char * to_string (TickMode tick_mode)
 
std::ostream & operator<< (std::ostream &stream, TickMode tick_mode)
 TickMode stream operator. More...
 
const char * to_string (TickDirection tick_direction)
 
std::ostream & operator<< (std::ostream &stream, TickDirection tick_direction)
 TickDirection stream operator. More...
 

Input/Output Stream Control

enum  ProtocolType : uint8_t { ProtocolType::INVALID = 0, ProtocolType::FUSION_ENGINE = 1, ProtocolType::NMEA = 2, ProtocolType::RTCM = 3 }
 The framing protocol of a message. More...
 
enum  TransportType : uint8_t {
  TransportType::INVALID = 0, TransportType::SERIAL = 1, TransportType::FILE = 2, TransportType::TCP_CLIENT = 3,
  TransportType::TCP_SERVER = 4, TransportType::UDP_CLIENT = 5, TransportType::UDP_SERVER = 6, TransportType::ALL = 255
}
 Type of IO interface transport. More...
 
enum  UpdateAction : uint8_t { UpdateAction::REPLACE = 0 }
 The ways that this configuration message can be applied to the previous list of values for that configuration type. More...
 
enum  NmeaMessageType : uint16_t {
  NmeaMessageType::INVALID = 0, NmeaMessageType::Standard NMEA Messages, NmeaMessageType::GGA = 1, NmeaMessageType::GLL = 2,
  NmeaMessageType::GSA = 3, NmeaMessageType::GSV = 4, NmeaMessageType::RMC = 5, NmeaMessageType::VTG = 6,
  NmeaMessageType::Point One Proprietary Messages, NmeaMessageType::P1CALSTATUS = 1000, NmeaMessageType::P1MSG = 1001, NmeaMessageType::Quectel Proprietary Messages,
  NmeaMessageType::PQTMVERNO = 1200, NmeaMessageType::PQTMVER = 1201, NmeaMessageType::PQTMGNSS = 1202
}
 Integer ID for NMEA messages. More...
 
enum  MessageRate : uint8_t {
  MessageRate::OFF = 0, MessageRate::ON_CHANGE = 1, MessageRate::INTERVAL_10_MS = 2, MessageRate::INTERVAL_20_MS = 3,
  MessageRate::INTERVAL_40_MS = 4, MessageRate::INTERVAL_50_MS = 5, MessageRate::INTERVAL_100_MS = 6, MessageRate::INTERVAL_200_MS = 7,
  MessageRate::INTERVAL_500_MS = 8, MessageRate::INTERVAL_1_S = 9, MessageRate::INTERVAL_2_S = 10, MessageRate::INTERVAL_5_S = 11,
  MessageRate::INTERVAL_10_S = 12
}
 The output rate for a message type on an interface. More...
 
const char * to_string (ProtocolType val)
 Get a human-friendly string name for the specified ProtocolType. More...
 
std::ostream & operator<< (std::ostream &stream, ProtocolType val)
 ProtocolType stream operator. More...
 
const char * to_string (TransportType val)
 Get a human-friendly string name for the specified TransportType. More...
 
std::ostream & operator<< (std::ostream &stream, TransportType val)
 TransportType stream operator. More...
 
std::ostream & operator<< (std::ostream &stream, InterfaceID val)
 InterfaceID stream operator. More...
 
const char * to_string (UpdateAction val)
 Get a human-friendly string name for the specified UpdateAction. More...
 
std::ostream & operator<< (std::ostream &stream, UpdateAction val)
 UpdateAction stream operator. More...
 
const char * to_string (NmeaMessageType value)
 Get a human-friendly string name for the specified NmeaMessageType. More...
 
std::ostream & operator<< (std::ostream &stream, NmeaMessageType val)
 NmeaMessageType stream operator. More...
 
const char * to_string (MessageRate value)
 Get a human-friendly string name for the specified MessageRate. More...
 
std::ostream & operator<< (std::ostream &stream, MessageRate val)
 MessageRate stream operator. More...
 

Enumeration Type Documentation

◆ MessageRate

The output rate for a message type on an interface.

Enumerator
OFF 

Disable output of this message.

ON_CHANGE 

Output this message each time a new value is available.

INTERVAL_10_MS 

Output this message at this interval.

Not supported for all messages or platforms.

INTERVAL_20_MS 

Output this message at this interval.

Not supported for all messages or platforms.

INTERVAL_40_MS 

Output this message at this interval.

Not supported for all messages or platforms.

INTERVAL_50_MS 

Output this message at this interval.

Not supported for all messages or platforms.

INTERVAL_100_MS 

Output this message at this interval.

Not supported for all messages or platforms.

INTERVAL_200_MS 

Output this message at this interval.

Not supported for all messages or platforms.

INTERVAL_500_MS 

Output this message at this interval.

Not supported for all messages or platforms.

INTERVAL_1_S 

Output this message at this interval.

Not supported for all messages or platforms.

INTERVAL_2_S 

Output this message at this interval.

Not supported for all messages or platforms.

INTERVAL_5_S 

Output this message at this interval.

Not supported for all messages or platforms.

INTERVAL_10_S 

Output this message at this interval.

Not supported for all messages or platforms.

Definition at line 1377 of file configuration.h.

◆ NmeaMessageType

Integer ID for NMEA messages.

Enumerator
INVALID 
Standard NMEA Messages 
GGA 
GLL 
GSA 
GSV 
RMC 
VTG 
Point One Proprietary Messages 
P1CALSTATUS 
P1MSG 
Quectel Proprietary Messages 
PQTMVERNO 
PQTMVER 
PQTMGNSS 

Definition at line 1280 of file configuration.h.

◆ ProtocolType

The framing protocol of a message.

Enumerator
INVALID 
FUSION_ENGINE 
NMEA 
RTCM 

Definition at line 974 of file configuration.h.

◆ TransportType

Type of IO interface transport.

Enumerator
INVALID 
SERIAL 
FILE 
TCP_CLIENT 
TCP_SERVER 
UDP_CLIENT 
UDP_SERVER 
ALL 

This is used for requesting the configuration for all interfaces.

Definition at line 1017 of file configuration.h.

◆ UpdateAction

The ways that this configuration message can be applied to the previous list of values for that configuration type.

Enumerator
REPLACE 

Replace the previous list of values with the set provided in this configuration.

Definition at line 1105 of file configuration.h.

Function Documentation

◆ operator<<() [1/3]

std::ostream& point_one::fusion_engine::messages::operator<< ( std::ostream &  stream,
CalibrationStage  val 
)
inline

CalibrationStage stream operator.

Definition at line 354 of file solution.h.

◆ operator<<() [2/3]

std::ostream& point_one::fusion_engine::messages::operator<< ( std::ostream &  stream,
GearType  val 
)
inline

GearType stream operator.

Definition at line 233 of file measurements.h.

◆ operator<<() [3/3]

std::ostream& point_one::fusion_engine::messages::operator<< ( std::ostream &  stream,
SystemTimeSource  val 
)
inline

SystemTimeSource stream operator.

Definition at line 82 of file measurements.h.

◆ to_string() [1/3]

const char* point_one::fusion_engine::messages::to_string ( CalibrationStage  val)
inline

Get a human-friendly string name for the specified CalibrationStage.

Parameters
valThe enum to get the string name for.
Returns
The corresponding string name.

Definition at line 338 of file solution.h.

◆ to_string() [2/3]

const char* point_one::fusion_engine::messages::to_string ( GearType  val)
inline

Get a human-friendly string name for the specified GearType.

Parameters
valThe enum to get the string name for.
Returns
The corresponding string name.

Definition at line 213 of file measurements.h.

◆ to_string() [3/3]

const char* point_one::fusion_engine::messages::to_string ( SystemTimeSource  val)
inline

Get a human-friendly string name for the specified SystemTimeSource.

Parameters
valThe enum to get the string name for.
Returns
The corresponding string name.

Definition at line 62 of file measurements.h.