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

Parser. More...

Namespaces

namespace  crc
 Parser NOV_B routines and types.
namespace  fpa
 Parser FP_A routines and types.
namespace  fpb
 Parser FP_B routines and types.
namespace  nmea
 Parser NMEA routines and types.
namespace  novb
 Parser NOV_B routines and types.
namespace  rtcm3
 Parser RTCM3 routines and types.
namespace  sbf
 Parser SBF routines and types.
namespace  spartn
 Parser SPARTN routines and types.
namespace  ubx
 Parser UBX routines and types.
namespace  unib
 Parser UNI_B routines and types.

Classes

class  Parser
 Message parser class. More...
struct  ParserMsg
 Message frame output by the Parser. More...
struct  ParserStats
 Parser statistics. More...

Enumerations

enum class  Protocol : int {
  FP_A = 1 , FP_B , NMEA , UBX ,
  RTCM3 , UNI_B , NOV_B , SBF ,
  SPARTN , OTHER
}
 Protocols (message types), see also Protocol and message naming. More...

Functions

const char * ProtocolStr (const Protocol proto)
 Stringify Protocol.
Protocol StrProtocol (const char *name)
 Get Protocol from name.

Variables

Protocol names
static constexpr const char * PROTOCOL_NAME_FP_A = "FP_A"
 Name (label) for Protocol::FP_A.
static constexpr const char * PROTOCOL_NAME_FP_B = "FP_B"
 Name (label) for Protocol::FP_B.
static constexpr const char * PROTOCOL_NAME_NMEA = "NMEA"
 Name (label) for Protocol::NMEA.
static constexpr const char * PROTOCOL_NAME_UBX = "UBX"
 Name (label) for Protocol::UBX.
static constexpr const char * PROTOCOL_NAME_RTCM3 = "RTCM3"
 Name (label) for Protocol::RTCM3.
static constexpr const char * PROTOCOL_NAME_UNI_B = "UNI_B"
 Name (label) for Protocol::UNI_B.
static constexpr const char * PROTOCOL_NAME_NOV_B = "NOV_B"
 Name (label) for Protocol::NOV_B.
static constexpr const char * PROTOCOL_NAME_SBF = "SBF"
 Name (label) for Protocol::SBF.
static constexpr const char * PROTOCOL_NAME_SPARTN = "SPARTN"
 Name (label) for Protocol::SPARTN.
static constexpr const char * PROTOCOL_NAME_OTHER = "OTHER"
 Name (label) for Protocol::OTHER.
Parser constraints
static constexpr std::size_t MAX_ADD_SIZE = 32 * 1024
 Max size for Parser::Add() that is guaranteed to work.
static constexpr std::size_t MAX_NAME_SIZE = 100
 Maximum size of message name string (incl. nul termination)
static constexpr std::size_t MAX_INFO_SIZE = 400
 Maximum size of message info string (incl. nul termination)
static constexpr std::size_t MAX_FP_A_SIZE = 400
 Maximum FP_A message size (must be the same as MAX_NMEA_SIZE)
static constexpr std::size_t MAX_FP_B_SIZE = 4096
 Maximum FP_B message size.
static constexpr std::size_t MAX_NMEA_SIZE = 400
 Maximum NMEA message size (standard NMEA would be 82!)
static constexpr std::size_t MAX_UBX_SIZE = 4096
 Maximum UBX message size.
static constexpr std::size_t MAX_RTCM3_SIZE = 1028
 Maximum RTCM3 message size.
static constexpr std::size_t MAX_SPARTN_SIZE = 1110
 Maximum SPARTN message size.
static constexpr std::size_t MAX_NOV_B_SIZE = 4096
 Maximum NOV_B message size.
static constexpr std::size_t MAX_UNI_B_SIZE = 4096
 Maximum UNI_B message size.
static constexpr std::size_t MAX_SBF_SIZE = 4608
 Maximum SBF message size.
static constexpr std::size_t MAX_OTHER_SIZE = 256
 Maximum OTHER message size.
static constexpr std::size_t MAX_ANY_SIZE
 The largest of the above.
static constexpr std::size_t MIN_ANY_SIZE
 The smallest of the above.

Detailed Description

Enumeration Type Documentation

◆ Protocol

enum class fpsdk::common::parser::Protocol : int
strong

Protocols (message types), see also Protocol and message naming.

Enumerator
FP_A 

FP_A (Fixposition proprietary ASCII) (PROTOCOL_NAME_FP_A)

FP_B 

FP_B (Fixposition proprietary binary) (PROTOCOL_NAME_FP_B)

NMEA 

NMEA (PROTOCOL_NAME_NMEA)

UBX 

UBX (u-blox proprietary binary) (PROTOCOL_NAME_UBX)

RTCM3 

RTCM3 (PROTOCOL_NAME_RTCM3)

UNI_B 

UNI_B (Unicore proprietary binary) (PROTOCOL_NAME_UNI_B)

NOV_B 

NOV_B (NovAtel proprietary binary, long or short header) (PROTOCOL_NAME_NOV_B)

SBF 

SBF (Septentrio binary format) (PROTOCOL_NAME_SBF)

SPARTN 

SPARTN (PROTOCOL_NAME_SPARTN)

OTHER 

Other "message" (unknown or corrupt message, spurious data, line noise, ...) (PROTOCOL_NAME_OTHER)

Definition at line 41 of file types.hpp.

Function Documentation

◆ ProtocolStr()

const char * fpsdk::common::parser::ProtocolStr ( const Protocol proto)

Stringify Protocol.

Parameters
[in]protoThe protocol
Returns
a unique string for the type, for example "UBX" (PROTOCOL_NAME_UBX) for Protocol::UBX

◆ StrProtocol()

Protocol fpsdk::common::parser::StrProtocol ( const char * name)

Get Protocol from name.

Parameters
[in]nameThe protocol name
Returns
the Protocol enum, for example Protocol::UBX for "UBX" (PROTOCOL_NAME_UBX), and for any unknown string Protocol::OTHER

Variable Documentation

◆ PROTOCOL_NAME_FP_A

const char* fpsdk::common::parser::PROTOCOL_NAME_FP_A = "FP_A"
staticconstexpr

Name (label) for Protocol::FP_A.

Definition at line 62 of file types.hpp.

◆ PROTOCOL_NAME_FP_B

const char* fpsdk::common::parser::PROTOCOL_NAME_FP_B = "FP_B"
staticconstexpr

Name (label) for Protocol::FP_B.

Definition at line 63 of file types.hpp.

◆ PROTOCOL_NAME_NMEA

const char* fpsdk::common::parser::PROTOCOL_NAME_NMEA = "NMEA"
staticconstexpr

Name (label) for Protocol::NMEA.

Definition at line 64 of file types.hpp.

◆ PROTOCOL_NAME_UBX

const char* fpsdk::common::parser::PROTOCOL_NAME_UBX = "UBX"
staticconstexpr

Name (label) for Protocol::UBX.

Definition at line 65 of file types.hpp.

◆ PROTOCOL_NAME_RTCM3

const char* fpsdk::common::parser::PROTOCOL_NAME_RTCM3 = "RTCM3"
staticconstexpr

Name (label) for Protocol::RTCM3.

Definition at line 66 of file types.hpp.

◆ PROTOCOL_NAME_UNI_B

const char* fpsdk::common::parser::PROTOCOL_NAME_UNI_B = "UNI_B"
staticconstexpr

Name (label) for Protocol::UNI_B.

Definition at line 67 of file types.hpp.

◆ PROTOCOL_NAME_NOV_B

const char* fpsdk::common::parser::PROTOCOL_NAME_NOV_B = "NOV_B"
staticconstexpr

Name (label) for Protocol::NOV_B.

Definition at line 68 of file types.hpp.

◆ PROTOCOL_NAME_SBF

const char* fpsdk::common::parser::PROTOCOL_NAME_SBF = "SBF"
staticconstexpr

Name (label) for Protocol::SBF.

Definition at line 69 of file types.hpp.

◆ PROTOCOL_NAME_SPARTN

const char* fpsdk::common::parser::PROTOCOL_NAME_SPARTN = "SPARTN"
staticconstexpr

Name (label) for Protocol::SPARTN.

Definition at line 70 of file types.hpp.

◆ PROTOCOL_NAME_OTHER

const char* fpsdk::common::parser::PROTOCOL_NAME_OTHER = "OTHER"
staticconstexpr

Name (label) for Protocol::OTHER.

Definition at line 71 of file types.hpp.

◆ MAX_ADD_SIZE

std::size_t fpsdk::common::parser::MAX_ADD_SIZE = 32 * 1024
staticconstexpr

Max size for Parser::Add() that is guaranteed to work.

Definition at line 171 of file types.hpp.

Referenced by fpsdk::common::parser::Parser::GetStats().

◆ MAX_NAME_SIZE

std::size_t fpsdk::common::parser::MAX_NAME_SIZE = 100
staticconstexpr

Maximum size of message name string (incl. nul termination)

Definition at line 172 of file types.hpp.

◆ MAX_INFO_SIZE

std::size_t fpsdk::common::parser::MAX_INFO_SIZE = 400
staticconstexpr

Maximum size of message info string (incl. nul termination)

Definition at line 173 of file types.hpp.

◆ MAX_FP_A_SIZE

std::size_t fpsdk::common::parser::MAX_FP_A_SIZE = 400
staticconstexpr

Maximum FP_A message size (must be the same as MAX_NMEA_SIZE)

Definition at line 174 of file types.hpp.

◆ MAX_FP_B_SIZE

std::size_t fpsdk::common::parser::MAX_FP_B_SIZE = 4096
staticconstexpr

Maximum FP_B message size.

Definition at line 175 of file types.hpp.

◆ MAX_NMEA_SIZE

std::size_t fpsdk::common::parser::MAX_NMEA_SIZE = 400
staticconstexpr

Maximum NMEA message size (standard NMEA would be 82!)

Definition at line 176 of file types.hpp.

◆ MAX_UBX_SIZE

std::size_t fpsdk::common::parser::MAX_UBX_SIZE = 4096
staticconstexpr

Maximum UBX message size.

Definition at line 177 of file types.hpp.

◆ MAX_RTCM3_SIZE

std::size_t fpsdk::common::parser::MAX_RTCM3_SIZE = 1028
staticconstexpr

Maximum RTCM3 message size.

Definition at line 178 of file types.hpp.

◆ MAX_SPARTN_SIZE

std::size_t fpsdk::common::parser::MAX_SPARTN_SIZE = 1110
staticconstexpr

Maximum SPARTN message size.

Definition at line 179 of file types.hpp.

◆ MAX_NOV_B_SIZE

std::size_t fpsdk::common::parser::MAX_NOV_B_SIZE = 4096
staticconstexpr

Maximum NOV_B message size.

Definition at line 180 of file types.hpp.

◆ MAX_UNI_B_SIZE

std::size_t fpsdk::common::parser::MAX_UNI_B_SIZE = 4096
staticconstexpr

Maximum UNI_B message size.

Definition at line 181 of file types.hpp.

◆ MAX_SBF_SIZE

std::size_t fpsdk::common::parser::MAX_SBF_SIZE = 4608
staticconstexpr

Maximum SBF message size.

Definition at line 182 of file types.hpp.

◆ MAX_OTHER_SIZE

std::size_t fpsdk::common::parser::MAX_OTHER_SIZE = 256
staticconstexpr

Maximum OTHER message size.

Definition at line 183 of file types.hpp.

◆ MAX_ANY_SIZE

std::size_t fpsdk::common::parser::MAX_ANY_SIZE
staticconstexpr
Initial value:
static constexpr std::size_t MAX_NMEA_SIZE
Maximum NMEA message size (standard NMEA would be 82!)
Definition types.hpp:176
static constexpr std::size_t MAX_SPARTN_SIZE
Maximum SPARTN message size.
Definition types.hpp:179
static constexpr std::size_t MAX_FP_A_SIZE
Maximum FP_A message size (must be the same as MAX_NMEA_SIZE)
Definition types.hpp:174
static constexpr std::size_t MAX_RTCM3_SIZE
Maximum RTCM3 message size.
Definition types.hpp:178
static constexpr std::size_t MAX_UNI_B_SIZE
Maximum UNI_B message size.
Definition types.hpp:181
static constexpr std::size_t MAX_FP_B_SIZE
Maximum FP_B message size.
Definition types.hpp:175
static constexpr std::size_t MAX_NOV_B_SIZE
Maximum NOV_B message size.
Definition types.hpp:180
static constexpr std::size_t MAX_SBF_SIZE
Maximum SBF message size.
Definition types.hpp:182
static constexpr std::size_t MAX_UBX_SIZE
Maximum UBX message size.
Definition types.hpp:177
static constexpr std::size_t MAX_OTHER_SIZE
Maximum OTHER message size.
Definition types.hpp:183

The largest of the above.

Definition at line 184 of file types.hpp.

Referenced by fpsdk::common::parser::Parser::GetStats().

◆ MIN_ANY_SIZE

std::size_t fpsdk::common::parser::MIN_ANY_SIZE
staticconstexpr
Initial value:

The smallest of the above.

Definition at line 186 of file types.hpp.