Fixposition SDK 0.0.0-heads/main-0-g90a51ff
Collection of c++ libraries and apps for use with Fixposition products
Loading...
Searching...
No Matches
fpsdk::common::parser::fpa Namespace Reference

Parser FP_A routines and types. More...

Classes

struct  FpaCorrimuPayload
 FP_A-CORRIMU (version 1) message payload. More...
 
struct  FpaEoePayload
 FP_A-EOE (version 1) message payload. More...
 
struct  FpaFloat
 FP_A float value. More...
 
struct  FpaFloat3
 FP_A three float values. More...
 
struct  FpaFloat4
 FP_A four float values. More...
 
struct  FpaFloat6
 FP_A six float values. More...
 
struct  FpaGnssantPayload
 FP_A-GNSSANT (version 1) message payload. More...
 
struct  FpaGnsscorrPayload
 FP_A-GNSSCORR (version 1) message payload. More...
 
struct  FpaGpsTime
 FP_A GPS time. More...
 
struct  FpaImubiasPayload
 FP_A-IMUBIAS (version 1) message payload. More...
 
struct  FpaImuPayload
 FP_A-...IMU (version 1) messages payload. More...
 
struct  FpaInt
 FP_A integer value. More...
 
struct  FpaLlhPayload
 FP_A-LLH (version 1) message payload. More...
 
struct  FpaMessageMeta
 FP_A message meta data. More...
 
struct  FpaOdomenuPayload
 FP_A-ODOMENU (version 1) messages payload (ENU0) More...
 
struct  FpaOdometryPayload
 FP_A-ODOMETRY (version 2) messages payload (ECEF) More...
 
struct  FpaOdomPayload
 FP_A-ODOM... (version 1) messages payload. More...
 
struct  FpaOdomshPayload
 FP_A-ODOMSH (version 1) messages payload (ECEF) More...
 
struct  FpaOdomstatusPayload
 FP_A-ODOMSTATUS (version 1) messages payload. More...
 
struct  FpaPayload
 FP_A payload base class. More...
 
struct  FpaRawimuPayload
 FP_A-RAWIMU (version 1) message payload. More...
 
struct  FpaTextPayload
 FP_A-TEXT (version 1) message payload. More...
 
struct  FpaTfPayload
 FP_A-TF (version 2) message payload. More...
 
struct  FpaTpPayload
 FP_A-TP (versions 1 and 2) message payload. More...
 

Enumerations

enum class  FpaInitStatus : int { UNSPECIFIED = '!' , NOT_INIT = '0' , LOCAL_INIT = '1' , GLOBAL_INIT = '2' }
 FP_A fusion initialisation status. More...
 
enum class  FpaFusionStatusLegacy : int {
  UNSPECIFIED = '!' , NONE = '0' , VISION = '1' , VIO = '2' ,
  IMU_GNSS = '3' , VIO_GNSS = '4'
}
 FP_A legacy fusion status. More...
 
enum class  FpaMeasStatus : int { UNSPECIFIED = '!' , NOT_USED = '0' , USED = '1' , DEGRADED = '2' }
 FP_A fusion measurement status. More...
 
enum class  FpaImuStatus : int {
  UNSPECIFIED = '!' , NOT_CONVERGED = '0' , WARMSTARTED = '1' , ROUGH_CONVERGED = '2' ,
  FINE_CONVERGED = '3'
}
 FP_A IMU bias status. More...
 
enum class  FpaImuStatusLegacy : int { UNSPECIFIED = '!' , NOT_CONVERGED = '0' , CONVERGED = '1' }
 FP_A Legacy IMU bias status. More...
 
enum class  FpaImuNoise : int {
  UNSPECIFIED = '!' , LOW_NOISE = '1' , MEDIUM_NOISE = '2' , HIGH_NOISE = '3' ,
  RESERVED4 = '4' , RESERVED5 = '5' , RESERVED6 = '6' , RESERVED7 = '7'
}
 FP_A IMU variance. More...
 
enum class  FpaImuConv : int {
  UNSPECIFIED = '!' , RESERVED0 = '0' , WAIT_IMU_MEAS = '1' , WAIT_GLOBAL_MEAS = '2' ,
  WAIT_MOTION = '3' , CONVERGING = '4' , RESERVED5 = '5' , RESERVED6 = '6' ,
  IDLE = '7'
}
 FP_A IMU accelerometer and gyroscope convergence. More...
 
enum class  FpaGnssStatus : int {
  UNSPECIFIED = '!' , NO_FIX = '0' , SPP = '1' , RTK_MB = '2' ,
  RESERVED3 = '3' , RESERVED4 = '4' , RTK_FLOAT = '5' , RESERVED6 = '6' ,
  RESERVED7 = '7' , RTK_FIXED = '8' , RESERVED9 = '9'
}
 FP_A GNSS fix status. More...
 
enum class  FpaCorrStatus : int {
  UNSPECIFIED = '!' , WAITING_FUSION = '0' , NO_GNSS = '1' , NO_CORR = '2' ,
  LIMITED_CORR = '3' , OLD_CORR = '4' , GOOD_CORR = '5' , RESERVED6 = '6' ,
  RESERVED7 = '7' , RESERVED8 = '8' , RESERVED9 = '9'
}
 FP_A GNSS correction status. More...
 
enum class  FpaBaselineStatus : int {
  UNSPECIFIED = '!' , WAITING_FUSION = '0' , NO_FIX = '1' , FAILING = '2' ,
  PASSING = '3'
}
 FP_A baseline status. More...
 
enum class  FpaCamStatus : int {
  UNSPECIFIED = '!' , CAM_UNAVL = '0' , BAD_FEAT = '1' , RESERVED2 = '2' ,
  RESERVED3 = '3' , RESERVED4 = '4' , GOOD = '5'
}
 FP_A camera status. More...
 
enum class  FpaWsStatus : int {
  UNSPECIFIED = '!' , NOT_ENABLED = '0' , MISS_MEAS = '1' , NONE_CONVERGED = '2' ,
  ONE_CONVERGED = '3' , ALL_CONVERGED = '4'
}
 FP_A wheelspeed status. More...
 
enum class  FpaWsStatusLegacy : int { UNSPECIFIED = '!' , NOT_ENABLED = '-' , NONE_CONVERGED = '0' , ONE_OR_MORE_CONVERGED = '1' }
 FP_A Legacy wheelspeed status. More...
 
enum class  FpaWsConv : int {
  UNSPECIFIED = '!' , WAIT_FUSION = '0' , WAIT_WS_MEAS = '1' , WAIT_GLOBAL_MEAS = '2' ,
  WAIT_MOTION = '3' , WAIT_IMU_BIAS = '4' , CONVERGING = '5' , IDLE = '6'
}
 FP_A wheelspeed convergence status. More...
 
enum class  FpaMarkersStatus : int {
  UNSPECIFIED = '!' , NOT_ENABLED = '0' , NONE_CONVERGED = '1' , ONE_CONVERGED = '2' ,
  ALL_CONVERGED = '3'
}
 FP_A markers status. More...
 
enum class  FpaMarkersConv : int {
  UNSPECIFIED = '!' , WAIT_FUSION = '0' , WAIT_MARKER_MEAS = '1' , WAIT_GLOBAL_MEAS = '2' ,
  CONVERGING = '3' , IDLE = '4'
}
 FP_A markers convergence status. More...
 
enum class  FpaGnssFix : int {
  UNSPECIFIED = '!' , UNKNOWN = '0' , NOFIX = '1' , DRONLY = '2' ,
  TIME = '3' , S2D = '4' , S3D = '5' , S3D_DR = '6' ,
  RTK_FLOAT = '7' , RTK_FIXED = '8'
}
 FP_A GNSS fix type. More...
 
enum class  FpaEpoch : int {
  UNSPECIFIED = 0 , GNSS1 , GNSS2 , GNSS ,
  FUSION
}
 FP_A epoch type. More...
 
enum class  FpaAntState : int { UNSPECIFIED = 0 , OPEN , OK , SHORT }
 FP_A GNSS antenna state. More...
 
enum class  FpaAntPower : int { UNSPECIFIED = 0 , ON , OFF }
 FP_A GNSS antenna power. More...
 
enum class  FpaTextLevel : int {
  UNSPECIFIED = 0 , ERROR = types::EnumToVal(logging::LoggingLevel::ERROR) , WARNING = types::EnumToVal(logging::LoggingLevel::WARNING) , INFO = types::EnumToVal(logging::LoggingLevel::INFO) ,
  DEBUG = types::EnumToVal(logging::LoggingLevel::DEBUG)
}
 FP_A text levels. More...
 
enum class  FpaTimebase : int { UNSPECIFIED = 0 , NONE , GNSS , UTC }
 FP_A time base. More...
 
enum class  FpaTimeref : int {
  UNSPECIFIED = 0 , UTC_NONE , UTC_CRL , UTC_NIST ,
  UTC_USNO , UTC_BIPM , UTC_EU , UTC_SU ,
  UTC_NTSC , GNSS_GPS , GNSS_GAL , GNSS_BDS ,
  GNSS_GLO , GNSS_NVC , OTHER
}
 FP_A time reference. More...
 

Functions

bool FpaGetMessageMeta (FpaMessageMeta &meta, const uint8_t *msg, const std::size_t msg_size)
 Get FP_A message meta data.
 
bool FpaGetMessageName (char *name, const std::size_t size, const uint8_t *msg, const std::size_t msg_size)
 Get FP_A message name.
 
bool FpaGetMessageInfo (char *info, const std::size_t size, const uint8_t *msg, const std::size_t msg_size)
 Get FP_A message info.
 

Variables

static constexpr uint8_t FP_A_PREAMBLE = '$'
 FP_A framing preamble.
 
static constexpr int FP_A_FRAME_SIZE = 6
 FP_A frame size ("$*cc\r\n")
 

Detailed Description

Parser FP_A routines and types.

Enumeration Type Documentation

◆ FpaInitStatus

FP_A fusion initialisation status.

Enumerator
UNSPECIFIED 

Unspecified.

NOT_INIT 

Not initialised.

LOCAL_INIT 

Locally initialised.

GLOBAL_INIT 

Globally initialised.

Definition at line 159 of file fpa.hpp.

◆ FpaFusionStatusLegacy

FP_A legacy fusion status.

Enumerator
UNSPECIFIED 

Unspecified.

NONE 

Not started.

VISION 

Vision only.

VIO 

Visual-inertial fusion.

IMU_GNSS 

Inertial-GNSS fusion.

VIO_GNSS 

Visual-inertial-GNSS fusion.

Definition at line 170 of file fpa.hpp.

◆ FpaMeasStatus

FP_A fusion measurement status.

Enumerator
UNSPECIFIED 

Unspecified.

NOT_USED 

Not used.

USED 

Used.

DEGRADED 

Degraded.

Definition at line 183 of file fpa.hpp.

◆ FpaImuStatus

FP_A IMU bias status.

Enumerator
UNSPECIFIED 

Unspecified.

NOT_CONVERGED 

Not converged.

WARMSTARTED 

Warmstarted.

ROUGH_CONVERGED 

Rough convergence.

FINE_CONVERGED 

Fine convergence.

Definition at line 194 of file fpa.hpp.

◆ FpaImuStatusLegacy

FP_A Legacy IMU bias status.

Enumerator
UNSPECIFIED 

Unspecified.

NOT_CONVERGED 

Not converged.

CONVERGED 

Converged.

Definition at line 206 of file fpa.hpp.

◆ FpaImuNoise

enum class fpsdk::common::parser::fpa::FpaImuNoise : int
strong

FP_A IMU variance.

Enumerator
UNSPECIFIED 

Unspecified.

LOW_NOISE 

Low noise.

MEDIUM_NOISE 

Medium noise.

HIGH_NOISE 

High noise.

RESERVED4 

Reserved.

RESERVED5 

Reserved.

RESERVED6 

Reserved.

RESERVED7 

Reserved.

Definition at line 216 of file fpa.hpp.

◆ FpaImuConv

enum class fpsdk::common::parser::fpa::FpaImuConv : int
strong

FP_A IMU accelerometer and gyroscope convergence.

Enumerator
UNSPECIFIED 

Unspecified.

RESERVED0 

Reserved.

WAIT_IMU_MEAS 

Awaiting IMU measurements.

WAIT_GLOBAL_MEAS 

Insufficient global measurements.

WAIT_MOTION 

Insufficient motion.

CONVERGING 

Converging.

RESERVED5 

Reserved.

RESERVED6 

Reserved.

IDLE 

Idle.

Definition at line 231 of file fpa.hpp.

◆ FpaGnssStatus

FP_A GNSS fix status.

Enumerator
UNSPECIFIED 

Unspecified.

NO_FIX 

No fix.

SPP 

Single-point positioning (SPP)

RTK_MB 

RTK moving baseline.

RESERVED3 

Reserved.

RESERVED4 

Reserved.

RTK_FLOAT 

RTK float.

RESERVED6 

Reserved.

RESERVED7 

Reserved.

RTK_FIXED 

RTK fixed.

RESERVED9 

Reserved.

Definition at line 247 of file fpa.hpp.

◆ FpaCorrStatus

FP_A GNSS correction status.

Enumerator
UNSPECIFIED 

Unspecified.

WAITING_FUSION 

Waiting fusion.

NO_GNSS 

No GNSS available.

NO_CORR 

No corrections used.

LIMITED_CORR 

Limited corrections used: station data & at least one of the constellations (both bands) among the valid rover measurements.

OLD_CORR 

Corrections are too old (TBD)

GOOD_CORR 

Sufficient corrections used: station data and corrections for ALL bands among the valid rover measurements.

RESERVED6 

Reserved.

RESERVED7 

Reserved.

RESERVED8 

Reserved.

RESERVED9 

Reserved.

Definition at line 265 of file fpa.hpp.

◆ FpaBaselineStatus

FP_A baseline status.

Enumerator
UNSPECIFIED 

Unspecified.

WAITING_FUSION 

Waiting fusion.

NO_FIX 

Not available or no fix.

FAILING 

Failing.

PASSING 

Passing.

Definition at line 283 of file fpa.hpp.

◆ FpaCamStatus

FP_A camera status.

Enumerator
UNSPECIFIED 

Unspecified.

CAM_UNAVL 

Camera not available.

BAD_FEAT 

Camera available, but not usable (e.g. too dark)

RESERVED2 

Reserved.

RESERVED3 

Reserved.

RESERVED4 

Reserved.

GOOD 

Camera working and available.

Definition at line 295 of file fpa.hpp.

◆ FpaWsStatus

enum class fpsdk::common::parser::fpa::FpaWsStatus : int
strong

FP_A wheelspeed status.

Enumerator
UNSPECIFIED 

Unspecified.

NOT_ENABLED 

No wheelspeed enabled.

MISS_MEAS 

Missing wheelspeed measurements.

NONE_CONVERGED 

At least one wheelspeed enabled, no wheelspeed converged.

ONE_CONVERGED 

At least one wheelspeed enabled and at least one converged.

ALL_CONVERGED 

At least one wheelspeed enabled and all converged.

Definition at line 309 of file fpa.hpp.

◆ FpaWsStatusLegacy

FP_A Legacy wheelspeed status.

Enumerator
UNSPECIFIED 

Unspecified.

NOT_ENABLED 

No wheelspeed enabled.

NONE_CONVERGED 

None converged.

ONE_OR_MORE_CONVERGED 

At least one converged.

Definition at line 322 of file fpa.hpp.

◆ FpaWsConv

enum class fpsdk::common::parser::fpa::FpaWsConv : int
strong

FP_A wheelspeed convergence status.

Enumerator
UNSPECIFIED 

Unspecified.

WAIT_FUSION 

Awaiting Fusion.

WAIT_WS_MEAS 

Missing wheelspeed measurements.

WAIT_GLOBAL_MEAS 

Insufficient global measurements.

WAIT_MOTION 

Insufficient motion.

WAIT_IMU_BIAS 

Insufficient imu bias convergence.

CONVERGING 

Converging.

IDLE 

Idle.

Definition at line 333 of file fpa.hpp.

◆ FpaMarkersStatus

FP_A markers status.

Enumerator
UNSPECIFIED 

Unspecified.

NOT_ENABLED 

No markers available.

NONE_CONVERGED 

Markers available.

ONE_CONVERGED 

Markers available and used.

ALL_CONVERGED 

All markers available and used.

Definition at line 348 of file fpa.hpp.

◆ FpaMarkersConv

FP_A markers convergence status.

Enumerator
UNSPECIFIED 

Unspecified.

WAIT_FUSION 

Awaiting Fusion.

WAIT_MARKER_MEAS 

Waiting marker measurements.

WAIT_GLOBAL_MEAS 

Insufficient global measurements.

CONVERGING 

Converging.

IDLE 

Idle.

Definition at line 360 of file fpa.hpp.

◆ FpaGnssFix

enum class fpsdk::common::parser::fpa::FpaGnssFix : int
strong

FP_A GNSS fix type.

Enumerator
UNSPECIFIED 

Unspecified.

UNKNOWN 

Unknown.

NOFIX 

No fix.

DRONLY 

Dead-reckoning only.

TIME 

Time-only fix.

S2D 

Single 2D fix.

S3D 

Single 3D fix.

S3D_DR 

Single 3D fix with dead-reckoning.

RTK_FLOAT 

RTK float fix.

RTK_FIXED 

RTK fixed fix.

Definition at line 373 of file fpa.hpp.

◆ FpaEpoch

enum class fpsdk::common::parser::fpa::FpaEpoch : int
strong

FP_A epoch type.

Enumerator
UNSPECIFIED 

Unspecified.

GNSS1 

GNSS 1.

GNSS2 

GNSS 2.

GNSS 

Combined GNSS.

FUSION 

Fusion.

Definition at line 390 of file fpa.hpp.

◆ FpaAntState

enum class fpsdk::common::parser::fpa::FpaAntState : int
strong

FP_A GNSS antenna state.

Enumerator
UNSPECIFIED 

Unspecified.

OPEN 

No antenna detected (or connected via DC block)

OK 

Antenna detected and good.

SHORT 

Antenna short circuit detected.

Definition at line 402 of file fpa.hpp.

◆ FpaAntPower

enum class fpsdk::common::parser::fpa::FpaAntPower : int
strong

FP_A GNSS antenna power.

Enumerator
UNSPECIFIED 

Unspecified.

ON 

Antenna power supply is on.

OFF 

Antenna power supply is off.

Definition at line 413 of file fpa.hpp.

◆ FpaTextLevel

FP_A text levels.

Enumerator
UNSPECIFIED 

Unspecified.

ERROR 

Error.

WARNING 

Warning.

INFO 

Info.

DEBUG 

Debug.

Definition at line 423 of file fpa.hpp.

◆ FpaTimebase

enum class fpsdk::common::parser::fpa::FpaTimebase : int
strong

FP_A time base.

Enumerator
UNSPECIFIED 

Unspecified.

NONE 

None.

GNSS 

GNSS.

UTC 

UTC.

Definition at line 434 of file fpa.hpp.

◆ FpaTimeref

enum class fpsdk::common::parser::fpa::FpaTimeref : int
strong

FP_A time reference.

Enumerator
UNSPECIFIED 

Unspecified.

UTC_NONE 

UTC: None (UTC params not yet known)

UTC_CRL 

UTC: Communications Research Laboratory (CRL), Japan.

UTC_NIST 

UTC: National Institute of Standards and Technology (NIST)

UTC_USNO 

UTC: U.S. Naval Observatory (USNO)

UTC_BIPM 

UTC: International Bureau of Weights and Measures (BIPM)

UTC_EU 

UTC: European laboratories.

UTC_SU 

UTC: Former Soviet Union (SU)

UTC_NTSC 

UTC: National Time Service Center (NTSC), China.

GNSS_GPS 

GNSS: GPS.

GNSS_GAL 

GNSS: Galileo.

GNSS_BDS 

GNSS: BeiDou.

GNSS_GLO 

GNSS: GLONASS.

GNSS_NVC 

GNSS: NavIC.

OTHER 

other/unknown GNSS/UTC

Definition at line 445 of file fpa.hpp.

Function Documentation

◆ FpaGetMessageMeta()

bool fpsdk::common::parser::fpa::FpaGetMessageMeta ( FpaMessageMeta & meta,
const uint8_t * msg,
const std::size_t msg_size )

Get FP_A message meta data.

Parameters
[out]metaThe meta data
[in]msgPointer to the FP_A message
[in]msg_sizeSize of the FP_A message (>= 11)
Note
No check on the data provided is done. The caller must ensure that the data is a correct FP_A message.
Returns
true if the meta data was successfully extracted, false otherwise

◆ FpaGetMessageName()

bool fpsdk::common::parser::fpa::FpaGetMessageName ( char * name,
const std::size_t size,
const uint8_t * msg,
const std::size_t msg_size )

Get FP_A message name.

Generates a name (string) in the form "FP_A-MESSAGEID" (for example, "FP_A-ODOMETRY").

Parameters
[out]nameString to write the name to
[in]sizeSize of name (incl. nul termination)
[in]msgPointer to the FP_A message
[in]msg_sizeSize of the msg
Note
No check on the data provided is done. The caller must ensure that the data is a valid FP_A or FP_A message.
Returns
true if message name was generated, false if name buffer was too small

◆ FpaGetMessageInfo()

bool fpsdk::common::parser::fpa::FpaGetMessageInfo ( char * info,
const std::size_t size,
const uint8_t * msg,
const std::size_t msg_size )

Get FP_A message info.

This stringifies the content of some FP_A messages, for debugging.

Parameters
[out]infoString to write the info to
[in]sizeSize of name (incl. nul termination)
[in]msgPointer to the FP_A message
[in]msg_sizeSize of the msg
Note
No check on the data provided is done. The caller must ensure that the data is a valid FP_A message.
Returns
true if message info was generated (even if info is empty), false if name buffer was too small

Variable Documentation

◆ FP_A_PREAMBLE

uint8_t fpsdk::common::parser::fpa::FP_A_PREAMBLE = '$'
staticconstexpr

FP_A framing preamble.

Definition at line 99 of file fpa.hpp.

◆ FP_A_FRAME_SIZE

int fpsdk::common::parser::fpa::FP_A_FRAME_SIZE = 6
staticconstexpr

FP_A frame size ("$*cc\r\n")

Definition at line 100 of file fpa.hpp.