Fixposition SDK 0.0.0-heads/main-0-g408dc89
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  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 , 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_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_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)

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 61 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 62 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 63 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 64 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 65 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 66 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 67 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 68 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 69 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 167 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 168 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 169 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 170 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 171 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 172 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 173 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 174 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 175 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 176 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 177 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 178 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:172
static constexpr std::size_t MAX_SPARTN_SIZE
Maximum SPARTN message size.
Definition types.hpp:175
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:170
static constexpr std::size_t MAX_RTCM3_SIZE
Maximum RTCM3 message size.
Definition types.hpp:174
static constexpr std::size_t MAX_UNI_B_SIZE
Maximum UNI_B message size.
Definition types.hpp:177
static constexpr std::size_t MAX_FP_B_SIZE
Maximum FP_B message size.
Definition types.hpp:171
static constexpr std::size_t MAX_NOV_B_SIZE
Maximum NOV_B message size.
Definition types.hpp:176
static constexpr std::size_t MAX_UBX_SIZE
Maximum UBX message size.
Definition types.hpp:173
static constexpr std::size_t MAX_OTHER_SIZE
Maximum OTHER message size.
Definition types.hpp:178

The largest of the above.

Definition at line 179 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 181 of file types.hpp.