MRTKLIB 0.7.14
Modernized GNSS Positioning Library
Loading...
Searching...
No Matches
mrtk_rtkpos.c File Reference
#include "mrtklib/mrtk_rtkpos.h"
#include <math.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "mrtklib/mrtk_antenna.h"
#include "mrtklib/mrtk_atmos.h"
#include "mrtklib/mrtk_bias_sinex.h"
#include "mrtklib/mrtk_bits.h"
#include "mrtklib/mrtk_clas.h"
#include "mrtklib/mrtk_const.h"
#include "mrtklib/mrtk_coords.h"
#include "mrtklib/mrtk_fcb.h"
#include "mrtklib/mrtk_lambda.h"
#include "mrtklib/mrtk_madoca.h"
#include "mrtklib/mrtk_mat.h"
#include "mrtklib/mrtk_peph.h"
#include "mrtklib/mrtk_ppp.h"
#include "mrtklib/mrtk_ppp_rtk.h"
#include "mrtklib/mrtk_spp.h"
#include "mrtklib/mrtk_sys.h"
#include "mrtklib/mrtk_tides.h"
#include "mrtklib/mrtk_trace.h"
#include "mrtklib/mrtk_vrs.h"
Include dependency graph for mrtk_rtkpos.c:

Go to the source code of this file.

Macros

#define CLIGHT   299792458.0 /* speed of light (m/s) */
#define D2R   (3.1415926535897932384626433832795 / 180.0)
#define R2D   (180.0 / 3.1415926535897932384626433832795)
#define FREQ1   1.57542E9 /* L1/E1/B1C frequency (Hz) */
#define SYS_NONE   0x00 /* navigation system: none */
#define SYS_GPS   0x01 /* navigation system: GPS */
#define SYS_SBS   0x02 /* navigation system: SBAS */
#define SYS_GLO   0x04 /* navigation system: GLONASS */
#define SYS_GAL   0x08 /* navigation system: Galileo */
#define SYS_QZS   0x10 /* navigation system: QZSS */
#define SYS_CMP   0x20 /* navigation system: BeiDou */
#define SYS_IRN   0x40 /* navigation system: IRNSS */
#define EFACT_GPS   1.0 /* error factor: GPS */
#define EFACT_GLO   1.5 /* error factor: GLONASS */
#define EFACT_SBS   3.0 /* error factor: SBAS */
#define INT_SWAP_STAT   86400.0 /* swap interval of solution status (s) */
#define SSR_VENDOR_L6   0 /* SSR vendor: L6 */
#define SSR_VENDOR_RTCM   1 /* SSR vendor: RTCM */
#define MAXAGESSRL6   60.0 /* max age of SSR L6 (s) */
#define SQR(x)
#define SQRT(x)
#define MIN(x, y)
#define ROUND(x)
#define VAR_POS   SQR(30.0) /* initial variance of receiver pos (m^2) */
#define VAR_VEL   SQR(10.0) /* initial variance of receiver vel ((m/s)^2) */
#define VAR_ACC   SQR(10.0) /* initial variance of receiver acc ((m/ss)^2) */
#define VAR_HWBIAS   SQR(1.0) /* initial variance of h/w bias ((m/MHz)^2) */
#define VAR_GRA   SQR(0.001) /* initial variance of gradient (m^2) */
#define INIT_ZWD   0.15 /* initial zwd (m) */
#define PRN_HWBIAS   1E-6 /* process noise of h/w bias (m/MHz/sqrt(s)) */
#define GAP_RESION   120 /* gap to reset ionosphere parameters (epochs) */
#define MAXACC   30.0 /* max accel for doppler slip detection (m/s^2) */
#define VAR_HOLDAMB   0.001 /* constraint to hold ambiguity (cycle^2) */
#define TTOL_MOVEB   (1.0 + 2 * DTTOL)
#define NF(opt)
#define NP(opt)
#define NI(opt)
#define NT(opt)
#define NL(opt)
#define NB(opt)
#define NR(opt)
#define NX(opt)
#define II(s, opt)
#define IT(r, opt)
#define IL(f, opt)
#define IB(s, f, opt)

Functions

int miono_get_corr (const double *rr, nav_t *nav)
int rtkopenstat (const char *file, int level)
 Open solution status file and set output level.
void rtkclosestat (void)
 Close solution status file.
int rtkoutstat (rtk_t *rtk, char *buff)
 Write solution status to buffer.
static void swapsolstat (void)
static void outsolstat (rtk_t *rtk)
static void errmsg (rtk_t *rtk, const char *format,...)
static double sdobs (const obsd_t *obs, int i, int j, int k)
static double gfobs (const obsd_t *obs, int i, int j, int k, const nav_t *nav)
static int seliflc (int optnf, int sys)
static double varerr (int sat, int sys, double el, double snr_rover, double snr_base, double bl, double dt, int f, const prcopt_t *opt)
static double baseline (const double *ru, const double *rb, double *dr)
static void initx (rtk_t *rtk, double xi, double var, int i)
static int selsat (const obsd_t *obs, double *azel, int nu, int nr, const prcopt_t *opt, int *sat, int *iu, int *ir)
static void udpos (rtk_t *rtk, double tt)
static void udion (rtk_t *rtk, double tt, double bl, const int *sat, int ns)
static void udtrop (rtk_t *rtk, double tt, double bl)
static void udrcvbias (rtk_t *rtk, double tt)
static void detslp_code (rtk_t *rtk, const obsd_t *obs, int i, int rcv)
static void detslp_ll (rtk_t *rtk, const obsd_t *obs, int i, int rcv)
static void detslp_gf (rtk_t *rtk, const obsd_t *obs, int i, int j, const nav_t *nav)
static void detslp_dop (rtk_t *rtk, const obsd_t *obs, const int *ix, int ns, int rcv, const nav_t *nav)
static void udbias (rtk_t *rtk, double tt, const obsd_t *obs, const int *sat, const int *iu, const int *ir, int ns, const nav_t *nav)
static void udstate (rtk_t *rtk, const obsd_t *obs, const int *sat, const int *iu, const int *ir, int ns, const nav_t *nav)
static void zdres_sat (int base, double r, const obsd_t *obs, const nav_t *nav, const double *azel, const double *dant, const prcopt_t *opt, double *y, double *freq)
static int zdres (int base, const obsd_t *obs, int n, const double *rs, const double *dts, const double *var, const int *svh, const nav_t *nav, const double *rr, const prcopt_t *opt, int index, double *y, double *e, double *azel, double *freq)
static int validobs (int i, int j, int f, int nf, double *y)
static void ddcov (const int *nb, int n, const double *Ri, const double *Rj, int nv, double *R)
static int constbl (rtk_t *rtk, const double *x, const double *P, double *v, double *H, double *Ri, double *Rj, int index)
static double prectrop (gtime_t time, const double *pos, int r, const double *azel, const prcopt_t *opt, const double *x, double *dtdx)
static int test_sys (int sys, int m)
static int ddres (rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, const double *x, const double *P, const int *sat, double *y, double *e, double *azel, double *freq, const int *iu, const int *ir, int ns, double *v, double *H, double *R, int *vflg)
static double intpres (gtime_t time, const obsd_t *obs, int n, const nav_t *nav, rtk_t *rtk, double *y)
static int ddidx (rtk_t *rtk, int *ix, int gps, int glo, int sbs)
static void restamb (rtk_t *rtk, const double *bias, double *xa)
static void holdamb (rtk_t *rtk, const double *xa)
static int resamb_LAMBDA (rtk_t *rtk, double *bias, double *xa, int gps, int glo, int sbs)
static int manage_amb_LAMBDA (rtk_t *rtk, double *bias, double *xa, const int *sat, int nf, int ns)
static int valpos (rtk_t *rtk, const double *v, const double *R, const int *vflg, int nv, double thres)
static int relpos (rtk_t *rtk, const obsd_t *obs, int nu, int nr, const nav_t *nav)
void rtkinit (rtk_t *rtk, const prcopt_t *opt)
 Initialize RTK control struct.
void rtkfree (rtk_t *rtk)
 Free memory for RTK control struct.
static void udsatcb (gtime_t gt, nav_t *nav, osb_t *biaosb, const prcopt_t *popt)
static void udsatpb (gtime_t gt, nav_t *nav, osb_t *biaosb, osb_t *fcbosb, const prcopt_t *popt)
static void udstacb (gtime_t gt, nav_t *nav, osb_t *biaosb, const prcopt_t *popt)
static void udbiass (gtime_t gt, prcopt_t *popt, nav_t *nav)
int rtkpos (mrtk_ctx_t *ctx, rtk_t *rtk, const obsd_t *obs, int n, nav_t *nav)
 Compute rover position by precise positioning.

Variables

static const double ar_poly_coeffs [3][5]
static int statlevel = 0
static FILE * fp_stat = NULL
static char file_stat [1024] = ""
static gtime_t time_stat = {0}

Macro Definition Documentation

◆ CLIGHT

#define CLIGHT   299792458.0 /* speed of light (m/s) */

Definition at line 46 of file mrtk_rtkpos.c.

◆ D2R

#define D2R   (3.1415926535897932384626433832795 / 180.0)

Definition at line 47 of file mrtk_rtkpos.c.

◆ EFACT_GLO

#define EFACT_GLO   1.5 /* error factor: GLONASS */

Definition at line 61 of file mrtk_rtkpos.c.

Referenced by varerr(), varerr(), varerr(), varerr(), and varerr().

◆ EFACT_GPS

#define EFACT_GPS   1.0 /* error factor: GPS */

Definition at line 60 of file mrtk_rtkpos.c.

Referenced by varerr(), varerr(), varerr(), varerr(), and varerr().

◆ EFACT_SBS

#define EFACT_SBS   3.0 /* error factor: SBAS */

Definition at line 62 of file mrtk_rtkpos.c.

Referenced by varerr(), varerr(), varerr(), varerr(), and varerr().

◆ FREQ1

#define FREQ1   1.57542E9 /* L1/E1/B1C frequency (Hz) */

Definition at line 49 of file mrtk_rtkpos.c.

◆ GAP_RESION

#define GAP_RESION   120 /* gap to reset ionosphere parameters (epochs) */

Definition at line 87 of file mrtk_rtkpos.c.

◆ IB

#define IB ( s,
f,
opt )
Value:
(NR(opt) + MAXSAT * (f) + (s) - 1) /* phase bias (s:satno,f:freq) */
#define MAXSAT
Definition mrtk_coords.c:45
#define NR(opt)
Definition mrtk_ppp.c:222

Definition at line 109 of file mrtk_rtkpos.c.

Referenced by ddres(), holdamb(), restamb(), and udbias().

◆ II

#define II ( s,
opt )
Value:
(NP(opt) + (s) - 1) /* ionos (s:satellite no) */
#define NP(opt)
Definition mrtk_ppp.c:212

Definition at line 106 of file mrtk_rtkpos.c.

Referenced by ddres(), rtkoutstat(), and udion().

◆ IL

#define IL ( f,
opt )
Value:
(NP(opt) + NI(opt) + NT(opt) + (f)) /* receiver h/w bias */
#define NI(opt)
Definition mrtk_ppp.c:219
#define NT(opt)

Definition at line 108 of file mrtk_rtkpos.c.

Referenced by rtkoutstat(), and udrcvbias().

◆ INIT_ZWD

#define INIT_ZWD   0.15 /* initial zwd (m) */

Definition at line 84 of file mrtk_rtkpos.c.

◆ INT_SWAP_STAT

#define INT_SWAP_STAT   86400.0 /* swap interval of solution status (s) */

Definition at line 64 of file mrtk_rtkpos.c.

Referenced by swapsolstat().

◆ IT

#define IT ( r,
opt )
Value:
(NP(opt) + NI(opt) + NT(opt) / 2 * (r)) /* tropos (r:0=rov,1:ref) */

Definition at line 107 of file mrtk_rtkpos.c.

Referenced by ddres(), prectrop(), rtkoutstat(), and udtrop().

◆ MAXACC

#define MAXACC   30.0 /* max accel for doppler slip detection (m/s^2) */

Definition at line 88 of file mrtk_rtkpos.c.

◆ MAXAGESSRL6

#define MAXAGESSRL6   60.0 /* max age of SSR L6 (s) */

Definition at line 67 of file mrtk_rtkpos.c.

Referenced by udsatcb(), and udsatpb().

◆ MIN

#define MIN ( x,
y )
Value:
((x) <= (y) ? (x) : (y))

Definition at line 76 of file mrtk_rtkpos.c.

Referenced by detslp_dop().

◆ NB

#define NB ( opt)
Value:
((opt)->mode <= PMODE_DGPS ? 0 : MAXSAT * NF(opt))
#define PMODE_DGPS
Definition mrtk_opt.h:46
#define NF(opt)
Definition mrtk_ppp.c:211

Definition at line 101 of file mrtk_rtkpos.c.

◆ NF

#define NF ( opt)
Value:
((opt)->ionoopt == IONOOPT_IFLC ? 1 : (opt)->nf)
#define IONOOPT_IFLC
Definition mrtk_opt.h:95

Definition at line 96 of file mrtk_rtkpos.c.

Referenced by ddidx(), ddres(), holdamb(), intpres(), outsolstat(), restamb(), rtkoutstat(), udbias(), varerr(), zdres(), and zdres_sat().

◆ NI

#define NI ( opt)
Value:
(((opt)->ionoopt != IONOOPT_EST && (opt)->ionoopt != IONOOPT_EST_ADPT) ? 0 : MAXSAT)
#define IONOOPT_EST
Definition mrtk_opt.h:96
#define IONOOPT_EST_ADPT
Definition mrtk_opt.h:100

Definition at line 98 of file mrtk_rtkpos.c.

◆ NL

#define NL ( opt)
Value:
((opt)->glomodear != 2 ? 0 : NFREQGLO)
#define NFREQGLO

Definition at line 100 of file mrtk_rtkpos.c.

◆ NP

#define NP ( opt)
Value:
((opt)->dynamics == 0 ? 3 : 9)

Definition at line 97 of file mrtk_rtkpos.c.

◆ NR

#define NR ( opt)
Value:
(NP(opt) + NI(opt) + NT(opt) + NL(opt))
#define NL(opt)

Definition at line 102 of file mrtk_rtkpos.c.

Referenced by relpos(), and rtkinit().

◆ NT

#define NT ( opt)
Value:
((opt)->tropopt < TROPOPT_EST ? 0 : ((opt)->tropopt < TROPOPT_ESTG ? 2 : 6))
#define TROPOPT_EST
Definition mrtk_opt.h:105
#define TROPOPT_ESTG
Definition mrtk_opt.h:106

Definition at line 99 of file mrtk_rtkpos.c.

◆ NX

#define NX ( opt)
Value:
(NR(opt) + NB(opt))
#define NB(opt)
Definition mrtk_ppp.c:223

Definition at line 103 of file mrtk_rtkpos.c.

Referenced by rtkinit().

◆ PRN_HWBIAS

#define PRN_HWBIAS   1E-6 /* process noise of h/w bias (m/MHz/sqrt(s)) */

Definition at line 86 of file mrtk_rtkpos.c.

Referenced by udrcvbias(), and udrcvbias().

◆ R2D

#define R2D   (180.0 / 3.1415926535897932384626433832795)

Definition at line 48 of file mrtk_rtkpos.c.

◆ ROUND

#define ROUND ( x)
Value:
(int)floor((x) + 0.5)

Definition at line 77 of file mrtk_rtkpos.c.

◆ SQR

#define SQR ( x)
Value:
((x) * (x))

Definition at line 74 of file mrtk_rtkpos.c.

Referenced by constbl(), ddres(), udbias(), udion(), udpos(), udrcvbias(), udtrop(), varerr(), and zdres_sat().

◆ SQRT

#define SQRT ( x)
Value:
((x) <= 0.0 || (x) != (x) ? 0.0 : sqrt(x))

Definition at line 75 of file mrtk_rtkpos.c.

Referenced by valpos().

◆ SSR_VENDOR_L6

#define SSR_VENDOR_L6   0 /* SSR vendor: L6 */

Definition at line 65 of file mrtk_rtkpos.c.

Referenced by udsatcb().

◆ SSR_VENDOR_RTCM

#define SSR_VENDOR_RTCM   1 /* SSR vendor: RTCM */

◆ SYS_CMP

#define SYS_CMP   0x20 /* navigation system: BeiDou */

Definition at line 57 of file mrtk_rtkpos.c.

◆ SYS_GAL

#define SYS_GAL   0x08 /* navigation system: Galileo */

Definition at line 55 of file mrtk_rtkpos.c.

◆ SYS_GLO

#define SYS_GLO   0x04 /* navigation system: GLONASS */

Definition at line 54 of file mrtk_rtkpos.c.

◆ SYS_GPS

#define SYS_GPS   0x01 /* navigation system: GPS */

Definition at line 52 of file mrtk_rtkpos.c.

◆ SYS_IRN

#define SYS_IRN   0x40 /* navigation system: IRNSS */

Definition at line 58 of file mrtk_rtkpos.c.

◆ SYS_NONE

#define SYS_NONE   0x00 /* navigation system: none */

Definition at line 51 of file mrtk_rtkpos.c.

◆ SYS_QZS

#define SYS_QZS   0x10 /* navigation system: QZSS */

Definition at line 56 of file mrtk_rtkpos.c.

◆ SYS_SBS

#define SYS_SBS   0x02 /* navigation system: SBAS */

Definition at line 53 of file mrtk_rtkpos.c.

◆ TTOL_MOVEB

#define TTOL_MOVEB   (1.0 + 2 * DTTOL)

Definition at line 92 of file mrtk_rtkpos.c.

Referenced by rtkpos().

◆ VAR_ACC

#define VAR_ACC   SQR(10.0) /* initial variance of receiver acc ((m/ss)^2) */

Definition at line 81 of file mrtk_rtkpos.c.

◆ VAR_GRA

#define VAR_GRA   SQR(0.001) /* initial variance of gradient (m^2) */

Definition at line 83 of file mrtk_rtkpos.c.

◆ VAR_HOLDAMB

#define VAR_HOLDAMB   0.001 /* constraint to hold ambiguity (cycle^2) */

Definition at line 90 of file mrtk_rtkpos.c.

Referenced by holdamb().

◆ VAR_HWBIAS

#define VAR_HWBIAS   SQR(1.0) /* initial variance of h/w bias ((m/MHz)^2) */

Definition at line 82 of file mrtk_rtkpos.c.

Referenced by udrcvbias(), and udrcvbias().

◆ VAR_POS

#define VAR_POS   SQR(30.0) /* initial variance of receiver pos (m^2) */

Definition at line 79 of file mrtk_rtkpos.c.

◆ VAR_VEL

#define VAR_VEL   SQR(10.0) /* initial variance of receiver vel ((m/s)^2) */

Definition at line 80 of file mrtk_rtkpos.c.

Function Documentation

◆ baseline()

double baseline ( const double * ru,
const double * rb,
double * dr )
static

Definition at line 479 of file mrtk_rtkpos.c.

References norm().

Referenced by ddres(), and udstate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ constbl()

int constbl ( rtk_t * rtk,
const double * x,
const double * P,
double * v,
double * H,
double * Ri,
double * Rj,
int index )
static

Definition at line 1176 of file mrtk_rtkpos.c.

References prcopt_t::baseline, norm(), rtk_t::nx, rtk_t::opt, rtk_t::rb, SQR, and trace().

Referenced by ddres().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ddcov()

void ddcov ( const int * nb,
int n,
const double * Ri,
const double * Rj,
int nv,
double * R )
static

Definition at line 1157 of file mrtk_rtkpos.c.

References trace(), and tracemat().

Referenced by ddres().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ddidx()

int ddidx ( rtk_t * rtk,
int * ix,
int gps,
int glo,
int sbs )
static

Definition at line 1523 of file mrtk_rtkpos.c.

References ssat_t::azel, prcopt_t::bdsmodear, prcopt_t::elmaskar, ssat_t::fix, ssat_t::lock, MAXSAT, rtk_t::na, NF, rtk_t::opt, satsys(), ssat_t::slip, rtk_t::ssat, ssat_t::sys, SYS_SBS, test_sys(), trace(), ssat_t::vsat, and rtk_t::x.

Referenced by resamb_LAMBDA().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ddres()

int ddres ( rtk_t * rtk,
const nav_t * nav,
const obsd_t * obs,
double dt,
const double * x,
const double * P,
const int * sat,
double * y,
double * e,
double * azel,
double * freq,
const int * iu,
const int * ir,
int ns,
double * v,
double * H,
double * R,
int * vflg )
static

Definition at line 1266 of file mrtk_rtkpos.c.

References baseline(), CLIGHT, constbl(), ddcov(), ecef2pos(), errmsg(), free, FREQ1, IB, II, ionmapf(), prcopt_t::ionoopt, IONOOPT_EST, IONOOPT_IFLC, IT, LLI_HALFC, mat(), prcopt_t::maxinno, MAXSAT, prcopt_t::mode, NF, rtk_t::nx, rtk_t::opt, PMODE_DGPS, PMODE_MOVEB, prectrop(), rtk_t::rb, ssat_t::rejc, ssat_t::resc, ssat_t::resp, SNR_UNIT, rtk_t::sol, SQR, rtk_t::ssat, prcopt_t::std, ssat_t::sys, test_sys(), sol_t::time, trace(), tracemat(), prcopt_t::tropopt, TROPOPT_EST, TROPOPT_ESTG, validobs(), varerr(), and ssat_t::vsat.

Referenced by relpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ detslp_code()

void detslp_code ( rtk_t * rtk,
const obsd_t * obs,
int i,
int rcv )
static

Definition at line 713 of file mrtk_rtkpos.c.

References obsd_t::code, code2obs(), CODE_NONE, ssat_t::codeprev, errmsg(), prcopt_t::nf, rtk_t::opt, obsd_t::sat, ssat_t::slip, and rtk_t::ssat.

Referenced by udbias().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ detslp_dop()

void detslp_dop ( rtk_t * rtk,
const obsd_t * obs,
const int * ix,
int ns,
int rcv,
const nav_t * nav )
static

Definition at line 819 of file mrtk_rtkpos.c.

References obsd_t::D, DTTOL, errmsg(), obsd_t::L, MAXSAT, MIN, prcopt_t::nf, rtk_t::opt, ssat_t::ph, ssat_t::pt, obsd_t::sat, ssat_t::slip, rtk_t::ssat, prcopt_t::thresdop, timediff(), and trace().

Referenced by udbias().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ detslp_gf()

void detslp_gf ( rtk_t * rtk,
const obsd_t * obs,
int i,
int j,
const nav_t * nav )
static

Definition at line 783 of file mrtk_rtkpos.c.

References errmsg(), ssat_t::gf, gfobs(), prcopt_t::nf, rtk_t::opt, obsd_t::sat, ssat_t::slip, rtk_t::ssat, prcopt_t::thresslip, and trace().

Referenced by udbias().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ detslp_ll()

void detslp_ll ( rtk_t * rtk,
const obsd_t * obs,
int i,
int rcv )
static

Definition at line 735 of file mrtk_rtkpos.c.

References DTTOL, errmsg(), getbitu(), ssat_t::half, obsd_t::LLI, prcopt_t::nf, rtk_t::opt, ssat_t::pt, obsd_t::sat, setbitu(), ssat_t::slip, rtk_t::ssat, timediff(), trace(), and rtk_t::tt.

Referenced by udbias().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ errmsg()

void errmsg ( rtk_t * rtk,
const char * format,
... )
static

Definition at line 382 of file mrtk_rtkpos.c.

References rtk_t::errbuf, MAXERRMSG, rtk_t::neb, rtk_t::sol, sol_t::time, time2str(), and trace().

Referenced by ddres(), detslp_code(), detslp_dop(), detslp_gf(), detslp_ll(), holdamb(), relpos(), resamb_LAMBDA(), rtkinit(), rtkpos(), rtksvrstart(), and valpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gfobs()

double gfobs ( const obsd_t * obs,
int i,
int j,
int k,
const nav_t * nav )
static

Definition at line 403 of file mrtk_rtkpos.c.

References CLIGHT, sat2freq(), and sdobs().

Referenced by detslp_gf().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ holdamb()

void holdamb ( rtk_t * rtk,
const double * xa )
static

Definition at line 1621 of file mrtk_rtkpos.c.

References ARMODE_FIXHOLD, ssat_t::azel, prcopt_t::elmaskhold, errmsg(), filter(), ssat_t::fix, free, rtk_t::holdamb, IB, mat(), MAXSAT, prcopt_t::minholdsats, prcopt_t::modear, rtk_t::na, NF, rtk_t::nx, rtk_t::opt, rtk_t::P, rtk_t::ssat, ssat_t::sys, test_sys(), trace(), VAR_HOLDAMB, rtk_t::x, and zeros().

Referenced by relpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initx()

void initx ( rtk_t * rtk,
double xi,
double var,
int i )
static

Definition at line 487 of file mrtk_rtkpos.c.

References rtk_t::nx, rtk_t::P, and rtk_t::x.

Referenced by udbias(), udion(), udpos(), udrcvbias(), and udtrop().

Here is the caller graph for this function:

◆ intpres()

double intpres ( gtime_t time,
const obsd_t * obs,
int n,
const nav_t * nav,
rtk_t * rtk,
double * y )
static

Definition at line 1475 of file mrtk_rtkpos.c.

References DTTOL, MAXOBS, prcopt_t::maxtdiff, NF, rtk_t::opt, rtk_t::rb, prcopt_t::sateph, satposs(), timediff(), trace(), and zdres().

Referenced by relpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ manage_amb_LAMBDA()

int manage_amb_LAMBDA ( rtk_t * rtk,
double * bias,
double * xa,
const int * sat,
int nf,
int ns )
static

Definition at line 1811 of file mrtk_rtkpos.c.

References prcopt_t::arfilter, ARMODE_OFF, ssat_t::azel, prcopt_t::elmin, rtk_t::excsat, ssat_t::fix, GLO_ARMODE_FIXHOLD, prcopt_t::glomodear, prcopt_t::gpsmodear, rtk_t::holdamb, ssat_t::lock, prcopt_t::mindropsats, prcopt_t::minlock, prcopt_t::mode, prcopt_t::modear, prcopt_t::navsys, rtk_t::nb_ar, rtk_t::nx, rtk_t::opt, rtk_t::P, PMODE_DGPS, sol_t::prev_ratio1, sol_t::prev_ratio2, sol_t::ratio, resamb_LAMBDA(), rtk_t::sol, rtk_t::ssat, SYS_GLO, SYS_SBS, sol_t::thres, prcopt_t::thresar, trace(), and ssat_t::vsat.

Referenced by relpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ miono_get_corr()

int miono_get_corr ( const double * rr,
nav_t * nav )
extern

Definition at line 174 of file mrtk_ppp_iono.c.

References pppiono_t::corr, pppiono_corr_t::dly, ecef2pos(), MAXSAT, miono_delay(), miono_sel_area(), miono_std_stecura(), nav_s::pppiono, R2D, miono_area_t::sat, miono_sat_t::sqi, pppiono_corr_t::std, miono_sat_t::t0, pppiono_corr_t::t0, gtime_t::time, and trace().

Referenced by rtkpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ outsolstat()

void outsolstat ( rtk_t * rtk)
static

Definition at line 338 of file mrtk_rtkpos.c.

References ssat_t::azel, ssat_t::fix, fp_stat, ssat_t::lock, MAXSAT, MAXSOLMSG, prcopt_t::mode, NF, rtk_t::opt, ssat_t::outc, PMODE_DGPS, R2D, ssat_t::rejc, ssat_t::resc, ssat_t::resp, rtkoutstat(), satno2id(), ssat_t::slip, ssat_t::slipc, ssat_t::snr, SNR_UNIT, rtk_t::sol, SOLQ_NONE, rtk_t::ssat, sol_t::stat, statlevel, swapsolstat(), sol_t::time, time2gpst(), trace(), ssat_t::vs, and ssat_t::vsat.

Referenced by rtkpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ prectrop()

double prectrop ( gtime_t time,
const double * pos,
int r,
const double * azel,
const prcopt_t * opt,
const double * x,
double * dtdx )
static

Definition at line 1223 of file mrtk_rtkpos.c.

References IT, tropmapf(), prcopt_t::tropopt, and TROPOPT_ESTG.

Referenced by ddres().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ relpos()

int relpos ( rtk_t * rtk,
const obsd_t * obs,
int nu,
int nr,
const nav_t * nav )
static

◆ resamb_LAMBDA()

int resamb_LAMBDA ( rtk_t * rtk,
double * bias,
double * xa,
int gps,
int glo,
int sbs )
static

Definition at line 1675 of file mrtk_rtkpos.c.

References ar_poly_coeffs, ddidx(), errmsg(), free, imat(), lambda(), mat(), matinv(), matmul(), prcopt_t::minfixsats, rtk_t::na, rtk_t::nb_ar, rtk_t::nx, rtk_t::opt, rtk_t::P, rtk_t::Pa, sol_t::ratio, restamb(), rtk_t::sol, sol_t::thres, prcopt_t::thresar, trace(), tracemat(), rtk_t::x, and rtk_t::xa.

Referenced by manage_amb_LAMBDA().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ restamb()

void restamb ( rtk_t * rtk,
const double * bias,
double * xa )
static

Definition at line 1588 of file mrtk_rtkpos.c.

References ssat_t::fix, IB, MAXSAT, rtk_t::na, NF, rtk_t::nx, rtk_t::opt, rtk_t::ssat, ssat_t::sys, test_sys(), trace(), rtk_t::x, and rtk_t::xa.

Referenced by resamb_LAMBDA().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rtkclosestat()

void rtkclosestat ( void )
extern

Close solution status file.

Definition at line 219 of file mrtk_rtkpos.c.

References file_stat, fp_stat, statlevel, and trace().

Referenced by closeses(), and execses().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rtkfree()

void rtkfree ( rtk_t * rtk)
extern

Free memory for RTK control struct.

Parameters
[in,out]rtkRTK control/result struct

Definition at line 2261 of file mrtk_rtkpos.c.

References free, rtk_t::na, rtk_t::nx, rtk_t::P, rtk_t::Pa, rtk_t::Q, trace(), rtk_t::x, and rtk_t::xa.

Referenced by procpos(), rtksvrfree(), and rtksvrstart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rtkinit()

void rtkinit ( rtk_t * rtk,
const prcopt_t * opt )
extern

Initialize RTK control struct.

Parameters
[in,out]rtkRTK control/result struct
[in]optPositioning options

Definition at line 2206 of file mrtk_rtkpos.c.

References rtk_t::ambc, prcopt_t::bds2prn, prcopt_t::bds3igso, rtk_t::errbuf, errmsg(), rtk_t::excsat, rtk_t::holdamb, MAXERRMSG, MAXSAT, prcopt_t::mode, rtk_t::na, rtk_t::nb_ar, rtk_t::neb, rtk_t::nfix, NR, NX, rtk_t::nx, rtk_t::opt, rtk_t::P, rtk_t::Pa, PMODE_FIXED, PMODE_PPP_RTK, PMODE_VRS_RTK, ppp_rtk_na(), ppp_rtk_nx(), pppnx(), rtk_t::prev_qr, rtk_t::Q, rtk_t::rb, set_bdsopt(), rtk_t::sol, rtk_t::ssat, sol_t::thres, prcopt_t::thresar, trace(), rtk_t::tt, rtk_t::x, rtk_t::xa, and zeros().

Referenced by procpos(), rtksvrinit(), and rtksvrstart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rtkopenstat()

int rtkopenstat ( const char * file,
int level )
extern

Open solution status file and set output level.

Parameters
[in]fileRTK status file path
[in]levelRTK status level (0: off)
Returns
Status (1: ok, 0: error)

Definition at line 193 of file mrtk_rtkpos.c.

References file_stat, fp_stat, reppath(), statlevel, time_stat, timeget(), trace(), and utc2gpst().

Referenced by execses().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rtkoutstat()

int rtkoutstat ( rtk_t * rtk,
char * buff )
extern

Write solution status to buffer.

Parameters
[in,out]rtkRTK control/result struct
[out]buffOutput buffer
Returns
Number of bytes written

Definition at line 230 of file mrtk_rtkpos.c.

References ssat_t::azel, sol_t::dtr, prcopt_t::dynamics, ecef2enu(), ecef2pos(), prcopt_t::glomodear, II, IL, prcopt_t::ionoopt, IONOOPT_EST, IT, MAXSAT, prcopt_t::mode, rtk_t::na, NF, rtk_t::opt, PMODE_DGPS, PMODE_PPP_KINEMA, pppoutstat(), R2D, sol_t::rr, satno2id(), rtk_t::sol, SOLQ_NONE, rtk_t::ssat, sol_t::stat, sol_t::time, time2gpst(), prcopt_t::tropopt, TROPOPT_EST, TROPOPT_ESTG, ssat_t::vs, rtk_t::x, and rtk_t::xa.

Referenced by outsolstat(), and writesol().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rtkpos()

int rtkpos ( mrtk_ctx_t * ctx,
rtk_t * rtk,
const obsd_t * obs,
int nobs,
nav_t * nav )
extern

Compute rover position by precise positioning.

Parameters
[in,out]rtkRTK control/result struct
[in]obsObservation data for an epoch
[in]nobsNumber of observation data
[in,out]navNavigation messages
Returns
Status (0: no solution, 1: valid solution)

Definition at line 2686 of file mrtk_rtkpos.c.

References sol_t::age, nav_s::clas_ctx, clas_ssr2osr(), prcopt_t::dynamics, prcopt_t::enhanced_spp_seed, EPHOPT_BRDC, prcopt_t::err, errmsg(), nav_s::filreset, prcopt_t::floatcnt, prcopt_t::l6mrg, MAXOBS, prcopt_t::maxtdiff, miono_get_corr(), prcopt_t::mode, sol_t::ns, rtk_t::opt, prcopt_t::outsingle, outsolstat(), PMODE_MOVEB, PMODE_PPP_KINEMA, PMODE_PPP_RTK, PMODE_SINGLE, PMODE_SSR2OSR, PMODE_SSR2OSR_FIXED, PMODE_VRS_RTK, pntpos(), POSOPT_RINEX, ppp_rtk_pos(), pppos(), prcopt_t::rb, rtk_t::rb, obsd_t::rcv, prcopt_t::refpos, prcopt_t::rejeminsat, prcopt_t::rejethres, relpos(), relposvrs(), prcopt_t::robust, prcopt_t::robustk, sol_t::rr, prcopt_t::sateph, SEEDENH_BASE, SEEDENH_ROBUST, rtk_t::sol, solb, SOLQ_FLOAT, SOLQ_NONE, SOLQ_PPP, rtk_t::ssat, sol_t::stat, prcopt_t::tdcp, prcopt_t::tdcpjump, prcopt_t::thresdop, gtime_t::time, obsd_t::time, sol_t::time, time_str(), timediff(), trace(), traceobs(), rtk_t::tt, TTOL_MOVEB, udbiass(), and rtk_t::x.

Referenced by procpos(), and rtksvrthread().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdobs()

double sdobs ( const obsd_t * obs,
int i,
int j,
int k )
static

Definition at line 397 of file mrtk_rtkpos.c.

References obsd_t::P.

Referenced by gfobs(), and udbias().

Here is the caller graph for this function:

◆ seliflc()

int seliflc ( int optnf,
int sys )
static

Definition at line 417 of file mrtk_rtkpos.c.

References SYS_GAL.

Referenced by udbias(), and zdres_sat().

Here is the caller graph for this function:

◆ selsat()

int selsat ( const obsd_t * obs,
double * azel,
int nu,
int nr,
const prcopt_t * opt,
int * sat,
int * iu,
int * ir )
static

Definition at line 495 of file mrtk_rtkpos.c.

References prcopt_t::elmin, obsd_t::sat, and trace().

Referenced by relpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ swapsolstat()

void swapsolstat ( void )
static

Definition at line 315 of file mrtk_rtkpos.c.

References file_stat, fp_stat, INT_SWAP_STAT, reppath(), time2gpst(), time_stat, timeget(), trace(), and utc2gpst().

Referenced by outsolstat().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_sys()

int test_sys ( int sys,
int m )
static

Definition at line 1246 of file mrtk_rtkpos.c.

References SYS_CMP, SYS_GAL, SYS_GLO, SYS_GPS, SYS_IRN, SYS_QZS, and SYS_SBS.

Referenced by ddres(), holdamb(), and restamb().

Here is the caller graph for this function:

◆ udbias()

void udbias ( rtk_t * rtk,
double tt,
const obsd_t * obs,
const int * sat,
const int * iu,
const int * ir,
int ns,
const nav_t * nav )
static

Definition at line 877 of file mrtk_rtkpos.c.

References ARMODE_INST, CLIGHT, detslp_code(), detslp_dop(), detslp_gf(), detslp_ll(), free, ssat_t::half, IB, initx(), prcopt_t::ionoopt, IONOOPT_IFLC, obsd_t::LLI, ssat_t::lock, prcopt_t::maxout, MAXSAT, prcopt_t::minlock, prcopt_t::modear, NF, prcopt_t::nf, rtk_t::nx, rtk_t::opt, ssat_t::outc, rtk_t::P, prcopt_t::prn, ssat_t::rejc, sat2freq(), sdobs(), seliflc(), ssat_t::slip, SQR, rtk_t::ssat, prcopt_t::std, ssat_t::sys, trace(), rtk_t::x, and zeros().

Referenced by udstate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udbiass()

void udbiass ( gtime_t gt,
prcopt_t * popt,
nav_t * nav )
static

Definition at line 2534 of file mrtk_rtkpos.c.

References nav_s::biapath, calloc, nav_s::fcbpath, free, osb_t::gt, prcopt_t::maxbiasdt, nav_s::pr_biapath, nav_s::pr_fcbpath, readbsnx(), readfcb(), reppath(), osb_t::rsatcb, osb_t::rsyscb, osb_t::scb, osb_t::spb, prcopt_t::staname, time_str(), timediff(), trace(), udfcb_sat(), udosb_sat(), udosb_station(), udsatcb(), udsatpb(), udstacb(), osb_t::vrsatcb, osb_t::vrsyscb, osb_t::vscb, and osb_t::vspb.

Referenced by rtkpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udion()

void udion ( rtk_t * rtk,
double tt,
double bl,
const int * sat,
int ns )
static

Definition at line 638 of file mrtk_rtkpos.c.

References ssat_t::azel, GAP_RESION, II, initx(), MAXSAT, rtk_t::nx, rtk_t::opt, ssat_t::outc, rtk_t::P, prcopt_t::prn, SQR, rtk_t::ssat, prcopt_t::std, trace(), and rtk_t::x.

Referenced by udstate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udpos()

void udpos ( rtk_t * rtk,
double tt )
static

Definition at line 515 of file mrtk_rtkpos.c.

References covecef(), prcopt_t::dynamics, ecef2pos(), eye(), free, imat(), initx(), mat(), matmul(), prcopt_t::mode, norm(), rtk_t::nx, rtk_t::opt, rtk_t::P, PMODE_FIXED, PMODE_STATIC, prcopt_t::prn, sol_t::rr, prcopt_t::ru, rtk_t::sol, SQR, trace(), VAR_ACC, VAR_POS, VAR_VEL, and rtk_t::x.

Referenced by udstate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udrcvbias()

void udrcvbias ( rtk_t * rtk,
double tt )
static

Definition at line 692 of file mrtk_rtkpos.c.

References IL, initx(), prcopt_t::minfix, rtk_t::na, rtk_t::nfix, NFREQGLO, rtk_t::nx, rtk_t::opt, rtk_t::P, rtk_t::Pa, PRN_HWBIAS, sol_t::ratio, rtk_t::sol, SQR, prcopt_t::thresar, trace(), VAR_HWBIAS, rtk_t::x, and rtk_t::xa.

Referenced by udstate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udsatcb()

void udsatcb ( gtime_t gt,
nav_t * nav,
osb_t * biaosb,
const prcopt_t * popt )
static

Definition at line 2278 of file mrtk_rtkpos.c.

References nav_s::cbias, ssr_t::cbias, CODE_L1C, CODE_L2C, CODE_NONE, osb_t::gt, MAXAGESSRL6, prcopt_t::maxbiasdt, MAXCODE, MAXSAT, mcssr_sel_biascode(), nav_s::osb, prcopt_t::pppsatcb, prcopt_t::rtcmopt, satsys(), osb_t::scb, nav_s::ssr_ch, SSR_VENDOR_L6, SSR_VENDOR_RTCM, ssr_t::t0, time_str(), timediff(), trace(), ssr_t::vendor, and osb_t::vscb.

Referenced by udbiass().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udsatpb()

void udsatpb ( gtime_t gt,
nav_t * nav,
osb_t * biaosb,
osb_t * fcbosb,
const prcopt_t * popt )
static

Definition at line 2374 of file mrtk_rtkpos.c.

References CODE_NONE, osb_t::gt, MAXAGESSRL6, prcopt_t::maxbiasdt, MAXCODE, MAXSAT, mcssr_sel_biascode(), nav_s::osb, ssr_t::pbias, prcopt_t::pppsatpb, prcopt_t::rtcmopt, satsys(), osb_t::spb, nav_s::ssr_ch, SSR_VENDOR_RTCM, ssr_t::t0, time_str(), timediff(), trace(), ssr_t::vendor, and osb_t::vspb.

Referenced by udbiass().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udstacb()

void udstacb ( gtime_t gt,
nav_t * nav,
osb_t * biaosb,
const prcopt_t * popt )
static

Definition at line 2483 of file mrtk_rtkpos.c.

References osb_t::gt, prcopt_t::maxbiasdt, MAXBSNXSYS, MAXCODE, MAXSAT, nav_s::osb, osb_t::rsatcb, osb_t::rsyscb, time_str(), timediff(), trace(), osb_t::vrsatcb, and osb_t::vrsyscb.

Referenced by udbiass().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udstate()

void udstate ( rtk_t * rtk,
const obsd_t * obs,
const int * sat,
const int * iu,
const int * ir,
int ns,
const nav_t * nav )
static

Definition at line 999 of file mrtk_rtkpos.c.

References baseline(), prcopt_t::glomodear, prcopt_t::ionoopt, IONOOPT_EST, prcopt_t::mode, prcopt_t::navsys, rtk_t::opt, PMODE_DGPS, rtk_t::rb, SYS_GLO, trace(), prcopt_t::tropopt, TROPOPT_EST, rtk_t::tt, udbias(), udion(), udpos(), udrcvbias(), udtrop(), and rtk_t::x.

Referenced by relpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ udtrop()

void udtrop ( rtk_t * rtk,
double tt,
double bl )
static

Definition at line 664 of file mrtk_rtkpos.c.

References INIT_ZWD, initx(), IT, rtk_t::nx, rtk_t::opt, rtk_t::P, prcopt_t::prn, SQR, prcopt_t::std, trace(), prcopt_t::tropopt, TROPOPT_ESTG, VAR_GRA, and rtk_t::x.

Referenced by udstate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ validobs()

int validobs ( int i,
int j,
int f,
int nf,
double * y )
static

Definition at line 1151 of file mrtk_rtkpos.c.

Referenced by ddres().

Here is the caller graph for this function:

◆ valpos()

int valpos ( rtk_t * rtk,
const double * v,
const double * R,
const int * vflg,
int nv,
double thres )
static

Definition at line 1935 of file mrtk_rtkpos.c.

References errmsg(), SQRT, and trace().

Referenced by relpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ varerr()

double varerr ( int sat,
int sys,
double el,
double snr_rover,
double snr_base,
double bl,
double dt,
int f,
const prcopt_t * opt )
static

Definition at line 418 of file mrtk_rtkpos.c.

References CLIGHT, EFACT_CMP, EFACT_GAL, EFACT_GLO, EFACT_GPS, EFACT_IRN, EFACT_QZS, EFACT_SBS, prcopt_t::eratio, prcopt_t::err, prcopt_t::ionoopt, IONOOPT_IFLC, NF, prcopt_t::sclkstab, SQR, SYS_CMP, SYS_GAL, SYS_GLO, SYS_GPS, SYS_IRN, SYS_QZS, and SYS_SBS.

Referenced by ddres().

Here is the caller graph for this function:

◆ zdres()

int zdres ( int base,
const obsd_t * obs,
int n,
const double * rs,
const double * dts,
const double * var,
const int * svh,
const nav_t * nav,
const double * rr,
const prcopt_t * opt,
int index,
double * y,
double * e,
double * azel,
double * freq )
static

Definition at line 1077 of file mrtk_rtkpos.c.

References prcopt_t::antdel, antmodel(), CLIGHT, D2R, ecef2pos(), prcopt_t::elmaskopt, prcopt_t::elmin, nav_s::erp, geodist(), gpst2utc(), NF, NFREQPCV, norm(), prcopt_t::odisp, prcopt_t::pcvr, prcopt_t::posopt, R2D, satazel(), satexclude(), testelmask(), prcopt_t::tidecorr, tidedisp(), trace(), tracemat(), tropmapf(), tropmodel(), and zdres_sat().

Referenced by intpres(), and relpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ zdres_sat()

void zdres_sat ( int base,
double r,
const obsd_t * obs,
const nav_t * nav,
const double * azel,
const double * dant,
const prcopt_t * opt,
double * y,
double * freq )
static

Definition at line 1027 of file mrtk_rtkpos.c.

References CLIGHT, obsd_t::code, prcopt_t::ionoopt, IONOOPT_IFLC, obsd_t::L, NF, obsd_t::P, obsd_t::sat, sat2freq(), satsys(), seliflc(), obsd_t::SNR, SNR_UNIT, prcopt_t::snrmask, SQR, and testsnr().

Referenced by zdres().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ ar_poly_coeffs

const double ar_poly_coeffs[3][5]
static
Initial value:
= {
{-1.94058448e-01, -7.79023476e+00, 1.24231120e+02, -4.03126050e+02, 3.50413202e+02},
{6.42237302e-01, -8.39813962e+00, 2.92107285e+01, -2.37577308e+01, -1.14307128e+00},
{-2.22600390e-02, 3.23169103e-01, -1.39837429e+00, 2.19282996e+00, -5.34583971e-02}}

Definition at line 113 of file mrtk_rtkpos.c.

Referenced by resamb_LAMBDA().

◆ file_stat

char file_stat[1024] = ""
static

Definition at line 121 of file mrtk_rtkpos.c.

Referenced by rtkclosestat(), rtkopenstat(), and swapsolstat().

◆ fp_stat

FILE* fp_stat = NULL
static

Definition at line 120 of file mrtk_rtkpos.c.

◆ statlevel

int statlevel = 0
static

Definition at line 119 of file mrtk_rtkpos.c.

Referenced by outsolstat(), rtkclosestat(), and rtkopenstat().

◆ time_stat

gtime_t time_stat = {0}
static

Definition at line 122 of file mrtk_rtkpos.c.

Referenced by rtkopenstat(), and swapsolstat().