Fixposition SDK 0.0.0-heads/main-0-g90a51ff
Collection of c++ libraries and apps for use with Fixposition products
Loading...
Searching...
No Matches
fpa.hpp File Reference

Fixposition SDK: Parser FP_A routines and types. More...

#include <array>
#include <cstdint>
#include <string>
#include "../logging.hpp"
#include "../types.hpp"
#include "types.hpp"
Include dependency graph for fpa.hpp:

Go to the source code of this file.

Classes

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

Namespaces

namespace  fpsdk
 Fixposition SDK.
 
namespace  fpsdk::common
 Fixposition SDK: Common library.
 
namespace  fpsdk::common::parser
 Parser.
 
namespace  fpsdk::common::parser::fpa
 Parser FP_A routines and types.
 

Enumerations

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

Functions

bool fpsdk::common::parser::fpa::FpaGetMessageMeta (FpaMessageMeta &meta, const uint8_t *msg, const std::size_t msg_size)
 Get FP_A message meta data.
 
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.
 
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.
 

Variables

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

Detailed Description

Fixposition SDK: Parser FP_A routines and types.

* ___    ___
* \  \  /  /
*  \  \/  /   Copyright (c) Fixposition AG (www.fixposition.com) and contributors
*  /  /\  \   License: see the LICENSE file
* /__/  \__\
*
* Based on work by flipflip (https://github.com/phkehl)
* 

Definition in file fpa.hpp.