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  DataVersion
 A struct representing the version of a data object. More...
 
struct  DeprecatedVehicleSpeedMeasurement
 (Deprecated) Vehicle body speed measurement (MessageType::DEPRECATED_VEHICLE_SPEED_MEASUREMENT, version 1.0). More...
 
struct  DeprecatedWheelSpeedMeasurement
 (Deprecated) Differential wheel speed measurement (MessageType::DEPRECATED_WHEEL_SPEED_MEASUREMENT, version 1.0). More...
 
struct  DeviceIDMessage
 Device identifier information (MessageType::DEVICE_ID, version 1.0). More...
 
struct  EventNotificationMessage
 Notification of a system event for logging purposes (MessageType::EVENT_NOTIFICATION, version 1.0). More...
 
struct  ExportDataMessage
 Export data from the device (MessageType::EXPORT_DATA, version 1.0). More...
 
struct  FaultControlMessage
 Enable/disable a specified system fault (MessageType::FAULT_CONTROL, version 1.0). More...
 
struct  GetConfigMessage
 Query the value of a user configuration parameter (MessageType::GET_CONFIG, version 1.1). More...
 
struct  GetMessageRate
 Get the configured output rate for the he requested message type on the specified interface (MessageType::GET_MESSAGE_RATE, version 1.0). More...
 
struct  GNSSInfoMessage
 Information about the GNSS data used in the PoseMessage with the corresponding timestamp (MessageType::GNSS_INFO, version 1.1). 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 tick encoder configuration settings. More...
 
struct  HeadingBias
 Heading bias horizontal/vertical configuration settings. More...
 
struct  HeadingOutput
 Heading sensor measurement output with heading bias corrections applied (MessageType::HEADING_OUTPUT, version 1.0). More...
 
struct  ImportDataMessage
 Import data from the host to the device (MessageType::IMPORT_DATA, version 1.0). More...
 
struct  IMUInput
 IMU sensor measurement input (MessageType::IMU_INPUT, version 1.0). More...
 
struct  IMUOutput
 IMU sensor measurement output with calibration and corrections applied (MessageType::IMU_OUTPUT, version 1.0). More...
 
struct  InterfaceConfigSubmessage
 A submessage header for configuration data associated with the ConfigType::INTERFACE_CONFIG. More...
 
struct  InterfaceID
 Identifies an I/O interface. More...
 
struct  IonosphereConfig
 Ionospheric delay model configuration. More...
 
struct  LBandConfig
 Configuration of the L-band demodulator parameters. More...
 
struct  LBandFrameMessage
 L-band frame contents (MessageType::LBAND_FRAME, version 1.0). More...
 
struct  MeasurementDetails
 The time of applicability and additional information for an incoming sensor measurement. More...
 
struct  MessageHeader
 The header present at the beginning of every message. More...
 
struct  MessagePayload
 The base class for all message payloads. More...
 
struct  MessageRateResponse
 Response to a GetMessageRate request (MessageType::MESSAGE_RATE_RESPONSE, version 1.1). More...
 
struct  MessageRateResponseEntry
 An element of a MessageRateResponse message. More...
 
struct  MessageRequest
 Request transmission of a specified message type, (MessageType::MESSAGE_REQUEST, version 1.0). More...
 
struct  PlatformStorageDataMessage
 Message for reporting platform storage data (MessageType::PLATFORM_STORAGE_DATA, 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  RawHeadingOutput
 Raw (uncorrected) heading sensor measurement output (MessageType::RAW_HEADING_OUTPUT, version 1.0). More...
 
struct  RawIMUOutput
 Raw (uncorrected) IMU sensor measurement output (MessageType::RAW_IMU_OUTPUT, version 1.0). More...
 
struct  RawVehicleSpeedOutput
 Raw (uncorrected) vehicle body speed measurement output (MessageType::RAW_VEHICLE_SPEED_OUTPUT, version 1.0). More...
 
struct  RawVehicleTickOutput
 Raw (uncorrected) single wheel encoder tick output (MessageType::RAW_VEHICLE_TICK_OUTPUT, version 1.0). More...
 
struct  RawWheelSpeedOutput
 Raw (uncorrected) dfferential wheel speed measurement output (MessageType::RAW_WHEEL_SPEED_OUTPUT, version 1.0). More...
 
struct  RawWheelTickOutput
 Raw (uncorrected) dfferential wheel encoder tick output (MessageType::RAW_WHEEL_TICK_OUTPUT, version 1.0). More...
 
struct  RelativeENUPositionMessage
 Relative ENU position to base station (MessageType::RELATIVE_ENU_POSITION, version 1.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  SetMessageRate
 Set the output rate for the requested message types (MessageType::SET_MESSAGE_RATE, version 1.0). More...
 
struct  ShutdownRequest
 Perform a device shutdown (MessageType::SHUTDOWN_REQUEST, version 1.0). More...
 
struct  StartupRequest
 Start up a device (MessageType::STARTUP_REQUEST, version 1.0). More...
 
struct  SupportedIOInterfacesMessage
 A list of transport interfaces supported by the device (MessageType::SUPPORTED_IO_INTERFACES, version 1.0). More...
 
struct  SystemStatusMessage
 System status information (MessageType::SYSTEM_STATUS, version 1.0). More...
 
struct  Timestamp
 Generic timestamp representation. More...
 
struct  TroposphereConfig
 Tropospheric delay model configuration. More...
 
struct  VehicleDetails
 Information about the vehicle including model and dimensions. More...
 
struct  VehicleSpeedInput
 Vehicle body speed measurement input (MessageType::VEHICLE_SPEED_INPUT, version 1.0). More...
 
struct  VehicleSpeedOutput
 Vehicle body speed measurement output with calibration and corrections applied (MessageType::VEHICLE_SPEED_OUTPUT, version 1.0). More...
 
struct  VehicleTickInput
 Single wheel encoder tick input, representing vehicle body speed (MessageType::VEHICLE_TICK_INPUT, version 1.0). More...
 
struct  VersionInfoMessage
 Software version information, (MessageType::VERSION_INFO, version 1.0). More...
 
struct  WheelConfig
 Software vehicle/wheel speed measurement configuration settings. More...
 
struct  WheelSpeedInput
 Differential wheel speed measurement input (MessageType::WHEEL_SPEED_INPUT, version 1.0). More...
 
struct  WheelSpeedOutput
 Differential wheel speed measurement output with calibration and corrections applied (MessageType::WHEEL_SPEED_OUTPUT, version 1.0). More...
 
struct  WheelTickInput
 Differential wheel encoder tick input (MessageType::WHEEL_TICK_INPUT, version 1.0). More...
 

Enumerations

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  CalibrationStage : uint8_t { CalibrationStage::UNKNOWN = 0, CalibrationStage::MOUNTING_ANGLE = 1, CalibrationStage::DONE = 255 }
 The stages of the device calibration process. More...
 
enum  CoComType : uint8_t { CoComType::NONE = 0, CoComType::ACCELERATION = 1, CoComType::SPEED = 2, CoComType::ALTITUDE = 3 }
 The type of COCOM limit to be applied. 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::HEADING_BIAS = 23, ConfigType::ENABLED_GNSS_SYSTEMS = 50, ConfigType::ENABLED_GNSS_FREQUENCY_BANDS = 51, ConfigType::LEAP_SECOND = 52,
  ConfigType::GPS_WEEK_ROLLOVER = 53, ConfigType::IONOSPHERE_CONFIG = 54, ConfigType::TROPOSPHERE_CONFIG = 55, ConfigType::INTERFACE_CONFIG = 200,
  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, ConfigType::USER_DEVICE_ID = 301, ConfigType::LBAND_PARAMETERS = 1024
}
 An identifier for the contents of a parameter configuration message. More...
 
enum  ConfigurationSource : uint8_t { ConfigurationSource::ACTIVE = 0, ConfigurationSource::SAVED = 1, ConfigurationSource::DEFAULT = 2 }
 The type of a device's configuration settings. More...
 
enum  DeviceType : uint8_t {
  DeviceType::UNKNOWN = 0, DeviceType::ATLAS = 1, DeviceType::LG69T_AM = 2, DeviceType::LG69T_AP = 3,
  DeviceType::LG69T_AH = 4, DeviceType::NEXAR_BEAM2K = 5, DeviceType::SSR_LG69T = 6, DeviceType::SSR_DESKTOP = 7
}
 Identifies a FusionEngine device. More...
 
enum  FaultType : uint8_t {
  FaultType::CLEAR_ALL = 0, FaultType::CRASH = 1, FaultType::FATAL_ERROR = 2, FaultType::COCOM = 3,
  FaultType::ENABLE_GNSS = 4, FaultType::REGION_BLACKOUT = 5, FaultType::QUECTEL_TEST = 6, FaultType::INTEGRITY_STATUS = 7
}
 Available fault types/control inputs. 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  InterfaceConfigType : uint8_t {
  InterfaceConfigType::INVALID = 0, InterfaceConfigType::OUTPUT_DIAGNOSTICS_MESSAGES = 1, InterfaceConfigType::BAUD_RATE = 2, InterfaceConfigType::REMOTE_ADDRESS = 3,
  InterfaceConfigType::PORT = 4, InterfaceConfigType::ENABLED = 5, InterfaceConfigType::DIRECTION = 6, InterfaceConfigType::SOCKET_TYPE = 7
}
 An identifier for the contents of a output interface configuration submessage. More...
 
enum  IonoDelayModel : uint8_t { IonoDelayModel::AUTO = 0, IonoDelayModel::OFF = 1, IonoDelayModel::KLOBUCHAR = 2, IonoDelayModel::SBAS = 3 }
 The ionospheric delay model to use. 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::SYSTEM_STATUS = 10500,
  MessageType::IMU_OUTPUT = 11000, MessageType::RAW_HEADING_OUTPUT = 11001, MessageType::RAW_IMU_OUTPUT = 11002, MessageType::HEADING_OUTPUT = 11003,
  MessageType::IMU_INPUT = 11004, MessageType::DEPRECATED_WHEEL_SPEED_MEASUREMENT, MessageType::DEPRECATED_VEHICLE_SPEED_MEASUREMENT, MessageType::WHEEL_TICK_INPUT = 11103,
  MessageType::VEHICLE_TICK_INPUT = 11104, MessageType::WHEEL_SPEED_INPUT = 11105, MessageType::VEHICLE_SPEED_INPUT = 11106, MessageType::RAW_WHEEL_TICK_OUTPUT = 11123,
  MessageType::RAW_VEHICLE_TICK_OUTPUT = 11124, MessageType::RAW_WHEEL_SPEED_OUTPUT = 11125, MessageType::RAW_VEHICLE_SPEED_OUTPUT = 11126, MessageType::WHEEL_SPEED_OUTPUT = 11135,
  MessageType::VEHICLE_SPEED_OUTPUT = 11136, 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::FAULT_CONTROL = 13006, MessageType::DEVICE_ID = 13007,
  MessageType::STARTUP_REQUEST = 13008, MessageType::SET_CONFIG = 13100, MessageType::GET_CONFIG = 13101, MessageType::SAVE_CONFIG = 13102,
  MessageType::CONFIG_RESPONSE = 13103, MessageType::IMPORT_DATA = 13110, MessageType::EXPORT_DATA = 13111, MessageType::PLATFORM_STORAGE_DATA = 13113,
  MessageType::SET_MESSAGE_RATE = 13220, MessageType::GET_MESSAGE_RATE = 13221, MessageType::MESSAGE_RATE_RESPONSE = 13222, MessageType::SUPPORTED_IO_INTERFACES = 13223,
  MessageType::LBAND_FRAME = 14000, MessageType::MAX_VALUE = LBAND_FRAME
}
 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,
  Response::NO_DATA_STORED = 8, Response::UNAVAILABLE = 9
}
 Command response status indicators. 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  SensorDataSource : uint8_t {
  SensorDataSource::UNKNOWN = 0, SensorDataSource::INTERNAL = 1, SensorDataSource::HARDWARE_IO = 2, SensorDataSource::CAN = 3,
  SensorDataSource::SERIAL = 4, SensorDataSource::NETWORK = 5
}
 The source of received sensor measurements, if known. 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  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  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...
 
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...
 
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  TropoDelayModel : uint8_t { TropoDelayModel::AUTO = 0, TropoDelayModel::OFF = 1, TropoDelayModel::SAASTAMOINEN = 2 }
 The tropospheric delay model to use. More...
 
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,
  VehicleModel::BMW_MOTORRAD = 201, VehicleModel::VW_4 = 220, VehicleModel::RIVIAN = 240
}
 The make and model of the vehicle. More...
 
enum  WheelSensorType : uint8_t {
  WheelSensorType::NONE = 0, 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...
 

Functions

uint32_t CalculateCRC (const void *buffer)
 Calculate the CRC for the message (header + payload) contained in the buffer. More...
 
uint32_t CalculateCRC (const void *buffer, size_t length, uint32_t initial_value=0)
 Calculate the CRC for the message (payload) contained in the buffer. More...
 
DataVersion FromString (const char *str)
 
DataVersion FromString (std::string str)
 
P1_CONSTEXPR_FUNC bool IsCommand (const MessageHeader &header)
 Check if the specified message is a user command. More...
 
P1_CONSTEXPR_FUNC bool IsCommand (MessageType message_type)
 Check if the specified message type is a user command. More...
 
P1_CONSTEXPR_FUNC bool IsResponse (const MessageHeader &header)
 Check if the specified message type is a response to a user command. More...
 
P1_CONSTEXPR_FUNC bool IsResponse (MessageType message_type)
 Check if the specified message type is a response to a user command. More...
 
bool IsValid (const void *buffer)
 Check if the message contained in the buffer has a valid CRC. More...
 
constexpr bool operator!= (const DataVersion &a, const DataVersion &b)
 
constexpr bool operator< (const DataVersion &a, const DataVersion &b)
 
p1_ostreamoperator<< (p1_ostream &stream, AppliedSpeedType applied_speed_type)
 AppliedSpeedType stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, CalibrationStage val)
 CalibrationStage stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, CoComType type)
 CoComType stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, ConfigType type)
 ConfigType stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, ConfigurationSource source)
 ConfigurationSource stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, const DataVersion &ver)
 Helper class for printing out X.Y form of DataVersion. More...
 
p1_ostreamoperator<< (p1_ostream &stream, DeviceType val)
 DeviceType stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, FaultType type)
 ConfigurationSource stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, GearType val)
 GearType stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, InterfaceConfigType type)
 InterfaceConfigType stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, IonoDelayModel iono_delay_model)
 IonoDelayModel stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, MessageType type)
 MessageType stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, Response val)
 Response stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, SaveAction action)
 SaveAction stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, SensorDataSource val)
 SensorDataSource stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, SolutionType type)
 SolutionType stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, SteeringType steering_type)
 SteeringType stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, SystemTimeSource val)
 SystemTimeSource stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, TickDirection tick_direction)
 TickDirection stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, TickMode tick_mode)
 TickMode stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, TropoDelayModel tropo_delay_model)
 TropoDelayModel stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, VehicleModel vehicle_model)
 VehicleModel stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, WheelSensorType wheel_sensor_type)
 WheelSensorType stream operator. More...
 
constexpr bool operator<= (const DataVersion &a, const DataVersion &b)
 
constexpr bool operator== (const DataVersion &a, const DataVersion &b)
 
constexpr bool operator> (const DataVersion &a, const DataVersion &b)
 
constexpr bool operator>= (const DataVersion &a, const DataVersion &b)
 
P1_CONSTEXPR_FUNC const char * to_string (AppliedSpeedType applied_speed_type)
 Get a human-friendly string name for the specified AppliedSpeedType. More...
 
P1_CONSTEXPR_FUNC const char * to_string (CalibrationStage val)
 Get a human-friendly string name for the specified CalibrationStage. More...
 
P1_CONSTEXPR_FUNC const char * to_string (CoComType type)
 Get a human-friendly string name for the specified CoComType. More...
 
P1_CONSTEXPR_FUNC const char * to_string (ConfigType type)
 Get a human-friendly string name for the specified ConfigType. More...
 
P1_CONSTEXPR_FUNC const char * to_string (ConfigurationSource source)
 Get a human-friendly string name for the specified ConfigurationSource. More...
 
P1_CONSTEXPR_FUNC const char * to_string (DeviceType val)
 Get a human-friendly string name for the specified DeviceType. More...
 
P1_CONSTEXPR_FUNC const char * to_string (FaultType type)
 Get a human-friendly string name for the specified FaultType. More...
 
P1_CONSTEXPR_FUNC const char * to_string (GearType val)
 Get a human-friendly string name for the specified GearType. More...
 
P1_CONSTEXPR_FUNC const char * to_string (InterfaceConfigType type)
 Get a human-friendly string name for the specified ConfigType. More...
 
P1_CONSTEXPR_FUNC const char * to_string (IonoDelayModel iono_delay_model)
 
P1_CONSTEXPR_FUNC const char * to_string (MessageType type)
 Get a human-friendly string name for the specified MessageType. More...
 
P1_CONSTEXPR_FUNC const char * to_string (Response val)
 Get a human-friendly string name for the specified Response. More...
 
P1_CONSTEXPR_FUNC const char * to_string (SaveAction action)
 Get a human-friendly string name for the specified SaveAction. More...
 
P1_CONSTEXPR_FUNC const char * to_string (SensorDataSource val)
 Get a human-friendly string name for the specified SensorDataSource. More...
 
P1_CONSTEXPR_FUNC const char * to_string (SolutionType type)
 Get a human-friendly string name for the specified SolutionType. More...
 
P1_CONSTEXPR_FUNC const char * to_string (SteeringType steering_type)
 Get a human-friendly string name for the specified SteeringType. More...
 
P1_CONSTEXPR_FUNC const char * to_string (SystemTimeSource val)
 Get a human-friendly string name for the specified SystemTimeSource. More...
 
P1_CONSTEXPR_FUNC const char * to_string (TickDirection tick_direction)
 
P1_CONSTEXPR_FUNC const char * to_string (TickMode tick_mode)
 
P1_CONSTEXPR_FUNC const char * to_string (TropoDelayModel tropo_delay_model)
 
P1_CONSTEXPR_FUNC const char * to_string (VehicleModel vehicle_model)
 Get a human-friendly string name for the specified VehicleModel. More...
 
P1_CONSTEXPR_FUNC const char * to_string (WheelSensorType wheel_sensor_type)
 Get a human-friendly string name for the specified WheelSensorType. More...
 
template<typename... Args>
constexpr uint32_t ToBitMask (FrequencyBand first, Args... others)
 Convert two or more FrequencyBand values to a bitmask. More...
 
constexpr uint32_t ToBitMask (FrequencyBand type)
 Convert a FrequencyBand to a corresponding frequency control bitmask value. More...
 
template<typename... Args>
constexpr uint32_t ToBitMask (SatelliteType first, Args... others)
 Convert two or more SatelliteType values to a bitmask. More...
 
constexpr uint32_t ToBitMask (SatelliteType type)
 Convert a SatelliteType to a corresponding constellation control bitmask value. More...
 
std::string ToString (const DataVersion &ver)
 

Variables

static constexpr uint32_t FREQUENCY_BAND_MASK_ALL = 0xFFFFFFFF
 
static constexpr uint32_t FREQUENCY_BAND_MASK_L1
 
static constexpr uint32_t FREQUENCY_BAND_MASK_L2
 
static constexpr uint32_t FREQUENCY_BAND_MASK_L5
 
static constexpr uint32_t FREQUENCY_BAND_MASK_L6
 
constexpr DataVersion INVALID_DATA_VERSION
 
static constexpr uint32_t SATELLITE_TYPE_MASK_ALL = 0xFFFFFFFF
 
static constexpr uint32_t SATELLITE_TYPE_MASK_BEIDOU
 
static constexpr uint32_t SATELLITE_TYPE_MASK_GALILEO
 
static constexpr uint32_t SATELLITE_TYPE_MASK_GLONASS
 
static constexpr uint32_t SATELLITE_TYPE_MASK_GPS
 
static constexpr uint32_t SATELLITE_TYPE_MASK_IRNSS
 
static constexpr uint32_t SATELLITE_TYPE_MASK_LEO
 
static constexpr uint32_t SATELLITE_TYPE_MASK_MIXED
 
static constexpr uint32_t SATELLITE_TYPE_MASK_QZSS
 
static constexpr uint32_t SATELLITE_TYPE_MASK_SBAS
 

Input/Output Stream Control

enum  ProtocolType : uint8_t {
  ProtocolType::INVALID = 0, ProtocolType::FUSION_ENGINE = 1, ProtocolType::NMEA = 2, ProtocolType::RTCM = 3,
  ProtocolType::ALL = 0xFF
}
 The framing protocol of a message. More...
 
enum  TransportType : uint8_t {
  TransportType::INVALID = 0, TransportType::SERIAL = 1, TransportType::FILE = 2, TransportType::TCP = 4,
  TransportType::UDP = 5, TransportType::WEBSOCKET = 7, TransportType::UNIX = 8, TransportType::CURRENT = 254,
  TransportType::ALL = 255
}
 Type of I/O interface transport. More...
 
enum  TransportDirection : uint8_t { TransportDirection::INVALID = 0, TransportDirection::SERVER = 1, TransportDirection::CLIENT = 2 }
 The direction (client/server) for an individual interface. More...
 
enum  SocketType : uint8_t { SocketType::INVALID = 0, SocketType::STREAM = 1, SocketType::DATAGRAM = 2, SocketType::SEQPACKET = 3 }
 The socket type specifying how data is transmitted for UNIX domain sockets. 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, NmeaMessageType::PQTMVERNO_SUB = 1203,
  NmeaMessageType::PQTMVER_SUB = 1204, NmeaMessageType::PQTMTXT = 1205
}
 Integer ID for NMEA messages. More...
 
enum  MessageRate : uint8_t {
  MessageRate::OFF = 0, MessageRate::ON_CHANGE = 1, MessageRate::MAX_RATE = 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, MessageRate::INTERVAL_30_S = 13, MessageRate::INTERVAL_60_S = 14,
  MessageRate::DEFAULT = 255
}
 The output rate for a message type on an interface. More...
 
enum  DataType : uint8_t {
  DataType::CALIBRATION_STATE = 0, DataType::CRASH_LOG = 1, DataType::FILTER_STATE = 2, DataType::USER_CONFIG = 3,
  DataType::INVALID = 255
}
 Type of data stored on device. More...
 
constexpr uint16_t ALL_MESSAGES_ID = 0xFFFF
 Setting message_id to this value acts as a wild card. More...
 
P1_CONSTEXPR_FUNC const char * to_string (ProtocolType val)
 Get a human-friendly string name for the specified ProtocolType. More...
 
p1_ostreamoperator<< (p1_ostream &stream, ProtocolType val)
 ProtocolType stream operator. More...
 
P1_CONSTEXPR_FUNC const char * to_string (TransportType val)
 Get a human-friendly string name for the specified TransportType. More...
 
p1_ostreamoperator<< (p1_ostream &stream, TransportType val)
 TransportType stream operator. More...
 
P1_CONSTEXPR_FUNC const char * to_string (TransportDirection val)
 Get a human-friendly string name for the specified TransportDirection. More...
 
p1_ostreamoperator<< (p1_ostream &stream, TransportDirection val)
 TransportDirection stream operator. More...
 
P1_CONSTEXPR_FUNC const char * to_string (SocketType val)
 Get a human-friendly string name for the specified SocketType. More...
 
p1_ostreamoperator<< (p1_ostream &stream, SocketType val)
 SocketType stream operator. More...
 
p1_ostreamoperator<< (p1_ostream &stream, InterfaceID val)
 InterfaceID stream operator. More...
 
P1_CONSTEXPR_FUNC const char * to_string (NmeaMessageType value)
 Get a human-friendly string name for the specified NmeaMessageType. More...
 
p1_ostreamoperator<< (p1_ostream &stream, NmeaMessageType val)
 NmeaMessageType stream operator. More...
 
P1_CONSTEXPR_FUNC const char * to_string (MessageRate value)
 Get a human-friendly string name for the specified MessageRate. More...
 
p1_ostreamoperator<< (p1_ostream &stream, MessageRate val)
 MessageRate stream operator. More...
 
P1_CONSTEXPR_FUNC const char * to_string (DataType type)
 Get a string representation of a DataType. More...
 
p1_ostreamoperator<< (p1_ostream &stream, DataType val)
 DataType stream operator. More...
 

GNSS Constellation (System) Definitions

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  FrequencyBand : uint8_t {
  FrequencyBand::UNKNOWN = 0, FrequencyBand::L1 = 1, FrequencyBand::L2 = 2, FrequencyBand::L5 = 5,
  FrequencyBand::L6 = 6, FrequencyBand::MAX_VALUE = L6
}
 GNSS frequency band definitions. More...
 
P1_CONSTEXPR_FUNC const char * to_string (SatelliteType type)
 Get a human-friendly string name for the specified SatelliteType (GNSS constellation). More...
 
p1_ostreamoperator<< (p1_ostream &stream, SatelliteType type)
 SatelliteType stream operator. More...
 
P1_CONSTEXPR_FUNC const char * to_string (FrequencyBand type)
 Get a human-friendly string name for the specified FrequencyBand. More...
 
p1_ostreamoperator<< (p1_ostream &stream, FrequencyBand type)
 FrequencyBand stream operator. More...
 

Enumeration Type Documentation

◆ DataType

Type of data stored on device.

Enumerator
CALIBRATION_STATE 
CRASH_LOG 
FILTER_STATE 
USER_CONFIG 
INVALID 

Definition at line 2359 of file configuration.h.

◆ FrequencyBand

GNSS frequency band definitions.

Enumerator
UNKNOWN 
L1 

L1 band = 1561.098 MHz (BeiDou B1) -> 1602.0 (GLONASS G1) Includes: GPS/QZSS L1, Galileo E1 (same as GPS L1), BeiDou B1I and B1C (same as GPS L1), GLONASS G1.

L2 

L2 band = 1202.025 MHz (G3) -> 1248.06 (G2) Includes: GPS L2, Galileo E5b, BeiDou B2I (same as Galileo E5b), GLONASS G2 & G3.

L5 

L5 band = 1176.45 MHz (L5) Includes: GPS/QZSS L5, Galileo E5a, BeiDou B2a, IRNSS L5.

L6 

L2 band = 1262.52 MHz (B3) -> 1278.75 (QZSS L6) Includes: Galileo E6, BeiDou B3, QZSS L6.

MAX_VALUE 

Definition at line 210 of file signal_defs.h.

◆ 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.

MAX_RATE 

Alias for MessageRate::ON_CHANGE.

INTERVAL_10_MS 

Output this message every 10 milliseconds.

Not supported for all messages or platforms.

INTERVAL_20_MS 

Output this message every 20 milliseconds.

Not supported for all messages or platforms.

INTERVAL_40_MS 

Output this message every 40 milliseconds.

Not supported for all messages or platforms.

INTERVAL_50_MS 

Output this message every 50 milliseconds.

Not supported for all messages or platforms.

INTERVAL_100_MS 

Output this message every 100 milliseconds.

Not supported for all messages or platforms.

INTERVAL_200_MS 

Output this message every 200 milliseconds.

Not supported for all messages or platforms.

INTERVAL_500_MS 

Output this message every 500 milliseconds.

Not supported for all messages or platforms.

INTERVAL_1_S 

Output this message every second.

Not supported for all messages or platforms.

INTERVAL_2_S 

Output this message every 2 seconds.

Not supported for all messages or platforms.

INTERVAL_5_S 

Output this message every 5 seconds.

Not supported for all messages or platforms.

INTERVAL_10_S 

Output this message every 10 seconds.

Not supported for all messages or platforms.

INTERVAL_30_S 

Output this message every 30 seconds.

Not supported for all messages or platforms.

INTERVAL_60_S 

Output this message every 60 seconds.

Not supported for all messages or platforms.

DEFAULT 

Restore this message's rate back to its default value.

Definition at line 1956 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 
PQTMVERNO_SUB 
PQTMVER_SUB 
PQTMTXT 

Definition at line 1862 of file configuration.h.

◆ ProtocolType

The framing protocol of a message.

Enumerator
INVALID 
FUSION_ENGINE 
NMEA 
RTCM 
ALL 

This is used for requesting the configuration for all protocols.

Definition at line 1542 of file configuration.h.

◆ SatelliteType

System/constellation type definitions.

Enumerator
UNKNOWN 
GPS 
GLONASS 
LEO 
GALILEO 
BEIDOU 
QZSS 
MIXED 
SBAS 
IRNSS 
MAX_VALUE 

Definition at line 27 of file signal_defs.h.

◆ SocketType

The socket type specifying how data is transmitted for UNIX domain sockets.

Enumerator
INVALID 
STREAM 

Operate in connection-oriented streaming mode and do not preserve message boundaries (similar to TCP).

DATAGRAM 

Operate in datagram mode, preserving message boundaries but not maintaining client connections (similar to UDP).

SEQPACKET 

Operate in sequenced packet mode, which is both connection-oriented and preserves message boundaries.

Definition at line 1750 of file configuration.h.

◆ TransportDirection

The direction (client/server) for an individual interface.

Enumerator
INVALID 
SERVER 

A server listening for one or more incoming remote connections.

CLIENT 

A client connecting to a specified remote server.

Definition at line 1708 of file configuration.h.

◆ TransportType

Type of I/O interface transport.

Enumerator
INVALID 
SERIAL 

A serial data interface (e.g.

an RS232 connection).

FILE 

A interface that writes to a file.

TCP 

A TCP client or server.

A TCP client will connect to a specified TCP server address and port. A TCP server will listen for incoming client connections, and may communicate with multiple clients at a time. Responses to commands will be sent only to the the issuing client. All other configured output messages will be sent to all clients.

See also TransportDirection.

UDP 

A UDP client or server.

UDP connections are stateless, unlike TCP. A UDP interface will listen for incoming messages on a specified port. It may optionally be configured to sent output to a specific hostname or IP address, including broadcast or multicast addresses. If an address is not specified, the interface will not send any output automatically, but it will respond to incoming commands, sending responses back to the remote client's address and port.

WEBSOCKET 

A WebSocket client or server.

WebSocket connections are similar to TCP connections, and use TCP as their underlying transport, but use the WebSocket protocol to send and receive data.

See also TransportDirection.

UNIX 

A UNIX domain socket client or server.

UNIX domain socket connections may be configured as either client that connects to an existing server, or a server that listens for one or more incoming client connections. UNIX domain sockets may operate in one of three possible modes:

  • A connection-oriented streaming mode where packet boundaries are not preserved (similar to TCP)
  • Datagram mode where packet boundaries are preserved but connections between the client and server are not maintained, and the interface sends output to an optional configured file (similar to UDP)
  • Sequenced packet mode, which is connection-oriented (like TCP) but also preserves message boundaries (like UDP) and guarantees in-order delivery

For a UNIX domain socket, you must specify:

  • The TransportDirection (client or server)
  • The SocketType (streaming, datagram, or sequenced)
  • The path to a socket file to connect to (client) or create (server)
CURRENT 

Set/get the configuration for the interface on which the command was received.

ALL 

Set/get the configuration for the all I/O interfaces.

Definition at line 1592 of file configuration.h.

Function Documentation

◆ FromString() [1/2]

DataVersion point_one::fusion_engine::messages::FromString ( const char *  str)

Definition at line 26 of file data_version.cc.

◆ FromString() [2/2]

DataVersion point_one::fusion_engine::messages::FromString ( std::string  str)
inline

Definition at line 90 of file data_version.h.

◆ operator!=()

constexpr bool point_one::fusion_engine::messages::operator!= ( const DataVersion a,
const DataVersion b 
)
inlineconstexpr

Definition at line 53 of file data_version.h.

◆ operator<()

constexpr bool point_one::fusion_engine::messages::operator< ( const DataVersion a,
const DataVersion b 
)
inlineconstexpr

Definition at line 57 of file data_version.h.

◆ operator<<() [1/2]

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

CalibrationStage stream operator.

Definition at line 394 of file solution.h.

◆ operator<<() [2/2]

p1_ostream & point_one::fusion_engine::messages::operator<< ( p1_ostream stream,
const DataVersion ver 
)

Helper class for printing out X.Y form of DataVersion.

DataVersion ver{3, 2};
std::cout << "Ver: " << ver;
// Ver: 3.2

Definition at line 9 of file data_version.cc.

◆ operator<=()

constexpr bool point_one::fusion_engine::messages::operator<= ( const DataVersion a,
const DataVersion b 
)
inlineconstexpr

Definition at line 67 of file data_version.h.

◆ operator==()

constexpr bool point_one::fusion_engine::messages::operator== ( const DataVersion a,
const DataVersion b 
)
inlineconstexpr

Definition at line 48 of file data_version.h.

◆ operator>()

constexpr bool point_one::fusion_engine::messages::operator> ( const DataVersion a,
const DataVersion b 
)
inlineconstexpr

Definition at line 63 of file data_version.h.

◆ operator>=()

constexpr bool point_one::fusion_engine::messages::operator>= ( const DataVersion a,
const DataVersion b 
)
inlineconstexpr

Definition at line 71 of file data_version.h.

◆ to_string() [1/2]

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

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 378 of file solution.h.

◆ to_string() [2/2]

P1_CONSTEXPR_FUNC const char* point_one::fusion_engine::messages::to_string ( DataType  type)

Get a string representation of a DataType.

Parameters
typeThe requested type.
Returns
The corresponding string name.

Definition at line 2374 of file configuration.h.

◆ ToString()

std::string point_one::fusion_engine::messages::ToString ( const DataVersion ver)

Definition at line 17 of file data_version.cc.

Variable Documentation

◆ ALL_MESSAGES_ID

constexpr uint16_t point_one::fusion_engine::messages::ALL_MESSAGES_ID = 0xFFFF
constexpr

Setting message_id to this value acts as a wild card.

Definition at line 1552 of file configuration.h.

◆ INVALID_DATA_VERSION

constexpr DataVersion point_one::fusion_engine::messages::INVALID_DATA_VERSION
constexpr

Definition at line 46 of file data_version.h.