2#include <NDEVR/GPSPoint.h>
3#include <NDEVR/TimeSpan.h>
4#include <NDEVR/Buffer.h>
5#include <NDEVR/Angle.h>
6#include <NDEVR/GNSSConstellation.h>
15 ERROR_OK_PARTIAL_PACKET,
18 ERROR_INCOMPLETE_PACKET,
73 TID_AB = (uint16_t)
'A' << 8 | (uint16_t)
'B',
74 TID_AD = (uint16_t)
'A' << 8 | (uint16_t)
'D',
75 TID_AG = (uint16_t)
'A' << 8 | (uint16_t)
'G',
76 TID_AP = (uint16_t)
'A' << 8 | (uint16_t)
'P',
77 TID_BD = (uint16_t)
'B' << 8 | (uint16_t)
'D',
78 TID_BN = (uint16_t)
'B' << 8 | (uint16_t)
'N',
79 TID_CC = (uint16_t)
'C' << 8 | (uint16_t)
'C',
80 TID_CD = (uint16_t)
'C' << 8 | (uint16_t)
'D',
81 TID_CM = (uint16_t)
'C' << 8 | (uint16_t)
'M',
82 TID_CS = (uint16_t)
'C' << 8 | (uint16_t)
'S',
83 TID_CT = (uint16_t)
'C' << 8 | (uint16_t)
'T',
84 TID_CV = (uint16_t)
'C' << 8 | (uint16_t)
'V',
85 TID_CX = (uint16_t)
'C' << 8 | (uint16_t)
'X',
86 TID_DE = (uint16_t)
'D' << 8 | (uint16_t)
'E',
87 TID_DF = (uint16_t)
'D' << 8 | (uint16_t)
'F',
88 TID_DU = (uint16_t)
'D' << 8 | (uint16_t)
'U',
89 TID_EC = (uint16_t)
'E' << 8 | (uint16_t)
'C',
90 TID_EP = (uint16_t)
'E' << 8 | (uint16_t)
'P',
91 TID_ER = (uint16_t)
'E' << 8 | (uint16_t)
'R',
92 TID_GA = (uint16_t)
'G' << 8 | (uint16_t)
'A',
93 TID_GB = (uint16_t)
'G' << 8 | (uint16_t)
'B',
94 TID_GL = (uint16_t)
'G' << 8 | (uint16_t)
'L',
95 TID_GN = (uint16_t)
'G' << 8 | (uint16_t)
'N',
96 TID_GP = (uint16_t)
'G' << 8 | (uint16_t)
'P',
97 TID_HC = (uint16_t)
'H' << 8 | (uint16_t)
'C',
98 TID_HE = (uint16_t)
'H' << 8 | (uint16_t)
'E',
99 TID_HN = (uint16_t)
'H' << 8 | (uint16_t)
'N',
100 TID_II = (uint16_t)
'I' << 8 | (uint16_t)
'I',
101 TID_IN = (uint16_t)
'I' << 8 | (uint16_t)
'N',
102 TID_LA = (uint16_t)
'L' << 8 | (uint16_t)
'A',
103 TID_LC = (uint16_t)
'L' << 8 | (uint16_t)
'C',
104 TID_MP = (uint16_t)
'M' << 8 | (uint16_t)
'P',
105 TID_NL = (uint16_t)
'N' << 8 | (uint16_t)
'L',
106 TID_OM = (uint16_t)
'O' << 8 | (uint16_t)
'M',
107 TID_OS = (uint16_t)
'O' << 8 | (uint16_t)
'S',
108 TID_QZ = (uint16_t)
'Q' << 8 | (uint16_t)
'Z',
109 TID_RA = (uint16_t)
'R' << 8 | (uint16_t)
'A',
110 TID_SD = (uint16_t)
'S' << 8 | (uint16_t)
'D',
111 TID_SN = (uint16_t)
'S' << 8 | (uint16_t)
'N',
112 TID_SS = (uint16_t)
'S' << 8 | (uint16_t)
'S',
113 TID_TI = (uint16_t)
'T' << 8 | (uint16_t)
'I',
114 TID_TR = (uint16_t)
'T' << 8 | (uint16_t)
'R',
115 TID_U0 = (uint16_t)
'U' << 8 | (uint16_t)
'0',
116 TID_U1 = (uint16_t)
'U' << 8 | (uint16_t)
'1',
117 TID_U2 = (uint16_t)
'U' << 8 | (uint16_t)
'2',
118 TID_U3 = (uint16_t)
'U' << 8 | (uint16_t)
'3',
119 TID_U4 = (uint16_t)
'U' << 8 | (uint16_t)
'4',
120 TID_U5 = (uint16_t)
'U' << 8 | (uint16_t)
'5',
121 TID_U6 = (uint16_t)
'U' << 8 | (uint16_t)
'6',
122 TID_U7 = (uint16_t)
'U' << 8 | (uint16_t)
'7',
123 TID_U8 = (uint16_t)
'U' << 8 | (uint16_t)
'8',
124 TID_U9 = (uint16_t)
'U' << 8 | (uint16_t)
'9',
125 TID_UP = (uint16_t)
'U' << 8 | (uint16_t)
'P',
126 TID_VD = (uint16_t)
'V' << 8 | (uint16_t)
'D',
127 TID_DM = (uint16_t)
'D' << 8 | (uint16_t)
'M',
128 TID_VW = (uint16_t)
'V' << 8 | (uint16_t)
'W',
129 TID_WI = (uint16_t)
'W' << 8 | (uint16_t)
'I',
130 TID_YC = (uint16_t)
'Y' << 8 | (uint16_t)
'C',
131 TID_YD = (uint16_t)
'Y' << 8 | (uint16_t)
'D',
132 TID_YF = (uint16_t)
'Y' << 8 | (uint16_t)
'F',
133 TID_YL = (uint16_t)
'Y' << 8 | (uint16_t)
'L',
134 TID_YP = (uint16_t)
'Y' << 8 | (uint16_t)
'P',
135 TID_YR = (uint16_t)
'Y' << 8 | (uint16_t)
'R',
136 TID_YT = (uint16_t)
'Y' << 8 | (uint16_t)
'T',
137 TID_YV = (uint16_t)
'Y' << 8 | (uint16_t)
'V',
138 TID_YX = (uint16_t)
'Y' << 8 | (uint16_t)
'X',
139 TID_ZA = (uint16_t)
'Z' << 8 | (uint16_t)
'A',
140 TID_ZC = (uint16_t)
'Z' << 8 | (uint16_t)
'C',
141 TID_ZQ = (uint16_t)
'Z' << 8 | (uint16_t)
'Q',
142 TID_ZV = (uint16_t)
'Z' << 8 | (uint16_t)
'V',
The equivelent of std::vector but with a bit more control.
Represents a timestamp with utilities for manipulation and conversion.
A fixed-size array with N dimensions used as the basis for geometric and mathematical types.
The primary namespace for the NDEVR SDK.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
double fltp08
Defines an alias representing an 8 byte floating-point number.
TALKER_ID_E
All known NMEA talker IDs, encoded as two-character identifiers packed into 16-bit integer values.
@ TID_OM
OM OMEGA Navigation System(obsolete).
@ TID_TI
TI Turn Rate Indicator.
@ TID_BD
BD BeiDou(China).
@ TID_AB
AB Independent AIS Base Station.
@ TID_ZV
ZV Timekeeper - Radio Update, WWV or WWVH.
@ TID_MP
MP Microwave Positioning System(obsolete).
@ TID_VW
VW Velocity Sensor, Speed Log, Water, Mechanical.
@ TID_DF
DF Direction Finder.
@ TID_EC
EC Electronic Chart Display & Information System(ECDIS).
@ TID_U9
U# # is a digit 0 - 9; User Configured.
@ TID_LA
LA Loran A(obsolete).
@ TID_CV
CV Communications - Radio - Telephone(VHF).
@ TID_SS
SS Sounder, Scanning.
@ TID_LC
LC Loran C(obsolete).
@ TID_GL
GL GLONASS, according to IEIC 61162 - 1.
@ TID_U2
U# # is a digit 0 - 9; User Configured.
@ TID_U5
U# # is a digit 0 - 9; User Configured.
@ TID_IN
IN Integrated Navigation.
@ TID_EP
EP Emergency Position Indicating Beacon(EPIRB).
@ TID_ZC
ZC Timekeeper - Chronometer.
@ TID_AG
AG Autopilot - General.
@ TID_YF
YF Transducer - Frequency(obsolete).
@ TID_TR
TR TRANSIT Navigation System.
@ TID_GP
GP Global Positioning System(GPS).
@ TID_U1
U# # is a digit 0 - 9; User Configured.
@ TID_QZ
QZ QZSS regional GPS augmentation system(Japan).
@ TID_GA
GA Galileo Positioning System.
@ TID_SD
SD Sounder, Depth.
@ TID_VD
VD Velocity Sensor, Doppler, other / general.
@ TID_RA
RA RADAR and/or ARPA.
@ TID_CT
CT Communications - Radio - Telephone(MF / HF).
@ TID_YC
YC Transducer - Temperature(obsolete).
@ TID_U7
U# # is a digit 0 - 9; User Configured.
@ TID_GB
GB BeiDou(China).
@ TID_CC
CC Computer - Programmed Calculator(obsolete).
@ TID_ER
ER Engine Room Monitoring Systems.
@ TID_II
II Integrated Instrumentation.
@ TID_OS
OS Distress Alarm System(obsolete).
@ TID_YP
YP Transducer - Pressure(obsolete).
@ TID_YL
YL Transducer - Level(obsolete).
@ TID_DM
DM Velocity Sensor, Speed Log, Water, Magnetic.
@ TID_CD
CD Communications - Digital Selective Calling(DSC).
@ TID_YR
YR Transducer - Flow Rate(obsolete).
@ TID_HN
HN Heading - Non North Seeking Gyro.
@ TID_YT
YT Transducer - Tachometer(obsolete).
@ TID_WI
WI Weather Instruments.
@ TID_HE
HE Heading - North Seeking Gyro.
@ TID_SN
SN Electronic Positioning System, other / general.
@ TID_CX
CX Communications - Scanning Receiver.
@ TID_GN
GN Mixed GPS and GLONASS data, according to IEIC 61162-1.
@ TID_UP
UP Microprocessor controller.
@ TID_YV
YV Transducer - Volume(obsolete).
@ TID_YD
YD Transducer - Displacement, Angular or Linear(obsolete).
@ TID_DE
DE DECCA Navigation(obsolete).
@ TID_ZA
ZA Timekeeper - Atomic Clock.
@ TID_U0
U# # is a digit 0 - 9; User Configured.
@ TID_DU
DU Duplex repeater station.
@ TID_U3
U# # is a digit 0 - 9; User Configured.
@ TID_CM
CM Computer - Memory Data(obsolete).
@ TID_U8
U# # is a digit 0 - 9; User Configured.
@ TID_AD
AD Dependent AIS Base Station.
@ TID_ZQ
ZQ Timekeeper - Quartz.
@ TID_U4
U# # is a digit 0 - 9; User Configured.
@ TID_AP
AP Autopilot - Magnetic.
@ TID_NL
NL Navigation light controller.
@ TID_HC
HC Heading - Magnetic Compass.
@ TID_CS
CS Communications - Satellite.
@ TID_U6
U# # is a digit 0 - 9; User Configured.
@ TID_BN
BN Bridge navigational watch alarm system.
@ ERROR_OK
No error, operation successful.
@ ERROR_CMD_BUFFER_OVERFLOW
Error, receive command buffer overflow.
@ ERROR_RX_BUFFER_OVERFLOW
Error, receive packet buffer overflow.
@ ERROR_CHECKSUM
Error, packet checksum mismatch.
@ ERROR_FAIL
Error, operation failed.
@ ERROR_TOO_MANY_SATELLITES
Error, could not process. Too many satellites to fit into database.
GNSSConstellation
Identifies the satellite constellation system providing GNSS data.
@ e_unknown
Unknown constellation.
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
A geographic coordinate point produced by a GNSS receiver.
Holds position error statistics extracted from GST and related NMEA sentences.
fltp08 error_altitude
Altitude error in meters.
fltp08 error_ellipse_direction
Orientation of the error ellipse in degrees.
fltp08 error_longitude
Longitude error in meters.
Vector< 2, fltp08 > error_ellipse
Semi-major and semi-minor axes of the error ellipse.
fltp08 error_latitude
Latitude error in meters.
fltp08 differential_age
Age of differential correction data in seconds.
fltp08 rms
Root mean square of pseudorange residuals.
Time time
Timestamp of the error data.
Holds INS (Inertial Navigation System) orientation data extracted from proprietary NMEA sentences.
Vector< 3, Angle< fltp08 > > orientation_std_dev
Standard deviation of orientation angles.
Vector< 3, Angle< fltp08 > > orientation
Roll, pitch, yaw orientation angles.
Vector< 3, bool > is_valid
Per-axis validity flags.
Time time
Timestamp of the INS data.
int ins_valid
INS status: 0=Invalid, 1=Coarse Alignment, 2=Fine Alignment, 3=Full Nav.
The complete accumulated NMEA data state including satellite info, error data, INS data,...
Time rx_time
Local receive time of the last update.
NMEAErrorInfo error_info
Position error statistics.
NMEAINSInfo ins_info
INS orientation data.
uint04 sats_in_use
Number of satellites used in the fix.
Buffer< GNSSSatelliteInfo > sat_info
Per-satellite information.
Time time
GPS time from the NMEA data.
Buffer< Vector< 3, fltp08 > > relative_antennas
Relative antenna positions.
GPSPoint gps_point
Last parsed GPS position data.
Describes what was updated after processing an NMEA sentence, including which data categories changed...
bool location_changed
Whether position data changed.
bool satellite_info_changed
Whether satellite info changed.
NMEAError error
Error status from parsing.
bool quality_changed
Whether fix quality changed.
GNSSConstellation constellation
The constellation that provided this update.
bool orientation_changed
Whether orientation data changed.