GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
rtklib.h File Reference

main header file for the rtklib library More...

#include "MATH_CONSTANTS.h"
#include "gnss_frequencies.h"
#include "gnss_obs_codes.h"
#include <cctype>
#include <cmath>
#include <cstdarg>
#include <cstdint>
#include <cstdlib>
#include <netinet/in.h>
#include <pthread.h>
#include <string>

Go to the source code of this file.

Classes

struct  gtime_t
struct  obsd_t
struct  obs_t
struct  erpd_t
struct  erp_t
struct  pcv_t
struct  pcvs_t
struct  alm_t
struct  eph_t
struct  geph_t
struct  peph_t
struct  pclk_t
struct  seph_t
struct  tled_t
struct  tle_t
struct  tec_t
struct  fcbd_t
struct  sbsmsg_t
struct  sbs_t
struct  sbsfcorr_t
struct  sbslcorr_t
struct  sbssatp_t
struct  sbssat_t
struct  sbsigp_t
struct  sbsigpband_t
struct  sbsion_t
struct  dgps_t
struct  ssr_t
struct  lexmsg_t
struct  lex_t
struct  lexeph_t
struct  lexion_t
struct  stec_t
struct  trop_t
struct  pppcorr_t
struct  nav_t
struct  sta_t
struct  sol_t
struct  solbuf_t
struct  solstat_t
struct  solstatbuf_t
struct  rtcm_t
struct  url_t
struct  opt_t
struct  exterr_t
struct  snrmask_t
struct  prcopt_t
struct  solopt_t
struct  ssat_t
struct  ambc_t
struct  rtk_t
struct  half_cyc_tag
struct  stream_t
struct  serial_t
struct  file_t
struct  tcp_t
struct  tcpsvr_t
struct  tcpcli_t
struct  ntrip_t
struct  ftp_t
struct  raw_t
struct  rtksvr_t
struct  msm_h_t

Macros

#define dev_t   int
#define socket_t   int
#define closesocket   close
#define lock_t   pthread_mutex_t
#define initlock(f)
#define rtk_lock(f)
#define rtk_unlock(f)
#define VER_RTKLIB   "2.4.2"
#define NTRIP_AGENT   "RTKLIB/" VER_RTKLIB
#define NTRIP_CLI_PORT   2101 /* default ntrip-client connection port */
#define NTRIP_SVR_PORT   80 /* default ntrip-server connection port */
#define NTRIP_MAXRSP   32768 /* max size of ntrip response */
#define NTRIP_MAXSTR   256 /* max length of mountpoint string */
#define NTRIP_RSP_OK_CLI   "ICY 200 OK\r\n" /* ntrip response: client */
#define NTRIP_RSP_OK_SVR   "OK\r\n" /* ntrip response: server */
#define NTRIP_RSP_SRCTBL   "SOURCETABLE 200 OK\r\n" /* ntrip response: source table */
#define NTRIP_RSP_TBLEND   "ENDSOURCETABLE"
#define NTRIP_RSP_HTTP   "HTTP/" /* ntrip response: http */
#define NTRIP_RSP_ERROR   "ERROR" /* ntrip response: error */
#define FTP_CMD   "wget" /* ftp/http command */
#define ENAGLO
#define ENAQZS
#define ENABDS
#define STR_MODE_R   0x1 /* stream mode: read */
#define STR_MODE_W   0x2 /* stream mode: write */
#define STR_MODE_RW   0x3 /* stream mode: read/write */
#define STR_NONE   0 /* stream type: none */
#define STR_SERIAL   1 /* stream type: serial */
#define STR_FILE   2 /* stream type: file */
#define STR_TCPSVR   3 /* stream type: TCP server */
#define STR_TCPCLI   4 /* stream type: TCP client */
#define STR_UDP   5 /* stream type: UDP stream */
#define STR_NTRIPSVR   6 /* stream type: NTRIP server */
#define STR_NTRIPCLI   7 /* stream type: NTRIP client */
#define STR_FTP   8 /* stream type: ftp */
#define STR_HTTP   9 /* stream type: http */
#define NP_PPP(opt)
#define IC_PPP(s, opt)
#define IT_PPP(opt)
#define NR_PPP(opt)
#define IB_PPP(s, opt)
#define NX_PPP(opt)
#define NF_RTK(opt)
#define NP_RTK(opt)
#define NI_RTK(opt)
#define NT_RTK(opt)
#define NL_RTK(opt)
#define NB_RTK(opt)
#define NR_RTK(opt)
#define NX_RTK(opt)

Typedefs

using fatalfunc_t = void(const char *)
 fatal callback function type
typedef struct half_cyc_tag half_cyc_t

Variables

const int TINTACT = 200
 period for stream active (ms)
const int SERIBUFFSIZE = 4096
 serial buffer size (bytes)
const int TIMETAGH_LEN = 64
 time tag file header length
const int MAXCLI = 32
 max client connection for tcp svr
const int MAXSTATMSG = 32
 max length of status message
const int FTP_TIMEOUT = 30
 ftp/http timeout (s)
const int MAXRAWLEN = 4096
 max length of receiver raw message
const int MAXSOLBUF = 256
 max number of solution buffer
const int MAXSBSMSG = 32
 max number of SBAS msg in RTK server
const int MAXOBSBUF = 128
 max number of observation data buffer
const int FILEPATHSEP = '/'
const double RE_WGS84 = 6378137.0
 earth semimajor axis (WGS84) (m)
const double FE_WGS84 = (1.0 / 298.257223563)
 earth flattening (WGS84)
const double HION = 350000.0
 ionosphere height (m)
const double PRN_HWBIAS = 1e-6
 process noise of h/w bias (m/MHz/sqrt(s))
const double INT_SWAP_STAT = 86400.0
 swap interval of solution status file (s)
const double INT_SWAP_TRAC = 86400.0
 swap interval of trace file (s)
const unsigned int POLYCRC32 = 0xEDB88320u
 CRC32 polynomial.
const unsigned int POLYCRC24Q = 0x1864CFBu
 CRC24Q polynomial.
const int PMODE_SINGLE = 0
 positioning mode: single
const int PMODE_DGPS = 1
 positioning mode: DGPS/DGNSS
const int PMODE_KINEMA = 2
 positioning mode: kinematic
const int PMODE_STATIC = 3
 positioning mode: static
const int PMODE_MOVEB = 4
 positioning mode: moving-base
const int PMODE_FIXED = 5
 positioning mode: fixed
const int PMODE_PPP_KINEMA = 6
 positioning mode: PPP-kinemaric
const int PMODE_PPP_STATIC = 7
 positioning mode: PPP-static
const int PMODE_PPP_FIXED = 8
 positioning mode: PPP-fixed
const int SOLF_LLH = 0
 solution format: lat/lon/height
const int SOLF_XYZ = 1
 solution format: x/y/z-ecef
const int SOLF_ENU = 2
 solution format: e/n/u-baseline
const int SOLF_NMEA = 3
 solution format: NMEA-183
const int SOLF_STAT = 4
 solution format: solution status
const int SOLF_GSIF = 5
 solution format: GSI F1/F2
const int SOLQ_NONE = 0
 solution status: no solution
const int SOLQ_FIX = 1
 solution status: fix
const int SOLQ_FLOAT = 2
 solution status: float
const int SOLQ_SBAS = 3
 solution status: SBAS
const int SOLQ_DGPS = 4
 solution status: DGPS/DGNSS
const int SOLQ_SINGLE = 5
 solution status: single
const int SOLQ_PPP = 6
 solution status: PPP
const int SOLQ_DR = 7
 solution status: dead reckoning
const int MAXSOLQ = 7
 max number of solution status
const int TIMES_GPST = 0
 time system: gps time
const int TIMES_UTC = 1
 time system: utc
const int TIMES_JST = 2
 time system: jst
const double ERR_SAAS = 0.3
 saastamoinen model error std (m)
const double ERR_BRDCI = 0.5
 broadcast iono model error factor
const double ERR_CBIAS = 0.3
 code bias error std (m)
const double REL_HUMI = 0.7
 relative humidity for saastamoinen model
const double GAP_RESION = 120
 default gap to reset ionos parameters (ep)
const int MAXFREQ = 7
 max NFREQ
const int MAXLEAPS = 64
 max number of leap seconds table
const double DTTOL = 0.005
 tolerance of time difference (s)
const int NFREQ = 3
 number of carrier frequencies
const int NFREQGLO = 2
 number of carrier frequencies of GLONASS
const int NEXOBS = 0
 number of extended obs codes
const int MAXANT = 64
 max length of station name/antenna type
const int MINPRNGPS = 1
 min satellite PRN number of GPS
const int MAXPRNGPS = 32
 max satellite PRN number of GPS
const int NSATGPS = (MAXPRNGPS - MINPRNGPS + 1)
 number of GPS satellites
const int NSYSGPS = 1
const int SYS_NONE = 0x00
 navigation system: none
const int SYS_GPS = 0x01
 navigation system: GPS
const int SYS_SBS = 0x02
 navigation system: SBAS
const int SYS_GLO = 0x04
 navigation system: GLONASS
const int SYS_GAL = 0x08
 navigation system: Galileo
const int SYS_QZS = 0x10
 navigation system: QZSS
const int SYS_BDS = 0x20
 navigation system: BeiDou
const int SYS_IRN = 0x40
 navigation system: IRNS
const int SYS_LEO = 0x80
 navigation system: LEO
const int SYS_ALL = 0xFF
 navigation system: all
const int MINPRNGLO = 1
 min satellite slot number of GLONASS
const int MAXPRNGLO = 27
 max satellite slot number of GLONASS
const int NSATGLO = (MAXPRNGLO - MINPRNGLO + 1)
 number of GLONASS satellites
const int NSYSGLO = 1
const int MINPRNGAL = 1
 min satellite PRN number of Galileo
const int MAXPRNGAL = 36
 max satellite PRN number of Galileo
const int NSATGAL = (MAXPRNGAL - MINPRNGAL + 1)
 number of Galileo satellites
const int NSYSGAL = 1
const int MAXPRNQZS = 202
 max satellite PRN number of QZSS
const int MINPRNQZS = 193
 min satellite PRN number of QZSS
const int MINPRNQZS_S = 183
 min satellite PRN number of QZSS SAIF
const int MAXPRNQZS_S = 191
 max satellite PRN number of QZSS SAIF
const int NSATQZS = (MAXPRNQZS - MINPRNQZS + 1)
 number of QZSS satellites
const int NSYSQZS = 1
const int MINPRNBDS = 1
 min satellite sat number of BeiDou
const int MAXPRNBDS = 63
 max satellite sat number of BeiDou
const int NSATBDS = (MAXPRNBDS - MINPRNBDS + 1)
 number of BeiDou satellites
const int NSYSBDS = 1
const int MINPRNIRN = 1
 min satellite sat number of IRNSS
const int MAXPRNIRN = 7
 max satellite sat number of IRNSS
const int NSATIRN = 0
const int NSYSIRN = 0
const int MINPRNLEO = 1
 min satellite sat number of LEO
const int MAXPRNLEO = 10
 max satellite sat number of LEO *‍/
const int NSATLEO = 0
const int NSYSLEO = 0
const int NSYS = (NSYSGPS + NSYSGLO + NSYSGAL + NSYSQZS + NSYSBDS + NSYSIRN + NSYSLEO)
 number of systems
const int MINPRNSBS = 120
 min satellite PRN number of SBAS
const int MAXPRNSBS = 142
 max satellite PRN number of SBAS
const int NSATSBS = (MAXPRNSBS - MINPRNSBS + 1)
 number of SBAS satellites
const int MAXSAT = (NSATGPS + NSATGLO + NSATGAL + NSATQZS + NSATBDS + NSATIRN + NSATSBS + NSATLEO)
const int MAXSTA = 255
const int MAXOBS = 64
 max number of obs in an epoch
const int MAXRCV = 64
 max receiver number (1 to MAXRCV)
const int MAXOBSTYPE = 64
 max number of obs type in RINEX
const double MAXDTOE = 7200.0
 max time difference to GPS Toe (s)
const double MAXDTOE_QZS = 7200.0
 max time difference to QZSS Toe (s)
const double MAXDTOE_GAL = 10800.0
 max time difference to Galileo Toe (s)
const double MAXDTOE_BDS = 21600.0
 max time difference to BeiDou Toe (s)
const double MAXDTOE_GLO = 1800.0
 max time difference to GLONASS Toe (s)
const double MAXDTOE_SBS = 360.0
 max time difference to SBAS Toe (s)
const double MAXDTOE_S = 86400.0
 max time difference to ephem toe (s) for other
const double MAXGDOP = 300.0
 max GDOP
const int MAXSBSURA = 8
 max URA of SBAS satellite
const int MAXBAND = 10
 max SBAS band of IGP
const int MAXNIGP = 201
 max number of IGP in SBAS band
const int MAXNGEO = 4
 max number of GEO satellites
const int MAXSOLMSG = 8191
 max length of solution message
const int MAXERRMSG = 4096
 max length of error/warning message
const int IONOOPT_OFF = 0
 ionosphere option: correction off
const int IONOOPT_BRDC = 1
 ionosphere option: broadcast model
const int IONOOPT_SBAS = 2
 ionosphere option: SBAS model
const int IONOOPT_IFLC = 3
 ionosphere option: L1/L2 or L1/L5 iono-free LC
const int IONOOPT_EST = 4
 ionosphere option: estimation
const int IONOOPT_TEC = 5
 ionosphere option: IONEX TEC model
const int IONOOPT_QZS = 6
 ionosphere option: QZSS broadcast model
const int IONOOPT_LEX = 7
 ionosphere option: QZSS LEX ionospehre
const int IONOOPT_STEC = 8
 ionosphere option: SLANT TEC model
const int TROPOPT_OFF = 0
 troposphere option: correction off
const int TROPOPT_SAAS = 1
 troposphere option: Saastamoinen model
const int TROPOPT_SBAS = 2
 troposphere option: SBAS model
const int TROPOPT_EST = 3
 troposphere option: ZTD estimation
const int TROPOPT_ESTG = 4
 troposphere option: ZTD+grad estimation
const int TROPOPT_COR = 5
 troposphere option: ZTD correction
const int TROPOPT_CORG = 6
 troposphere option: ZTD+grad correction
const int EPHOPT_BRDC = 0
 ephemeris option: broadcast ephemeris
const int EPHOPT_PREC = 1
 ephemeris option: precise ephemeris
const int EPHOPT_SBAS = 2
 ephemeris option: broadcast + SBAS
const int EPHOPT_SSRAPC = 3
 ephemeris option: broadcast + SSR_APC
const int EPHOPT_SSRCOM = 4
 ephemeris option: broadcast + SSR_COM
const int EPHOPT_LEX = 5
 ephemeris option: QZSS LEX ephemeris
const double EFACT_GPS = 1.0
 error factor: GPS
const double EFACT_GLO = 1.5
 error factor: GLONASS
const double EFACT_GAL = 1.0
 error factor: Galileo
const double EFACT_QZS = 1.0
 error factor: QZSS
const double EFACT_BDS = 1.0
 error factor: BeiDou
const double EFACT_IRN = 1.5
 error factor: IRNSS
const double EFACT_SBS = 3.0
 error factor: SBAS
const int MAXEXFILE = 1024
 max number of expanded files
const double MAXSBSAGEF = 30.0
 max age of SBAS fast correction (s)
const double MAXSBSAGEL = 1800.0
 max age of SBAS long term corr (s)
const int ARMODE_OFF = 0
 AR mode: off.
const int ARMODE_CONT = 1
 AR mode: continuous.
const int ARMODE_INST = 2
 AR mode: instantaneous.
const int ARMODE_FIXHOLD = 3
 AR mode: fix and hold.
const int ARMODE_PPPAR = 4
 AR mode: PPP-AR.
const int ARMODE_PPPAR_ILS = 5
 AR mode: AR mode: PPP-AR ILS.
const int ARMODE_WLNL = 6
const int ARMODE_TCAR = 7
const int POSOPT_RINEX = 3
 pos option: rinex header pos
const int MAXSTRPATH = 1024
 max length of stream path
const int MAXSTRMSG = 1024
 max length of stream message
const double CHISQR [100]
const double LAM_CARR [MAXFREQ]
const int STRFMT_RTCM2 = 0
const int STRFMT_RTCM3 = 1
const int STRFMT_SP3 = 16
const int STRFMT_RNXCLK = 17
const int STRFMT_SBAS = 18
const int STRFMT_NMEA = 19
const int MAXSTRRTK = 8

Detailed Description

main header file for the rtklib library

Authors
  • 2007-2013, T. Takasu
  • 2017, Javier Arribas
  • 2017-2023, Carles Fernandez

This is a derived work from RTKLIB http://www.rtklib.com/ The original source code at https://github.com/tomojitakasu/RTKLIB is released under the BSD 2-clause license with an additional exclusive clause that does not apply here. This additional clause is reproduced below:

" The software package includes some companion executive binaries or shared libraries necessary to execute APs on Windows. These licenses succeed to the original ones of these software. "

Neither the executive binaries nor the shared libraries are required by, used or included in GNSS-SDR.


Copyright (C) 2007-2013, T. Takasu Copyright (C) 2017, Javier Arribas Copyright (C) 2017-2023, Carles Fernandez All rights reserved.

SPDX-License-Identifier: BSD-2-Clause


Definition in file rtklib.h.