NMEAParser
NMEA Parser Library - Monte Variakojis @VisualGPS
Classes | Typedefs | Enumerations
CNMEAParserData Namespace Reference

Classes

struct  _GGA_DATA_T
 GGA Data. More...
 
struct  _GSA_DATA_T
 
struct  _GSV_DATA_T
 
struct  _RMC_DATA_T
 
struct  _SAT_INFO_T
 

Typedefs

typedef struct CNMEAParserData::_SAT_INFO_T SAT_INFO_T
 Satellite information structure for a single satellite. More...
 
typedef struct CNMEAParserData::_GGA_DATA_T GGA_DATA_T
 GGA Data. More...
 
typedef struct CNMEAParserData::_GSV_DATA_T GSV_DATA_T
 
typedef struct CNMEAParserData::_GSA_DATA_T GSA_DATA_T
 GNSS DOP and active satellites. More...
 
typedef struct CNMEAParserData::_RMC_DATA_T RMC_DATA_T
 

Enumerations

enum  ERROR_E {
  ERROR_OK = 0, ERROR_FAIL = 1, ERROR_TOO_MANY_SATELLITES = 2, ERROR_CHECKSUM = 3,
  ERROR_RX_BUFFER_OVERFLOW, ERROR_CMD_BUFFER_OVERFLOW
}
 
enum  TALKER_ID_E {
  TID_AB = (uint16_t)'A' << 8 | (uint16_t)'B', TID_AD = (uint16_t)'A' << 8 | (uint16_t)'D', TID_AG = (uint16_t)'A' << 8 | (uint16_t)'G', TID_AP = (uint16_t)'A' << 8 | (uint16_t)'P',
  TID_BD = (uint16_t)'B' << 8 | (uint16_t)'D', TID_BN = (uint16_t)'B' << 8 | (uint16_t)'N', TID_CC = (uint16_t)'C' << 8 | (uint16_t)'C', TID_CD = (uint16_t)'C' << 8 | (uint16_t)'D',
  TID_CM = (uint16_t)'C' << 8 | (uint16_t)'M', TID_CS = (uint16_t)'C' << 8 | (uint16_t)'S', TID_CT = (uint16_t)'C' << 8 | (uint16_t)'T', TID_CV = (uint16_t)'C' << 8 | (uint16_t)'V',
  TID_CX = (uint16_t)'C' << 8 | (uint16_t)'X', TID_DE = (uint16_t)'D' << 8 | (uint16_t)'E', TID_DF = (uint16_t)'D' << 8 | (uint16_t)'F', TID_DU = (uint16_t)'D' << 8 | (uint16_t)'U',
  TID_EC = (uint16_t)'E' << 8 | (uint16_t)'C', TID_EP = (uint16_t)'E' << 8 | (uint16_t)'P', TID_ER = (uint16_t)'E' << 8 | (uint16_t)'R', TID_GA = (uint16_t)'G' << 8 | (uint16_t)'A',
  TID_GB = (uint16_t)'G' << 8 | (uint16_t)'B', TID_GL = (uint16_t)'G' << 8 | (uint16_t)'L', TID_GN = (uint16_t)'G' << 8 | (uint16_t)'N', TID_GP = (uint16_t)'G' << 8 | (uint16_t)'P',
  TID_HC = (uint16_t)'H' << 8 | (uint16_t)'C', TID_HE = (uint16_t)'H' << 8 | (uint16_t)'E', TID_HN = (uint16_t)'H' << 8 | (uint16_t)'N', TID_II = (uint16_t)'I' << 8 | (uint16_t)'I',
  TID_IN = (uint16_t)'I' << 8 | (uint16_t)'N', TID_LA = (uint16_t)'L' << 8 | (uint16_t)'A', TID_LC = (uint16_t)'L' << 8 | (uint16_t)'C', TID_MP = (uint16_t)'M' << 8 | (uint16_t)'P',
  TID_NL = (uint16_t)'N' << 8 | (uint16_t)'L', TID_OM = (uint16_t)'O' << 8 | (uint16_t)'M', TID_OS = (uint16_t)'O' << 8 | (uint16_t)'S', TID_QZ = (uint16_t)'Q' << 8 | (uint16_t)'Z',
  TID_RA = (uint16_t)'R' << 8 | (uint16_t)'A', TID_SD = (uint16_t)'S' << 8 | (uint16_t)'D', TID_SN = (uint16_t)'S' << 8 | (uint16_t)'N', TID_SS = (uint16_t)'S' << 8 | (uint16_t)'S',
  TID_TI = (uint16_t)'T' << 8 | (uint16_t)'I', TID_TR = (uint16_t)'T' << 8 | (uint16_t)'R', TID_U0 = (uint16_t)'U' << 8 | (uint16_t)'0', TID_U1 = (uint16_t)'U' << 8 | (uint16_t)'1',
  TID_U2 = (uint16_t)'U' << 8 | (uint16_t)'2', TID_U3 = (uint16_t)'U' << 8 | (uint16_t)'3', TID_U4 = (uint16_t)'U' << 8 | (uint16_t)'4', TID_U5 = (uint16_t)'U' << 8 | (uint16_t)'5',
  TID_U6 = (uint16_t)'U' << 8 | (uint16_t)'6', TID_U7 = (uint16_t)'U' << 8 | (uint16_t)'7', TID_U8 = (uint16_t)'U' << 8 | (uint16_t)'8', TID_U9 = (uint16_t)'U' << 8 | (uint16_t)'9',
  TID_UP = (uint16_t)'U' << 8 | (uint16_t)'P', TID_VD = (uint16_t)'V' << 8 | (uint16_t)'D', TID_DM = (uint16_t)'D' << 8 | (uint16_t)'M', TID_VW = (uint16_t)'V' << 8 | (uint16_t)'W',
  TID_WI = (uint16_t)'W' << 8 | (uint16_t)'I', TID_YC = (uint16_t)'Y' << 8 | (uint16_t)'C', TID_YD = (uint16_t)'Y' << 8 | (uint16_t)'D', TID_YF = (uint16_t)'Y' << 8 | (uint16_t)'F',
  TID_YL = (uint16_t)'Y' << 8 | (uint16_t)'L', TID_YP = (uint16_t)'Y' << 8 | (uint16_t)'P', TID_YR = (uint16_t)'Y' << 8 | (uint16_t)'R', TID_YT = (uint16_t)'Y' << 8 | (uint16_t)'T',
  TID_YV = (uint16_t)'Y' << 8 | (uint16_t)'V', TID_YX = (uint16_t)'Y' << 8 | (uint16_t)'X', TID_ZA = (uint16_t)'Z' << 8 | (uint16_t)'A', TID_ZC = (uint16_t)'Z' << 8 | (uint16_t)'C',
  TID_ZQ = (uint16_t)'Z' << 8 | (uint16_t)'Q', TID_ZV = (uint16_t)'Z' << 8 | (uint16_t)'V'
}
 
enum  GPS_QUALITY_E {
  GQ_FIX_NOT_AVAILABLE = 0, GQ_GPS_SPS_MODE = 1, GQ_GPS_DIFFERENTIAL_SPS_MODE = 2, GQ_GPS_PPS_MODE = 3,
  GQ_REAL_TIME_KINEMATIC = 4, GQ_FLOAT_RTK = 5, GQ_ESTIMATED_DEAD_RECONING = 6, GQ_MANUAL_INPUT_MODE = 7,
  GQ_SIMULATOR_MODE = 8
}
 
enum  ACTIVE_SAT_AUTO_MODE_E { ASAM_MANUAL = 'M', ASAM_AUTO = 'A' }
 
enum  ACTIVE_SAT_MODE_E { ASM_FIX_NOT_AVAILABLE = 1, ASM_2D = 2, ASM_3D = 3 }
 
enum  RMC_STATUS_E { RMC_STATUS_ACTIVE = 'A', RMC_STATUS_VOID = 'V' }
 

Typedef Documentation

◆ GGA_DATA_T

GGA Data.

◆ GSA_DATA_T

GNSS DOP and active satellites.

GNSS DOP and active satellites

◆ GSV_DATA_T

◆ RMC_DATA_T

RMC Recommended minimum data for GPS

◆ SAT_INFO_T

Satellite information structure for a single satellite.

Enumeration Type Documentation

◆ ACTIVE_SAT_AUTO_MODE_E

Enumerator
ASAM_MANUAL 

Manual, forced to operate in2D or 2D mode.

ASAM_AUTO 

Automatic, allowed to automatically switch 2D/3D.

Definition at line 161 of file NMEAParserData.h.

◆ ACTIVE_SAT_MODE_E

Enumerator
ASM_FIX_NOT_AVAILABLE 

Fix not available.

ASM_2D 

2D

ASM_3D 

3D

Definition at line 166 of file NMEAParserData.h.

◆ ERROR_E

Error types. Most methods will return one of the follow error types.

Enumerator
ERROR_OK 

No error, operation successful.

ERROR_FAIL 

Error, operation failed.

ERROR_TOO_MANY_SATELLITES 

Error, could not process. Too many satellites to fit into database.

ERROR_CHECKSUM 

Error, packet checksum mismatch.

ERROR_RX_BUFFER_OVERFLOW 

Error, receive packet buffer overflow.

ERROR_CMD_BUFFER_OVERFLOW 

Error, receive command buffer overflow.

Definition at line 45 of file NMEAParserData.h.

◆ GPS_QUALITY_E

GPS Quality that's used in the GGA sentence

Enumerator
GQ_FIX_NOT_AVAILABLE 

fix not available,

GQ_GPS_SPS_MODE 

GPS fix,.

GQ_GPS_DIFFERENTIAL_SPS_MODE 

Differential GPS fix(values above 2 are 2.3 features)

GQ_GPS_PPS_MODE 

GPS PPS Mode, fix valid.

GQ_REAL_TIME_KINEMATIC 

Real Time Kinematic.

GQ_FLOAT_RTK 

Float RTK.

GQ_ESTIMATED_DEAD_RECONING 

estimated(dead reckoning)

GQ_MANUAL_INPUT_MODE 

Manual input mode.

GQ_SIMULATOR_MODE 

Simulation mode.

Definition at line 142 of file NMEAParserData.h.

◆ RMC_STATUS_E

RMC Status field

Enumerator
RMC_STATUS_ACTIVE 
RMC_STATUS_VOID 

Definition at line 216 of file NMEAParserData.h.

◆ TALKER_ID_E

All known talker IDs

Enumerator
TID_AB 

AB Independent AIS Base Station.

TID_AD 

AD Dependent AIS Base Station.

TID_AG 

AG Autopilot - General.

TID_AP 

AP Autopilot - Magnetic.

TID_BD 

BD BeiDou(China)

TID_BN 

BN Bridge navigational watch alarm system.

TID_CC 

CC Computer - Programmed Calculator(obsolete)

TID_CD 

CD Communications - Digital Selective Calling(DSC)

TID_CM 

CM Computer - Memory Data(obsolete)

TID_CS 

CS Communications - Satellite.

TID_CT 

CT Communications - Radio - Telephone(MF / HF)

TID_CV 

CV Communications - Radio - Telephone(VHF)

TID_CX 

CX Communications - Scanning Receiver.

TID_DE 

DE DECCA Navigation(obsolete)

TID_DF 

DF Direction Finder.

TID_DU 

DU Duplex repeater station.

TID_EC 

EC Electronic Chart Display & Information System(ECDIS)

TID_EP 

EP Emergency Position Indicating Beacon(EPIRB)

TID_ER 

ER Engine Room Monitoring Systems.

TID_GA 

GA Galileo Positioning System.

TID_GB 

GB BeiDou(China)

TID_GL 

GL GLONASS, according to IEIC 61162 - 1.

TID_GN 

GN Mixed GPS and GLONASS data, according to IEIC 61162-1.

TID_GP 

GP Global Positioning System(GPS)

TID_HC 

HC Heading - Magnetic Compass.

TID_HE 

HE Heading - North Seeking Gyro.

TID_HN 

HN Heading - Non North Seeking Gyro.

TID_II 

II Integrated Instrumentation.

TID_IN 

IN Integrated Navigation.

TID_LA 

LA Loran A(obsolete)

TID_LC 

LC Loran C(obsolete)

TID_MP 

MP Microwave Positioning System(obsolete)

TID_NL 

NL Navigation light controller.

TID_OM 

OM OMEGA Navigation System(obsolete)

TID_OS 

OS Distress Alarm System(obsolete)

TID_QZ 

QZ QZSS regional GPS augmentation system(Japan)

TID_RA 

RA RADAR and/or ARPA.

TID_SD 

SD Sounder, Depth.

TID_SN 

SN Electronic Positioning System, other / general.

TID_SS 

SS Sounder, Scanning.

TID_TI 

TI Turn Rate Indicator.

TID_TR 

TR TRANSIT Navigation System.

TID_U0 

U# # is a digit 0 - 9; User Configured.

TID_U1 

U# # is a digit 0 - 9; User Configured.

TID_U2 

U# # is a digit 0 - 9; User Configured.

TID_U3 

U# # is a digit 0 - 9; User Configured.

TID_U4 

U# # is a digit 0 - 9; User Configured.

TID_U5 

U# # is a digit 0 - 9; User Configured.

TID_U6 

U# # is a digit 0 - 9; User Configured.

TID_U7 

U# # is a digit 0 - 9; User Configured.

TID_U8 

U# # is a digit 0 - 9; User Configured.

TID_U9 

U# # is a digit 0 - 9; User Configured.

TID_UP 

UP Microprocessor controller.

TID_VD 

VD Velocity Sensor, Doppler, other / general.

TID_DM 

DM Velocity Sensor, Speed Log, Water, Magnetic.

TID_VW 

VW Velocity Sensor, Speed Log, Water, Mechanical.

TID_WI 

WI Weather Instruments.

TID_YC 

YC Transducer - Temperature(obsolete)

TID_YD 

YD Transducer - Displacement, Angular or Linear(obsolete)

TID_YF 

YF Transducer - Frequency(obsolete)

TID_YL 

YL Transducer - Level(obsolete)

TID_YP 

YP Transducer - Pressure(obsolete)

TID_YR 

YR Transducer - Flow Rate(obsolete)

TID_YT 

YT Transducer - Tachometer(obsolete)

TID_YV 

YV Transducer - Volume(obsolete)

TID_YX 

YX Transducer.

TID_ZA 

ZA Timekeeper - Atomic Clock.

TID_ZC 

ZC Timekeeper - Chronometer.

TID_ZQ 

ZQ Timekeeper - Quartz.

TID_ZV 

ZV Timekeeper - Radio Update, WWV or WWVH.

Definition at line 66 of file NMEAParserData.h.