MRTKLIB 0.7.14
Modernized GNSS Positioning Library
Loading...
Searching...
No Matches
mrtk_rcv_novatel.c File Reference
#include <ctype.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "mrtklib/mrtk_bits.h"
#include "mrtklib/mrtk_eph.h"
#include "mrtklib/mrtk_mat.h"
#include "mrtklib/mrtk_nav.h"
#include "mrtklib/mrtk_obs.h"
#include "mrtklib/mrtk_rcvraw.h"
#include "mrtklib/mrtk_rtcm.h"
#include "mrtklib/mrtk_sys.h"
#include "mrtklib/mrtk_time.h"
#include "mrtklib/mrtk_trace.h"
Include dependency graph for mrtk_rcv_novatel.c:

Go to the source code of this file.

Macros

#define PI   3.1415926535897932 /* pi */
#define D2R   (PI / 180.0) /* deg to rad */
#define R2D   (180.0 / PI) /* rad to deg */
#define CLIGHT   299792458.0 /* speed of light (m/s) */
#define SC2RAD   3.1415926535898 /* semi-circle to radian (IS-GPS) */
#define SYS_NONE   0x00
#define SYS_GPS   0x01
#define SYS_SBS   0x02
#define SYS_GLO   0x04
#define SYS_GAL   0x08
#define SYS_QZS   0x10
#define SYS_CMP   0x20
#define SYS_IRN   0x40
#define TSYS_GPS   0
#define TSYS_UTC   1
#define TSYS_GLO   2
#define TSYS_GAL   3
#define TSYS_QZS   4
#define TSYS_CMP   5
#define TSYS_IRN   6
#define FREQ1   1.57542E9 /* L1/E1/B1C frequency (Hz) */
#define FREQ2   1.22760E9 /* L2 frequency (Hz) */
#define FREQ5   1.17645E9 /* L5/E5a/B2a frequency (Hz) */
#define FREQ6   1.27875E9 /* E6/L6 frequency (Hz) */
#define FREQ7   1.20714E9 /* E5b/B2I frequency (Hz) */
#define FREQ8   1.191795E9 /* E5ab/B2ab frequency (Hz) */
#define FREQ9   2.492028E9 /* S frequency (Hz) */
#define FREQ1_GLO   1.60200E9 /* GLONASS G1 base frequency (Hz) */
#define DFRQ1_GLO   0.56250E6 /* GLONASS G1 bias frequency (Hz/n) */
#define FREQ2_GLO   1.24600E9 /* GLONASS G2 base frequency (Hz) */
#define DFRQ2_GLO   0.43750E6 /* GLONASS G2 bias frequency (Hz/n) */
#define FREQ3_GLO   1.202025E9 /* GLONASS G3 frequency (Hz) */
#define FREQ1a_GLO   1.600995E9 /* GLONASS G1a frequency (Hz) */
#define FREQ2a_GLO   1.248060E9 /* GLONASS G2a frequency (Hz) */
#define FREQ1_CMP   1.561098E9 /* BDS B1I frequency (Hz) */
#define MINPRNGPS   1
#define MAXPRNGPS   32
#define MINPRNSBS   120
#define MAXPRNSBS   158
#define LLI_SLIP   0x01 /* LLI: cycle-slip */
#define LLI_HALFC   0x02 /* LLI: half-cycle not resolved */
#define LLI_BOCTRK   0x04 /* LLI: boc tracking of mboc signal */
#define LLI_HALFA   0x40 /* LLI: half-cycle added */
#define LLI_HALFS   0x80 /* LLI: half-cycle subtracted */
#define P2_5   0.03125
#define P2_6   0.015625
#define P2_11   4.882812500000000E-04
#define P2_15   3.051757812500000E-05
#define P2_17   7.629394531250000E-06
#define P2_19   1.907348632812500E-06
#define P2_20   9.536743164062500E-07
#define P2_21   4.768371582031250E-07
#define P2_23   1.192092895507810E-07
#define P2_24   5.960464477539063E-08
#define P2_27   7.450580596923828E-09
#define P2_29   1.862645149230957E-09
#define P2_30   9.313225746154785E-10
#define P2_31   4.656612873077393E-10
#define P2_32   2.328306436538696E-10
#define P2_33   1.164153218269348E-10
#define P2_34   5.820766091346740E-11
#define P2_35   2.910383045673370E-11
#define P2_38   3.637978807091710E-12
#define P2_40   9.094947017729280E-13
#define P2_43   1.136868377216160E-13
#define P2_46   1.421085471520200E-14
#define P2_50   8.881784197001252E-16
#define P2_55   2.775557561562891E-17
#define P2_59   1.734723475976810E-18
#define OEM4SYNC1   0xAA /* oem7/6/4 message start sync code 1 */
#define OEM4SYNC2   0x44 /* oem7/6/4 message start sync code 2 */
#define OEM4SYNC3   0x12 /* oem7/6/4 message start sync code 3 */
#define OEM3SYNC1   0xAA /* oem3 message start sync code 1 */
#define OEM3SYNC2   0x44 /* oem3 message start sync code 2 */
#define OEM3SYNC3   0x11 /* oem3 message start sync code 3 */
#define OEM4HLEN   28 /* oem7/6/4 message header length (bytes) */
#define OEM3HLEN   12 /* oem3 message header length (bytes) */
#define ID_RANGECMP   140 /* oem7/6/4 range compressed */
#define ID_RANGE   43 /* oem7/6/4 range measurement */
#define ID_RAWEPHEM   41 /* oem7/6/4 raw ephemeris */
#define ID_IONUTC   8 /* oem7/6/4 iono and utc data */
#define ID_RAWWAASFRAME   287 /* oem7/6/4 raw waas frame */
#define ID_RAWSBASFRAME   973 /* oem7/6 raw sbas frame */
#define ID_GPSEPHEM   7 /* oem7/6/4 decoded gps ephemeris */
#define ID_GLOEPHEMERIS   723 /* oem7/6/4 glonass ephemeris */
#define ID_GALEPHEMERIS   1122 /* oem7/6 decoded galileo ephemeris */
#define ID_GALINAVEPHEMERIS   1309 /* oem7/6 decoded galileo inav ephemeris */
#define ID_GALIONO   1127 /* oem7/6 decoded galileo iono corrections */
#define ID_GALCLOCK   1121 /* oem7/6 galileo clock information */
#define ID_QZSSRAWEPHEM   1331 /* oem7/6 qzss raw ephemeris */
#define ID_QZSSRAWSUBFRAME   1330 /* oem7/6 qzss raw subframe */
#define ID_QZSSEPHEMERIS   1336 /* oem7/6 decoded qzss ephemeris */
#define ID_QZSSIONUTC   1347 /* oem7/6 qzss ion/utc parameters */
#define ID_BDSEPHEMERIS   1696 /* oem7/6 decoded bds ephemeris */
#define ID_NAVICEPHEMERIS   2123 /* oem7 decoded navic ephemeris */
#define ID_ALMB   18 /* oem3 decoded almanac */
#define ID_IONB   16 /* oem3 iono parameters */
#define ID_UTCB   17 /* oem3 utc parameters */
#define ID_FRMB   54 /* oem3 framed raw navigation data */
#define ID_RALB   15 /* oem3 raw almanac */
#define ID_RASB   66 /* oem3 raw almanac set */
#define ID_REPB   14 /* oem3 raw ephemeris */
#define ID_RGEB   32 /* oem3 range measurement */
#define ID_RGED   65 /* oem3 range compressed */
#define WL1   0.1902936727984
#define WL2   0.2442102134246
#define MAXVAL   8388608.0
#define OFF_FRQNO   -7 /* F/W ver.3.620 */
#define SQR(x)
#define U1(p)
#define I1(p)

Functions

static uint16_t U2 (uint8_t *p)
static uint32_t U4 (uint8_t *p)
static int32_t I4 (uint8_t *p)
static float R4 (uint8_t *p)
static double R8 (uint8_t *p)
static int32_t exsign (uint32_t v, int bits)
static uint8_t chksum (const uint8_t *buff, int len)
static gtime_t adjweek (gtime_t time, double tow)
static void adj_utcweek (gtime_t time, double *utc)
static int obsindex (obs_t *obs, gtime_t time, int sat)
static int uraindex (double value)
static int sig2code (int sys, int sigtype)
static int decode_track_stat (uint32_t stat, int *sys, int *code, int *track, int *plock, int *clock, int *parity, int *halfc)
static int checkpri (const char *opt, int sys, int code, int idx)
static int decode_rangecmpb (raw_t *raw)
static int decode_rangeb (raw_t *raw)
static int decode_rawephemb (raw_t *raw)
static int decode_ionutcb (raw_t *raw)
static int decode_rawwaasframeb (raw_t *raw)
static int decode_rawsbasframeb (raw_t *raw)
static int decode_gpsephemb (raw_t *raw)
static int decode_gloephemerisb (raw_t *raw)
static int decode_qzssrawephemb (raw_t *raw)
static int decode_qzssrawsubframeb (raw_t *raw)
static int decode_qzssephemerisb (raw_t *raw)
static int decode_qzssionutcb (raw_t *raw)
static int decode_galephemerisb (raw_t *raw)
static int decode_galinavephemerisb (raw_t *raw)
static int decode_galclockb (raw_t *raw)
static int decode_galionob (raw_t *raw)
static int decode_bdsephemerisb (raw_t *raw)
static int decode_navicephemerisb (raw_t *raw)
static int decode_rgeb (raw_t *raw)
static int decode_rged (raw_t *raw)
static int decode_repb (raw_t *raw)
static int decode_frmb (raw_t *raw)
static int decode_ionb (raw_t *raw)
static int decode_utcb (raw_t *raw)
static int decode_oem4 (raw_t *raw)
static int decode_oem3 (raw_t *raw)
static int sync_oem4 (uint8_t *buff, uint8_t data)
static int sync_oem3 (uint8_t *buff, uint8_t data)
int input_oem4 (raw_t *raw, uint8_t data)
int input_oem3 (raw_t *raw, uint8_t data)
int input_oem4f (raw_t *raw, FILE *fp)
int input_oem3f (raw_t *raw, FILE *fp)

Macro Definition Documentation

◆ CLIGHT

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

Definition at line 37 of file mrtk_rcv_novatel.c.

◆ D2R

#define D2R   (PI / 180.0) /* deg to rad */

Definition at line 35 of file mrtk_rcv_novatel.c.

◆ DFRQ1_GLO

#define DFRQ1_GLO   0.56250E6 /* GLONASS G1 bias frequency (Hz/n) */

Definition at line 65 of file mrtk_rcv_novatel.c.

◆ DFRQ2_GLO

#define DFRQ2_GLO   0.43750E6 /* GLONASS G2 bias frequency (Hz/n) */

Definition at line 67 of file mrtk_rcv_novatel.c.

◆ FREQ1

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

Definition at line 57 of file mrtk_rcv_novatel.c.

◆ FREQ1_CMP

#define FREQ1_CMP   1.561098E9 /* BDS B1I frequency (Hz) */

Definition at line 71 of file mrtk_rcv_novatel.c.

◆ FREQ1_GLO

#define FREQ1_GLO   1.60200E9 /* GLONASS G1 base frequency (Hz) */

Definition at line 64 of file mrtk_rcv_novatel.c.

◆ FREQ1a_GLO

#define FREQ1a_GLO   1.600995E9 /* GLONASS G1a frequency (Hz) */

Definition at line 69 of file mrtk_rcv_novatel.c.

◆ FREQ2

#define FREQ2   1.22760E9 /* L2 frequency (Hz) */

Definition at line 58 of file mrtk_rcv_novatel.c.

◆ FREQ2_GLO

#define FREQ2_GLO   1.24600E9 /* GLONASS G2 base frequency (Hz) */

Definition at line 66 of file mrtk_rcv_novatel.c.

◆ FREQ2a_GLO

#define FREQ2a_GLO   1.248060E9 /* GLONASS G2a frequency (Hz) */

Definition at line 70 of file mrtk_rcv_novatel.c.

◆ FREQ3_GLO

#define FREQ3_GLO   1.202025E9 /* GLONASS G3 frequency (Hz) */

Definition at line 68 of file mrtk_rcv_novatel.c.

◆ FREQ5

#define FREQ5   1.17645E9 /* L5/E5a/B2a frequency (Hz) */

Definition at line 59 of file mrtk_rcv_novatel.c.

◆ FREQ6

#define FREQ6   1.27875E9 /* E6/L6 frequency (Hz) */

Definition at line 60 of file mrtk_rcv_novatel.c.

◆ FREQ7

#define FREQ7   1.20714E9 /* E5b/B2I frequency (Hz) */

Definition at line 61 of file mrtk_rcv_novatel.c.

◆ FREQ8

#define FREQ8   1.191795E9 /* E5ab/B2ab frequency (Hz) */

Definition at line 62 of file mrtk_rcv_novatel.c.

◆ FREQ9

#define FREQ9   2.492028E9 /* S frequency (Hz) */

Definition at line 63 of file mrtk_rcv_novatel.c.

◆ I1

#define I1 ( p)
Value:
(*((int8_t*)(p)))

Definition at line 161 of file mrtk_rcv_novatel.c.

◆ ID_ALMB

#define ID_ALMB   18 /* oem3 decoded almanac */

Definition at line 142 of file mrtk_rcv_novatel.c.

◆ ID_BDSEPHEMERIS

#define ID_BDSEPHEMERIS   1696 /* oem7/6 decoded bds ephemeris */

Definition at line 139 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_FRMB

#define ID_FRMB   54 /* oem3 framed raw navigation data */

Definition at line 145 of file mrtk_rcv_novatel.c.

Referenced by decode_oem3().

◆ ID_GALCLOCK

#define ID_GALCLOCK   1121 /* oem7/6 galileo clock information */

Definition at line 134 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_GALEPHEMERIS

#define ID_GALEPHEMERIS   1122 /* oem7/6 decoded galileo ephemeris */

Definition at line 131 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_GALINAVEPHEMERIS

#define ID_GALINAVEPHEMERIS   1309 /* oem7/6 decoded galileo inav ephemeris */

Definition at line 132 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_GALIONO

#define ID_GALIONO   1127 /* oem7/6 decoded galileo iono corrections */

Definition at line 133 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_GLOEPHEMERIS

#define ID_GLOEPHEMERIS   723 /* oem7/6/4 glonass ephemeris */

Definition at line 130 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_GPSEPHEM

#define ID_GPSEPHEM   7 /* oem7/6/4 decoded gps ephemeris */

Definition at line 129 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_IONB

#define ID_IONB   16 /* oem3 iono parameters */

Definition at line 143 of file mrtk_rcv_novatel.c.

Referenced by decode_oem3().

◆ ID_IONUTC

#define ID_IONUTC   8 /* oem7/6/4 iono and utc data */

Definition at line 126 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_NAVICEPHEMERIS

#define ID_NAVICEPHEMERIS   2123 /* oem7 decoded navic ephemeris */

Definition at line 140 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_QZSSEPHEMERIS

#define ID_QZSSEPHEMERIS   1336 /* oem7/6 decoded qzss ephemeris */

Definition at line 137 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_QZSSIONUTC

#define ID_QZSSIONUTC   1347 /* oem7/6 qzss ion/utc parameters */

Definition at line 138 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_QZSSRAWEPHEM

#define ID_QZSSRAWEPHEM   1331 /* oem7/6 qzss raw ephemeris */

Definition at line 135 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_QZSSRAWSUBFRAME

#define ID_QZSSRAWSUBFRAME   1330 /* oem7/6 qzss raw subframe */

Definition at line 136 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_RALB

#define ID_RALB   15 /* oem3 raw almanac */

Definition at line 146 of file mrtk_rcv_novatel.c.

◆ ID_RANGE

#define ID_RANGE   43 /* oem7/6/4 range measurement */

Definition at line 124 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_RANGECMP

#define ID_RANGECMP   140 /* oem7/6/4 range compressed */

Definition at line 123 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_RASB

#define ID_RASB   66 /* oem3 raw almanac set */

Definition at line 147 of file mrtk_rcv_novatel.c.

◆ ID_RAWEPHEM

#define ID_RAWEPHEM   41 /* oem7/6/4 raw ephemeris */

Definition at line 125 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_RAWSBASFRAME

#define ID_RAWSBASFRAME   973 /* oem7/6 raw sbas frame */

Definition at line 128 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_RAWWAASFRAME

#define ID_RAWWAASFRAME   287 /* oem7/6/4 raw waas frame */

Definition at line 127 of file mrtk_rcv_novatel.c.

Referenced by decode_oem4().

◆ ID_REPB

#define ID_REPB   14 /* oem3 raw ephemeris */

Definition at line 148 of file mrtk_rcv_novatel.c.

Referenced by decode_oem3().

◆ ID_RGEB

#define ID_RGEB   32 /* oem3 range measurement */

Definition at line 149 of file mrtk_rcv_novatel.c.

Referenced by decode_oem3().

◆ ID_RGED

#define ID_RGED   65 /* oem3 range compressed */

Definition at line 150 of file mrtk_rcv_novatel.c.

Referenced by decode_oem3().

◆ ID_UTCB

#define ID_UTCB   17 /* oem3 utc parameters */

Definition at line 144 of file mrtk_rcv_novatel.c.

Referenced by decode_oem3().

◆ LLI_BOCTRK

#define LLI_BOCTRK   0x04 /* LLI: boc tracking of mboc signal */

Definition at line 80 of file mrtk_rcv_novatel.c.

◆ LLI_HALFA

#define LLI_HALFA   0x40 /* LLI: half-cycle added */

Definition at line 81 of file mrtk_rcv_novatel.c.

◆ LLI_HALFC

#define LLI_HALFC   0x02 /* LLI: half-cycle not resolved */

Definition at line 79 of file mrtk_rcv_novatel.c.

◆ LLI_HALFS

#define LLI_HALFS   0x80 /* LLI: half-cycle subtracted */

Definition at line 82 of file mrtk_rcv_novatel.c.

◆ LLI_SLIP

#define LLI_SLIP   0x01 /* LLI: cycle-slip */

Definition at line 78 of file mrtk_rcv_novatel.c.

◆ MAXPRNGPS

#define MAXPRNGPS   32

Definition at line 74 of file mrtk_rcv_novatel.c.

◆ MAXPRNSBS

#define MAXPRNSBS   158

Definition at line 76 of file mrtk_rcv_novatel.c.

◆ MAXVAL

#define MAXVAL   8388608.0

Definition at line 154 of file mrtk_rcv_novatel.c.

Referenced by decode_rangecmpb(), and decode_rged().

◆ MINPRNGPS

#define MINPRNGPS   1

Definition at line 73 of file mrtk_rcv_novatel.c.

◆ MINPRNSBS

#define MINPRNSBS   120

Definition at line 75 of file mrtk_rcv_novatel.c.

◆ OEM3HLEN

#define OEM3HLEN   12 /* oem3 message header length (bytes) */

◆ OEM3SYNC1

#define OEM3SYNC1   0xAA /* oem3 message start sync code 1 */

Definition at line 116 of file mrtk_rcv_novatel.c.

Referenced by sync_oem3().

◆ OEM3SYNC2

#define OEM3SYNC2   0x44 /* oem3 message start sync code 2 */

Definition at line 117 of file mrtk_rcv_novatel.c.

Referenced by sync_oem3().

◆ OEM3SYNC3

#define OEM3SYNC3   0x11 /* oem3 message start sync code 3 */

Definition at line 118 of file mrtk_rcv_novatel.c.

Referenced by sync_oem3().

◆ OEM4HLEN

◆ OEM4SYNC1

#define OEM4SYNC1   0xAA /* oem7/6/4 message start sync code 1 */

Definition at line 113 of file mrtk_rcv_novatel.c.

Referenced by sync_oem4().

◆ OEM4SYNC2

#define OEM4SYNC2   0x44 /* oem7/6/4 message start sync code 2 */

Definition at line 114 of file mrtk_rcv_novatel.c.

Referenced by sync_oem4().

◆ OEM4SYNC3

#define OEM4SYNC3   0x12 /* oem7/6/4 message start sync code 3 */

Definition at line 115 of file mrtk_rcv_novatel.c.

Referenced by sync_oem4().

◆ OFF_FRQNO

#define OFF_FRQNO   -7 /* F/W ver.3.620 */

Definition at line 155 of file mrtk_rcv_novatel.c.

Referenced by decode_gloephemerisb().

◆ P2_11

#define P2_11   4.882812500000000E-04

Definition at line 87 of file mrtk_rcv_novatel.c.

◆ P2_15

#define P2_15   3.051757812500000E-05

Definition at line 88 of file mrtk_rcv_novatel.c.

◆ P2_17

#define P2_17   7.629394531250000E-06

Definition at line 89 of file mrtk_rcv_novatel.c.

◆ P2_19

#define P2_19   1.907348632812500E-06

Definition at line 90 of file mrtk_rcv_novatel.c.

◆ P2_20

#define P2_20   9.536743164062500E-07

Definition at line 91 of file mrtk_rcv_novatel.c.

◆ P2_21

#define P2_21   4.768371582031250E-07

Definition at line 92 of file mrtk_rcv_novatel.c.

◆ P2_23

#define P2_23   1.192092895507810E-07

Definition at line 93 of file mrtk_rcv_novatel.c.

◆ P2_24

#define P2_24   5.960464477539063E-08

Definition at line 94 of file mrtk_rcv_novatel.c.

◆ P2_27

#define P2_27   7.450580596923828E-09

Definition at line 95 of file mrtk_rcv_novatel.c.

◆ P2_29

#define P2_29   1.862645149230957E-09

Definition at line 96 of file mrtk_rcv_novatel.c.

◆ P2_30

#define P2_30   9.313225746154785E-10

Definition at line 97 of file mrtk_rcv_novatel.c.

◆ P2_31

#define P2_31   4.656612873077393E-10

Definition at line 98 of file mrtk_rcv_novatel.c.

◆ P2_32

#define P2_32   2.328306436538696E-10

Definition at line 99 of file mrtk_rcv_novatel.c.

◆ P2_33

#define P2_33   1.164153218269348E-10

Definition at line 100 of file mrtk_rcv_novatel.c.

◆ P2_34

#define P2_34   5.820766091346740E-11

Definition at line 101 of file mrtk_rcv_novatel.c.

◆ P2_35

#define P2_35   2.910383045673370E-11

Definition at line 102 of file mrtk_rcv_novatel.c.

◆ P2_38

#define P2_38   3.637978807091710E-12

Definition at line 103 of file mrtk_rcv_novatel.c.

◆ P2_40

#define P2_40   9.094947017729280E-13

Definition at line 104 of file mrtk_rcv_novatel.c.

◆ P2_43

#define P2_43   1.136868377216160E-13

Definition at line 105 of file mrtk_rcv_novatel.c.

◆ P2_46

#define P2_46   1.421085471520200E-14

Definition at line 106 of file mrtk_rcv_novatel.c.

◆ P2_5

#define P2_5   0.03125

Definition at line 85 of file mrtk_rcv_novatel.c.

◆ P2_50

#define P2_50   8.881784197001252E-16

Definition at line 107 of file mrtk_rcv_novatel.c.

◆ P2_55

#define P2_55   2.775557561562891E-17

Definition at line 108 of file mrtk_rcv_novatel.c.

◆ P2_59

#define P2_59   1.734723475976810E-18

Definition at line 109 of file mrtk_rcv_novatel.c.

◆ P2_6

#define P2_6   0.015625

Definition at line 86 of file mrtk_rcv_novatel.c.

◆ PI

#define PI   3.1415926535897932 /* pi */

Definition at line 34 of file mrtk_rcv_novatel.c.

◆ R2D

#define R2D   (180.0 / PI) /* rad to deg */

Definition at line 36 of file mrtk_rcv_novatel.c.

◆ SC2RAD

#define SC2RAD   3.1415926535898 /* semi-circle to radian (IS-GPS) */

Definition at line 38 of file mrtk_rcv_novatel.c.

◆ SQR

#define SQR ( x)

◆ SYS_CMP

#define SYS_CMP   0x20

Definition at line 46 of file mrtk_rcv_novatel.c.

◆ SYS_GAL

#define SYS_GAL   0x08

Definition at line 44 of file mrtk_rcv_novatel.c.

◆ SYS_GLO

#define SYS_GLO   0x04

Definition at line 43 of file mrtk_rcv_novatel.c.

◆ SYS_GPS

#define SYS_GPS   0x01

Definition at line 41 of file mrtk_rcv_novatel.c.

◆ SYS_IRN

#define SYS_IRN   0x40

Definition at line 47 of file mrtk_rcv_novatel.c.

◆ SYS_NONE

#define SYS_NONE   0x00

Definition at line 40 of file mrtk_rcv_novatel.c.

◆ SYS_QZS

#define SYS_QZS   0x10

Definition at line 45 of file mrtk_rcv_novatel.c.

◆ SYS_SBS

#define SYS_SBS   0x02

Definition at line 42 of file mrtk_rcv_novatel.c.

◆ TSYS_CMP

#define TSYS_CMP   5

Definition at line 54 of file mrtk_rcv_novatel.c.

◆ TSYS_GAL

#define TSYS_GAL   3

Definition at line 52 of file mrtk_rcv_novatel.c.

◆ TSYS_GLO

#define TSYS_GLO   2

Definition at line 51 of file mrtk_rcv_novatel.c.

◆ TSYS_GPS

#define TSYS_GPS   0

Definition at line 49 of file mrtk_rcv_novatel.c.

◆ TSYS_IRN

#define TSYS_IRN   6

Definition at line 55 of file mrtk_rcv_novatel.c.

◆ TSYS_QZS

#define TSYS_QZS   4

Definition at line 53 of file mrtk_rcv_novatel.c.

◆ TSYS_UTC

#define TSYS_UTC   1

Definition at line 50 of file mrtk_rcv_novatel.c.

◆ U1

◆ WL1

#define WL1   0.1902936727984

Definition at line 152 of file mrtk_rcv_novatel.c.

Referenced by decode_rged().

◆ WL2

#define WL2   0.2442102134246

Definition at line 153 of file mrtk_rcv_novatel.c.

Referenced by decode_rged().

Function Documentation

◆ adj_utcweek()

void adj_utcweek ( gtime_t time,
double * utc )
static

Definition at line 212 of file mrtk_rcv_novatel.c.

References time2gpst().

Referenced by decode_qzssrawsubframeb().

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

◆ adjweek()

gtime_t adjweek ( gtime_t time,
double tow )
static

Definition at line 200 of file mrtk_rcv_novatel.c.

References gpst2time(), and time2gpst().

Referenced by decode_galephemerisb(), and decode_galinavephemerisb().

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

◆ checkpri()

int checkpri ( const char * opt,
int sys,
int code,
int idx )
static

Definition at line 432 of file mrtk_rcv_novatel.c.

References CODE_L1L, CODE_L1P, CODE_L1Z, CODE_L2C, CODE_L2P, CODE_L2S, CODE_L2X, CODE_L6B, CODE_L7D, SYS_CMP, SYS_GAL, SYS_GLO, SYS_GPS, and SYS_QZS.

Referenced by decode_rangeb(), and decode_rangecmpb().

Here is the caller graph for this function:

◆ chksum()

uint8_t chksum ( const uint8_t * buff,
int len )
static

Definition at line 191 of file mrtk_rcv_novatel.c.

Referenced by decode_oem3().

Here is the caller graph for this function:

◆ decode_bdsephemerisb()

int decode_bdsephemerisb ( raw_t * raw)
static

Definition at line 1489 of file mrtk_rcv_novatel.c.

References eph_t::A, bdt2gpst(), bdt2time(), raw_t::buff, eph_t::cic, eph_t::cis, eph_t::crc, eph_t::crs, eph_t::cuc, eph_t::cus, eph_t::deln, eph_t::e, nav_s::eph, raw_t::ephsat, raw_t::ephset, eph_t::f0, eph_t::f1, eph_t::f2, eph_t::i0, eph_t::idot, eph_t::iodc, eph_t::iode, raw_t::len, eph_t::M0, raw_t::msgtype, raw_t::nav, OEM4HLEN, eph_t::omg, eph_t::OMG0, eph_t::OMGd, raw_t::opt, raw_t::outtype, R8, eph_t::sat, satno(), SQR, eph_t::sva, eph_t::svh, SYS_CMP, eph_t::tgd, raw_t::time, timediff(), eph_t::toc, eph_t::toe, eph_t::toes, trace(), eph_t::ttr, eph_t::type, U4, uraindex(), and eph_t::week.

Referenced by decode_oem4().

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

◆ decode_frmb()

int decode_frmb ( raw_t * raw)
static

Definition at line 1840 of file mrtk_rcv_novatel.c.

References adjgpsweek(), raw_t::buff, gpst2time(), raw_t::len, MAXPRNSBS, MINPRNSBS, sbsmsg_t::msg, OEM3HLEN, sbsmsg_t::prn, R8, raw_t::sbsmsg, raw_t::time, sbsmsg_t::tow, trace(), U4, and sbsmsg_t::week.

Referenced by decode_oem3().

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

◆ decode_galclockb()

int decode_galclockb ( raw_t * raw)
static

Definition at line 1415 of file mrtk_rcv_novatel.c.

References raw_t::buff, I4, raw_t::len, raw_t::nav, OEM4HLEN, R8, trace(), U4, and nav_s::utc_gal.

Referenced by decode_oem4().

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

◆ decode_galephemerisb()

int decode_galephemerisb ( raw_t * raw)
static

Definition at line 1159 of file mrtk_rcv_novatel.c.

References eph_t::A, adjweek(), raw_t::buff, eph_t::cic, eph_t::cis, eph_t::code, eph_t::crc, eph_t::crs, eph_t::cuc, eph_t::cus, eph_t::deln, eph_t::e, nav_s::eph, raw_t::ephsat, raw_t::ephset, eph_t::f0, eph_t::f1, eph_t::f2, gpst2time(), eph_t::i0, eph_t::idot, eph_t::iodc, eph_t::iode, raw_t::len, eph_t::M0, MAXSAT, raw_t::msgtype, raw_t::nav, OEM4HLEN, eph_t::omg, eph_t::OMG0, eph_t::OMGd, raw_t::opt, raw_t::outtype, R8, eph_t::sat, satno(), SQR, eph_t::sva, eph_t::svh, SYS_GAL, eph_t::tgd, raw_t::time, time2gpst(), timediff(), eph_t::toc, eph_t::toe, eph_t::toes, trace(), eph_t::ttr, eph_t::type, U1, U4, and eph_t::week.

Referenced by decode_oem4().

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

◆ decode_galinavephemerisb()

int decode_galinavephemerisb ( raw_t * raw)
static

Definition at line 1302 of file mrtk_rcv_novatel.c.

References eph_t::A, adjweek(), raw_t::buff, eph_t::cic, eph_t::cis, eph_t::code, eph_t::crc, eph_t::crs, eph_t::cuc, eph_t::cus, eph_t::deln, eph_t::e, nav_s::eph, raw_t::ephsat, raw_t::ephset, eph_t::f0, eph_t::f1, eph_t::f2, gpst2time(), eph_t::i0, eph_t::idot, eph_t::iodc, eph_t::iode, raw_t::len, eph_t::M0, MAXSAT, raw_t::msgtype, raw_t::nav, OEM4HLEN, eph_t::omg, eph_t::OMG0, eph_t::OMGd, raw_t::opt, raw_t::outtype, R8, eph_t::sat, satno(), SQR, eph_t::sva, eph_t::svh, SYS_GAL, eph_t::tgd, raw_t::time, time2gpst(), timediff(), eph_t::toc, eph_t::toe, eph_t::toes, trace(), eph_t::ttr, eph_t::type, U1, U2, U4, and eph_t::week.

Referenced by decode_oem4().

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

◆ decode_galionob()

int decode_galionob ( raw_t * raw)
static

Definition at line 1458 of file mrtk_rcv_novatel.c.

References raw_t::buff, nav_s::ion_gal, raw_t::len, raw_t::nav, OEM4HLEN, R8, trace(), and U1.

Referenced by decode_oem4().

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

◆ decode_gloephemerisb()

int decode_gloephemerisb ( raw_t * raw)
static

Definition at line 881 of file mrtk_rcv_novatel.c.

References geph_t::acc, geph_t::age, raw_t::buff, geph_t::dtaun, raw_t::ephsat, raw_t::ephset, geph_t::flags, geph_t::frq, geph_t::gamn, nav_s::geph, gpst2time(), geph_t::iode, raw_t::len, raw_t::msgtype, raw_t::nav, OEM4HLEN, OFF_FRQNO, raw_t::opt, raw_t::outtype, geph_t::pos, R8, geph_t::sat, satno(), geph_t::sva, geph_t::svh, SYS_GLO, geph_t::taun, timediff(), geph_t::toe, geph_t::tof, trace(), U1, U2, U4, and geph_t::vel.

Referenced by decode_oem4().

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

◆ decode_gpsephemb()

int decode_gpsephemb ( raw_t * raw)
static

Definition at line 774 of file mrtk_rcv_novatel.c.

References eph_t::A, raw_t::buff, eph_t::cic, eph_t::cis, eph_t::code, eph_t::crc, eph_t::crs, eph_t::cuc, eph_t::cus, eph_t::deln, eph_t::e, nav_s::eph, raw_t::ephsat, raw_t::ephset, eph_t::f0, eph_t::f1, eph_t::f2, gpst2time(), eph_t::i0, eph_t::idot, eph_t::iodc, eph_t::iode, raw_t::len, eph_t::M0, raw_t::msgtype, raw_t::nav, OEM4HLEN, eph_t::omg, eph_t::OMG0, eph_t::OMGd, raw_t::opt, raw_t::outtype, R8, eph_t::sat, satno(), eph_t::sva, eph_t::svh, SYS_GPS, eph_t::tgd, raw_t::time, timediff(), eph_t::toc, eph_t::toe, eph_t::toes, trace(), eph_t::ttr, eph_t::type, U4, uraindex(), and eph_t::week.

Referenced by decode_oem4().

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

◆ decode_ionb()

int decode_ionb ( raw_t * raw)
static

Definition at line 1868 of file mrtk_rcv_novatel.c.

References raw_t::buff, nav_s::ion_gps, raw_t::len, raw_t::nav, OEM3HLEN, R8, and trace().

Referenced by decode_oem3().

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

◆ decode_ionutcb()

int decode_ionutcb ( raw_t * raw)
static

Definition at line 728 of file mrtk_rcv_novatel.c.

References raw_t::buff, I4, nav_s::ion_gps, raw_t::len, raw_t::nav, OEM4HLEN, R8, trace(), U4, and nav_s::utc_gps.

Referenced by decode_oem4().

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

◆ decode_navicephemerisb()

int decode_navicephemerisb ( raw_t * raw)
static

Definition at line 1582 of file mrtk_rcv_novatel.c.

References eph_t::A, raw_t::buff, eph_t::cic, eph_t::cis, eph_t::crc, eph_t::crs, eph_t::cuc, eph_t::cus, eph_t::deln, eph_t::e, nav_s::eph, raw_t::ephsat, raw_t::ephset, eph_t::f0, eph_t::f1, eph_t::f2, gpst2time(), eph_t::i0, eph_t::idot, eph_t::iodc, eph_t::iode, raw_t::len, eph_t::M0, raw_t::msgtype, raw_t::nav, OEM4HLEN, eph_t::omg, eph_t::OMG0, eph_t::OMGd, raw_t::opt, raw_t::outtype, R8, eph_t::sat, satno(), SQR, eph_t::sva, eph_t::svh, SYS_IRN, eph_t::tgd, raw_t::time, timediff(), eph_t::toc, eph_t::toe, eph_t::toes, trace(), eph_t::ttr, eph_t::type, U4, and eph_t::week.

Referenced by decode_oem4().

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

◆ decode_oem3()

int decode_oem3 ( raw_t * raw)
static

Definition at line 1969 of file mrtk_rcv_novatel.c.

References raw_t::buff, chksum(), decode_frmb(), decode_ionb(), decode_repb(), decode_rgeb(), decode_rged(), decode_utcb(), ID_FRMB, ID_IONB, ID_REPB, ID_RGEB, ID_RGED, ID_UTCB, raw_t::len, raw_t::msgtype, raw_t::outtype, trace(), and U4.

Referenced by input_oem3(), and input_oem3f().

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

◆ decode_oem4()

◆ decode_qzssephemerisb()

int decode_qzssephemerisb ( raw_t * raw)
static

Definition at line 1032 of file mrtk_rcv_novatel.c.

References eph_t::A, raw_t::buff, eph_t::cic, eph_t::cis, eph_t::code, eph_t::crc, eph_t::crs, eph_t::cuc, eph_t::cus, eph_t::deln, eph_t::e, nav_s::eph, raw_t::ephsat, raw_t::ephset, eph_t::f0, eph_t::f1, eph_t::f2, eph_t::fit, eph_t::flag, gpst2time(), eph_t::i0, eph_t::idot, eph_t::iodc, eph_t::iode, raw_t::len, eph_t::M0, raw_t::msgtype, raw_t::nav, OEM4HLEN, eph_t::omg, eph_t::OMG0, eph_t::OMGd, raw_t::opt, raw_t::outtype, R8, eph_t::sat, satno(), eph_t::sva, eph_t::svh, SYS_QZS, eph_t::tgd, raw_t::time, timediff(), eph_t::toc, eph_t::toe, eph_t::toes, trace(), eph_t::ttr, eph_t::type, U1, U4, uraindex(), and eph_t::week.

Referenced by decode_oem4().

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

◆ decode_qzssionutcb()

int decode_qzssionutcb ( raw_t * raw)
static

Definition at line 1140 of file mrtk_rcv_novatel.c.

References raw_t::buff, I4, nav_s::ion_qzs, raw_t::len, raw_t::nav, OEM4HLEN, R8, trace(), U4, and nav_s::utc_qzs.

Referenced by decode_oem4().

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

◆ decode_qzssrawephemb()

int decode_qzssrawephemb ( raw_t * raw)
static

Definition at line 946 of file mrtk_rcv_novatel.c.

References raw_t::buff, decode_frame(), nav_s::eph, raw_t::ephsat, raw_t::ephset, eph_t::iodc, eph_t::iode, raw_t::len, raw_t::msgtype, raw_t::nav, OEM4HLEN, raw_t::opt, raw_t::outtype, eph_t::sat, satno(), SYS_QZS, trace(), and U4.

Referenced by decode_oem4().

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

◆ decode_qzssrawsubframeb()

int decode_qzssrawsubframeb ( raw_t * raw)
static

Definition at line 981 of file mrtk_rcv_novatel.c.

References adj_utcweek(), raw_t::buff, decode_frame(), nav_s::eph, raw_t::ephsat, raw_t::ephset, eph_t::iodc, eph_t::iode, nav_s::ion_qzs, raw_t::len, matcpy(), raw_t::msgtype, raw_t::nav, OEM4HLEN, raw_t::opt, raw_t::outtype, eph_t::sat, satno(), raw_t::subfrm, SYS_QZS, raw_t::time, trace(), U4, and nav_s::utc_qzs.

Referenced by decode_oem4().

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

◆ decode_rangeb()

int decode_rangeb ( raw_t * raw)
static

Definition at line 596 of file mrtk_rcv_novatel.c.

References raw_t::buff, checkpri(), CLIGHT, obsd_t::code, CODE_L1C, CODE_L1Z, obsd_t::D, obs_t::data, decode_track_stat(), nav_s::glo_fcn, raw_t::halfc, obsd_t::L, raw_t::len, obsd_t::LLI, LLI_HALFA, LLI_HALFC, LLI_SLIP, raw_t::lockt, MAXPRNQZS_S, MINPRNQZS_S, raw_t::msgtype, obs_t::n, raw_t::nav, raw_t::obs, obsindex(), OEM4HLEN, raw_t::opt, raw_t::outtype, obsd_t::P, R4, R8, sat2freq(), satno(), obsd_t::SNR, SNR_UNIT, SYS_CMP, SYS_GLO, SYS_QZS, SYS_SBS, gtime_t::time, obsd_t::time, raw_t::time, timediff(), raw_t::tobs, trace(), U2, and U4.

Referenced by decode_oem4().

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

◆ decode_rangecmpb()

int decode_rangecmpb ( raw_t * raw)
static

Definition at line 498 of file mrtk_rcv_novatel.c.

References raw_t::buff, checkpri(), CLIGHT, obsd_t::code, CODE_L1C, CODE_L1Z, obsd_t::D, obs_t::data, decode_track_stat(), exsign(), raw_t::halfc, I4, obsd_t::L, raw_t::len, obsd_t::LLI, LLI_HALFA, LLI_HALFC, LLI_SLIP, raw_t::lockt, MAXPRNQZS_S, MAXVAL, MINPRNQZS_S, raw_t::msgtype, obs_t::n, raw_t::nav, raw_t::obs, obsindex(), OEM4HLEN, raw_t::opt, raw_t::outtype, obsd_t::P, sat2freq(), satno(), obsd_t::SNR, SNR_UNIT, SYS_CMP, SYS_GLO, SYS_QZS, SYS_SBS, gtime_t::time, obsd_t::time, raw_t::time, timediff(), raw_t::tobs, trace(), U1, U2, and U4.

Referenced by decode_oem4().

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

◆ decode_rawephemb()

int decode_rawephemb ( raw_t * raw)
static

Definition at line 693 of file mrtk_rcv_novatel.c.

References raw_t::buff, decode_frame(), nav_s::eph, raw_t::ephsat, raw_t::ephset, eph_t::iodc, eph_t::iode, raw_t::len, raw_t::msgtype, raw_t::nav, OEM4HLEN, raw_t::opt, raw_t::outtype, eph_t::sat, satno(), SYS_GPS, trace(), and U4.

Referenced by decode_oem4().

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

◆ decode_rawsbasframeb()

int decode_rawsbasframeb ( raw_t * raw)
static

Definition at line 772 of file mrtk_rcv_novatel.c.

References decode_rawwaasframeb().

Referenced by decode_oem4().

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

◆ decode_rawwaasframeb()

int decode_rawwaasframeb ( raw_t * raw)
static

Definition at line 750 of file mrtk_rcv_novatel.c.

References raw_t::buff, raw_t::len, MAXPRNQZS_S, MAXPRNSBS, sbsmsg_t::msg, raw_t::msgtype, OEM4HLEN, raw_t::outtype, sbsmsg_t::prn, raw_t::sbsmsg, raw_t::time, time2gpst(), sbsmsg_t::tow, trace(), U4, and sbsmsg_t::week.

Referenced by decode_oem4(), and decode_rawsbasframeb().

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

◆ decode_repb()

int decode_repb ( raw_t * raw)
static

Definition at line 1810 of file mrtk_rcv_novatel.c.

References raw_t::buff, decode_frame(), nav_s::eph, raw_t::ephsat, raw_t::ephset, eph_t::iode, raw_t::len, raw_t::nav, OEM3HLEN, raw_t::opt, eph_t::sat, satno(), SYS_GPS, trace(), and U4.

Referenced by decode_oem3().

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

◆ decode_rgeb()

int decode_rgeb ( raw_t * raw)
static

Definition at line 1689 of file mrtk_rcv_novatel.c.

References adjgpsweek(), raw_t::buff, obsd_t::code, CODE_L1C, CODE_L2P, obsd_t::D, obs_t::data, gpst2time(), raw_t::halfc, I4, obsd_t::L, raw_t::len, obsd_t::LLI, raw_t::lockt, obs_t::n, raw_t::obs, obsindex(), OEM3HLEN, obsd_t::P, R4, R8, satno(), obsd_t::SNR, SNR_UNIT, SYS_GLO, SYS_GPS, SYS_SBS, gtime_t::time, obsd_t::time, raw_t::time, timediff(), raw_t::tobs, trace(), and U4.

Referenced by decode_oem3().

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

◆ decode_rged()

int decode_rged ( raw_t * raw)
static

Definition at line 1746 of file mrtk_rcv_novatel.c.

References adjgpsweek(), raw_t::buff, obsd_t::code, CODE_L1C, CODE_L2P, obsd_t::D, obs_t::data, exsign(), gpst2time(), raw_t::halfc, I4, obsd_t::L, raw_t::len, obsd_t::LLI, raw_t::lockt, MAXVAL, obs_t::n, raw_t::obs, obsindex(), OEM3HLEN, obsd_t::P, satno(), obsd_t::SNR, SNR_UNIT, SYS_GLO, SYS_GPS, SYS_SBS, gtime_t::time, obsd_t::time, raw_t::time, timediff(), raw_t::tobs, trace(), U2, U4, WL1, and WL2.

Referenced by decode_oem3().

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

◆ decode_track_stat()

int decode_track_stat ( uint32_t stat,
int * sys,
int * code,
int * track,
int * plock,
int * clock,
int * parity,
int * halfc )
static

Definition at line 386 of file mrtk_rcv_novatel.c.

References code2freq_idx(), CODE_NONE, satsys(), sig2code(), SYS_CMP, SYS_GAL, SYS_GLO, SYS_GPS, SYS_IRN, SYS_QZS, SYS_SBS, and trace().

Referenced by decode_rangeb(), and decode_rangecmpb().

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

◆ decode_utcb()

int decode_utcb ( raw_t * raw)
static

Definition at line 1882 of file mrtk_rcv_novatel.c.

References adjgpsweek(), raw_t::buff, I4, raw_t::len, raw_t::nav, OEM3HLEN, R8, trace(), U4, and nav_s::utc_gps.

Referenced by decode_oem3().

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

◆ exsign()

int32_t exsign ( uint32_t v,
int bits )
static

Definition at line 189 of file mrtk_rcv_novatel.c.

Referenced by decode_rangecmpb(), and decode_rged().

Here is the caller graph for this function:

◆ I4()

int32_t I4 ( uint8_t * p)
static

Definition at line 172 of file mrtk_rcv_novatel.c.

◆ input_oem3()

int input_oem3 ( raw_t * raw,
uint8_t data )
extern

Definition at line 2067 of file mrtk_rcv_novatel.c.

References raw_t::buff, decode_oem3(), raw_t::len, MAXRAWLEN, raw_t::nbyte, sync_oem3(), trace(), and U4.

Referenced by input_raw().

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

◆ input_oem3f()

int input_oem3f ( raw_t * raw,
FILE * fp )
extern

Definition at line 2141 of file mrtk_rcv_novatel.c.

References raw_t::buff, decode_oem3(), raw_t::len, MAXRAWLEN, raw_t::nbyte, sync_oem3(), trace(), and U4.

Referenced by input_rawf().

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

◆ input_oem4()

int input_oem4 ( raw_t * raw,
uint8_t data )
extern

Definition at line 2036 of file mrtk_rcv_novatel.c.

References raw_t::buff, decode_oem4(), raw_t::len, MAXRAWLEN, raw_t::nbyte, OEM4HLEN, sync_oem4(), trace(), and U2.

Referenced by input_raw().

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

◆ input_oem4f()

int input_oem4f ( raw_t * raw,
FILE * fp )
extern

Definition at line 2098 of file mrtk_rcv_novatel.c.

References raw_t::buff, decode_oem4(), raw_t::len, MAXRAWLEN, raw_t::nbyte, OEM4HLEN, sync_oem4(), trace(), and U2.

Referenced by input_rawf().

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

◆ obsindex()

int obsindex ( obs_t * obs,
gtime_t time,
int sat )
static

Definition at line 230 of file mrtk_rcv_novatel.c.

References obsd_t::code, CODE_NONE, obsd_t::D, obs_t::data, obsd_t::L, obsd_t::LLI, MAXOBS, obs_t::n, obsd_t::P, obsd_t::sat, obsd_t::SNR, and obsd_t::time.

Referenced by decode_rangeb(), decode_rangecmpb(), decode_rgeb(), and decode_rged().

Here is the caller graph for this function:

◆ R4()

float R4 ( uint8_t * p)
static

Definition at line 177 of file mrtk_rcv_novatel.c.

◆ R8()

double R8 ( uint8_t * p)
static

Definition at line 182 of file mrtk_rcv_novatel.c.

◆ sig2code()

int sig2code ( int sys,
int sigtype )
static

Definition at line 265 of file mrtk_rcv_novatel.c.

References CODE_L1B, CODE_L1C, CODE_L1L, CODE_L1P, CODE_L2C, CODE_L2I, CODE_L2P, CODE_L2S, CODE_L2W, CODE_L3Q, CODE_L5A, CODE_L5I, CODE_L5P, CODE_L5Q, CODE_L6B, CODE_L6C, CODE_L6I, CODE_L6L, CODE_L7D, CODE_L7I, CODE_L7Q, CODE_L8Q, SYS_CMP, SYS_GAL, SYS_GLO, SYS_GPS, SYS_IRN, SYS_QZS, and SYS_SBS.

Referenced by decode_track_stat().

Here is the caller graph for this function:

◆ sync_oem3()

int sync_oem3 ( uint8_t * buff,
uint8_t data )
static

Definition at line 2005 of file mrtk_rcv_novatel.c.

References OEM3SYNC1, OEM3SYNC2, and OEM3SYNC3.

Referenced by input_oem3(), and input_oem3f().

Here is the caller graph for this function:

◆ sync_oem4()

int sync_oem4 ( uint8_t * buff,
uint8_t data )
static

Definition at line 1999 of file mrtk_rcv_novatel.c.

References OEM4SYNC1, OEM4SYNC2, and OEM4SYNC3.

Referenced by input_oem4(), and input_oem4f().

Here is the caller graph for this function:

◆ U2()

uint16_t U2 ( uint8_t * p)
static

Definition at line 162 of file mrtk_rcv_novatel.c.

◆ U4()

uint32_t U4 ( uint8_t * p)
static

Definition at line 167 of file mrtk_rcv_novatel.c.

◆ uraindex()

int uraindex ( double value)
static

Definition at line 253 of file mrtk_rcv_novatel.c.

References ura_eph.

Referenced by decode_bdsephemerisb(), decode_gpsephemb(), and decode_qzssephemerisb().

Here is the caller graph for this function: