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 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 145 of file types.hpp.

◆ 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 146 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 147 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 148 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 149 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 150 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 151 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 152 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 153 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 154 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 155 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 156 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:150
static constexpr std::size_t MAX_SPARTN_SIZE
Maximum SPARTN message size.
Definition types.hpp:153
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:148
static constexpr std::size_t MAX_RTCM3_SIZE
Maximum RTCM3 message size.
Definition types.hpp:152
static constexpr std::size_t MAX_UNI_B_SIZE
Maximum UNI_B message size.
Definition types.hpp:155
static constexpr std::size_t MAX_FP_B_SIZE
Maximum FP_B message size.
Definition types.hpp:149
static constexpr std::size_t MAX_NOV_B_SIZE
Maximum NOV_B message size.
Definition types.hpp:154
static constexpr std::size_t MAX_UBX_SIZE
Maximum UBX message size.
Definition types.hpp:151
static constexpr std::size_t MAX_OTHER_SIZE
Maximum OTHER message size.
Definition types.hpp:156

The largest of the above.

Definition at line 157 of file types.hpp.

◆ MIN_ANY_SIZE

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

The smallest of the above.

Definition at line 159 of file types.hpp.