|
MRTKLIB 0.7.14
Modernized GNSS Positioning Library
|
#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"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) |
| #define CLIGHT 299792458.0 /* speed of light (m/s) */ |
Definition at line 37 of file mrtk_rcv_novatel.c.
| #define D2R (PI / 180.0) /* deg to rad */ |
Definition at line 35 of file mrtk_rcv_novatel.c.
| #define DFRQ1_GLO 0.56250E6 /* GLONASS G1 bias frequency (Hz/n) */ |
Definition at line 65 of file mrtk_rcv_novatel.c.
| #define DFRQ2_GLO 0.43750E6 /* GLONASS G2 bias frequency (Hz/n) */ |
Definition at line 67 of file mrtk_rcv_novatel.c.
| #define FREQ1 1.57542E9 /* L1/E1/B1C frequency (Hz) */ |
Definition at line 57 of file mrtk_rcv_novatel.c.
| #define FREQ1_CMP 1.561098E9 /* BDS B1I frequency (Hz) */ |
Definition at line 71 of file mrtk_rcv_novatel.c.
| #define FREQ1_GLO 1.60200E9 /* GLONASS G1 base frequency (Hz) */ |
Definition at line 64 of file mrtk_rcv_novatel.c.
| #define FREQ1a_GLO 1.600995E9 /* GLONASS G1a frequency (Hz) */ |
Definition at line 69 of file mrtk_rcv_novatel.c.
| #define FREQ2 1.22760E9 /* L2 frequency (Hz) */ |
Definition at line 58 of file mrtk_rcv_novatel.c.
| #define FREQ2_GLO 1.24600E9 /* GLONASS G2 base frequency (Hz) */ |
Definition at line 66 of file mrtk_rcv_novatel.c.
| #define FREQ2a_GLO 1.248060E9 /* GLONASS G2a frequency (Hz) */ |
Definition at line 70 of file mrtk_rcv_novatel.c.
| #define FREQ3_GLO 1.202025E9 /* GLONASS G3 frequency (Hz) */ |
Definition at line 68 of file mrtk_rcv_novatel.c.
| #define FREQ5 1.17645E9 /* L5/E5a/B2a frequency (Hz) */ |
Definition at line 59 of file mrtk_rcv_novatel.c.
| #define FREQ6 1.27875E9 /* E6/L6 frequency (Hz) */ |
Definition at line 60 of file mrtk_rcv_novatel.c.
| #define FREQ7 1.20714E9 /* E5b/B2I frequency (Hz) */ |
Definition at line 61 of file mrtk_rcv_novatel.c.
| #define FREQ8 1.191795E9 /* E5ab/B2ab frequency (Hz) */ |
Definition at line 62 of file mrtk_rcv_novatel.c.
| #define FREQ9 2.492028E9 /* S frequency (Hz) */ |
Definition at line 63 of file mrtk_rcv_novatel.c.
| #define I1 | ( | p | ) |
Definition at line 161 of file mrtk_rcv_novatel.c.
| #define ID_ALMB 18 /* oem3 decoded almanac */ |
Definition at line 142 of file mrtk_rcv_novatel.c.
| #define ID_BDSEPHEMERIS 1696 /* oem7/6 decoded bds ephemeris */ |
Definition at line 139 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_FRMB 54 /* oem3 framed raw navigation data */ |
Definition at line 145 of file mrtk_rcv_novatel.c.
Referenced by decode_oem3().
| #define ID_GALCLOCK 1121 /* oem7/6 galileo clock information */ |
Definition at line 134 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_GALEPHEMERIS 1122 /* oem7/6 decoded galileo ephemeris */ |
Definition at line 131 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_GALINAVEPHEMERIS 1309 /* oem7/6 decoded galileo inav ephemeris */ |
Definition at line 132 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_GALIONO 1127 /* oem7/6 decoded galileo iono corrections */ |
Definition at line 133 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_GLOEPHEMERIS 723 /* oem7/6/4 glonass ephemeris */ |
Definition at line 130 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_GPSEPHEM 7 /* oem7/6/4 decoded gps ephemeris */ |
Definition at line 129 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_IONB 16 /* oem3 iono parameters */ |
Definition at line 143 of file mrtk_rcv_novatel.c.
Referenced by decode_oem3().
| #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().
| #define ID_NAVICEPHEMERIS 2123 /* oem7 decoded navic ephemeris */ |
Definition at line 140 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_QZSSEPHEMERIS 1336 /* oem7/6 decoded qzss ephemeris */ |
Definition at line 137 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_QZSSIONUTC 1347 /* oem7/6 qzss ion/utc parameters */ |
Definition at line 138 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_QZSSRAWEPHEM 1331 /* oem7/6 qzss raw ephemeris */ |
Definition at line 135 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_QZSSRAWSUBFRAME 1330 /* oem7/6 qzss raw subframe */ |
Definition at line 136 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_RALB 15 /* oem3 raw almanac */ |
Definition at line 146 of file mrtk_rcv_novatel.c.
| #define ID_RANGE 43 /* oem7/6/4 range measurement */ |
Definition at line 124 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_RANGECMP 140 /* oem7/6/4 range compressed */ |
Definition at line 123 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_RASB 66 /* oem3 raw almanac set */ |
Definition at line 147 of file mrtk_rcv_novatel.c.
| #define ID_RAWEPHEM 41 /* oem7/6/4 raw ephemeris */ |
Definition at line 125 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_RAWSBASFRAME 973 /* oem7/6 raw sbas frame */ |
Definition at line 128 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_RAWWAASFRAME 287 /* oem7/6/4 raw waas frame */ |
Definition at line 127 of file mrtk_rcv_novatel.c.
Referenced by decode_oem4().
| #define ID_REPB 14 /* oem3 raw ephemeris */ |
Definition at line 148 of file mrtk_rcv_novatel.c.
Referenced by decode_oem3().
| #define ID_RGEB 32 /* oem3 range measurement */ |
Definition at line 149 of file mrtk_rcv_novatel.c.
Referenced by decode_oem3().
| #define ID_RGED 65 /* oem3 range compressed */ |
Definition at line 150 of file mrtk_rcv_novatel.c.
Referenced by decode_oem3().
| #define ID_UTCB 17 /* oem3 utc parameters */ |
Definition at line 144 of file mrtk_rcv_novatel.c.
Referenced by decode_oem3().
| #define LLI_BOCTRK 0x04 /* LLI: boc tracking of mboc signal */ |
Definition at line 80 of file mrtk_rcv_novatel.c.
| #define LLI_HALFA 0x40 /* LLI: half-cycle added */ |
Definition at line 81 of file mrtk_rcv_novatel.c.
| #define LLI_HALFC 0x02 /* LLI: half-cycle not resolved */ |
Definition at line 79 of file mrtk_rcv_novatel.c.
| #define LLI_HALFS 0x80 /* LLI: half-cycle subtracted */ |
Definition at line 82 of file mrtk_rcv_novatel.c.
| #define LLI_SLIP 0x01 /* LLI: cycle-slip */ |
Definition at line 78 of file mrtk_rcv_novatel.c.
| #define MAXPRNGPS 32 |
Definition at line 74 of file mrtk_rcv_novatel.c.
| #define MAXPRNSBS 158 |
Definition at line 76 of file mrtk_rcv_novatel.c.
| #define MAXVAL 8388608.0 |
Definition at line 154 of file mrtk_rcv_novatel.c.
Referenced by decode_rangecmpb(), and decode_rged().
| #define MINPRNGPS 1 |
Definition at line 73 of file mrtk_rcv_novatel.c.
| #define MINPRNSBS 120 |
Definition at line 75 of file mrtk_rcv_novatel.c.
| #define OEM3HLEN 12 /* oem3 message header length (bytes) */ |
Definition at line 120 of file mrtk_rcv_novatel.c.
Referenced by decode_frmb(), decode_ionb(), decode_repb(), decode_rgeb(), decode_rged(), and decode_utcb().
| #define OEM3SYNC1 0xAA /* oem3 message start sync code 1 */ |
Definition at line 116 of file mrtk_rcv_novatel.c.
Referenced by sync_oem3().
| #define OEM3SYNC2 0x44 /* oem3 message start sync code 2 */ |
Definition at line 117 of file mrtk_rcv_novatel.c.
Referenced by sync_oem3().
| #define OEM3SYNC3 0x11 /* oem3 message start sync code 3 */ |
Definition at line 118 of file mrtk_rcv_novatel.c.
Referenced by sync_oem3().
| #define OEM4HLEN 28 /* oem7/6/4 message header length (bytes) */ |
Definition at line 119 of file mrtk_rcv_novatel.c.
Referenced by decode_bdsephemerisb(), decode_galclockb(), decode_galephemerisb(), decode_galinavephemerisb(), decode_galionob(), decode_gloephemerisb(), decode_gpsephemb(), decode_ionutcb(), decode_navicephemerisb(), decode_qzssephemerisb(), decode_qzssionutcb(), decode_qzssrawephemb(), decode_qzssrawsubframeb(), decode_rangeb(), decode_rangecmpb(), decode_rawephemb(), decode_rawwaasframeb(), input_oem4(), and input_oem4f().
| #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().
| #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().
| #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().
| #define OFF_FRQNO -7 /* F/W ver.3.620 */ |
Definition at line 155 of file mrtk_rcv_novatel.c.
Referenced by decode_gloephemerisb().
| #define P2_11 4.882812500000000E-04 |
Definition at line 87 of file mrtk_rcv_novatel.c.
| #define P2_15 3.051757812500000E-05 |
Definition at line 88 of file mrtk_rcv_novatel.c.
| #define P2_17 7.629394531250000E-06 |
Definition at line 89 of file mrtk_rcv_novatel.c.
| #define P2_19 1.907348632812500E-06 |
Definition at line 90 of file mrtk_rcv_novatel.c.
| #define P2_20 9.536743164062500E-07 |
Definition at line 91 of file mrtk_rcv_novatel.c.
| #define P2_21 4.768371582031250E-07 |
Definition at line 92 of file mrtk_rcv_novatel.c.
| #define P2_23 1.192092895507810E-07 |
Definition at line 93 of file mrtk_rcv_novatel.c.
| #define P2_24 5.960464477539063E-08 |
Definition at line 94 of file mrtk_rcv_novatel.c.
| #define P2_27 7.450580596923828E-09 |
Definition at line 95 of file mrtk_rcv_novatel.c.
| #define P2_29 1.862645149230957E-09 |
Definition at line 96 of file mrtk_rcv_novatel.c.
| #define P2_30 9.313225746154785E-10 |
Definition at line 97 of file mrtk_rcv_novatel.c.
| #define P2_31 4.656612873077393E-10 |
Definition at line 98 of file mrtk_rcv_novatel.c.
| #define P2_32 2.328306436538696E-10 |
Definition at line 99 of file mrtk_rcv_novatel.c.
| #define P2_33 1.164153218269348E-10 |
Definition at line 100 of file mrtk_rcv_novatel.c.
| #define P2_34 5.820766091346740E-11 |
Definition at line 101 of file mrtk_rcv_novatel.c.
| #define P2_35 2.910383045673370E-11 |
Definition at line 102 of file mrtk_rcv_novatel.c.
| #define P2_38 3.637978807091710E-12 |
Definition at line 103 of file mrtk_rcv_novatel.c.
| #define P2_40 9.094947017729280E-13 |
Definition at line 104 of file mrtk_rcv_novatel.c.
| #define P2_43 1.136868377216160E-13 |
Definition at line 105 of file mrtk_rcv_novatel.c.
| #define P2_46 1.421085471520200E-14 |
Definition at line 106 of file mrtk_rcv_novatel.c.
| #define P2_5 0.03125 |
Definition at line 85 of file mrtk_rcv_novatel.c.
| #define P2_50 8.881784197001252E-16 |
Definition at line 107 of file mrtk_rcv_novatel.c.
| #define P2_55 2.775557561562891E-17 |
Definition at line 108 of file mrtk_rcv_novatel.c.
| #define P2_59 1.734723475976810E-18 |
Definition at line 109 of file mrtk_rcv_novatel.c.
| #define P2_6 0.015625 |
Definition at line 86 of file mrtk_rcv_novatel.c.
| #define PI 3.1415926535897932 /* pi */ |
Definition at line 34 of file mrtk_rcv_novatel.c.
| #define R2D (180.0 / PI) /* rad to deg */ |
Definition at line 36 of file mrtk_rcv_novatel.c.
| #define SC2RAD 3.1415926535898 /* semi-circle to radian (IS-GPS) */ |
Definition at line 38 of file mrtk_rcv_novatel.c.
| #define SQR | ( | x | ) |
Definition at line 157 of file mrtk_rcv_novatel.c.
Referenced by decode_bdsephemerisb(), decode_galephemerisb(), decode_galinavephemerisb(), and decode_navicephemerisb().
| #define SYS_CMP 0x20 |
Definition at line 46 of file mrtk_rcv_novatel.c.
| #define SYS_GAL 0x08 |
Definition at line 44 of file mrtk_rcv_novatel.c.
| #define SYS_GLO 0x04 |
Definition at line 43 of file mrtk_rcv_novatel.c.
| #define SYS_GPS 0x01 |
Definition at line 41 of file mrtk_rcv_novatel.c.
| #define SYS_IRN 0x40 |
Definition at line 47 of file mrtk_rcv_novatel.c.
| #define SYS_NONE 0x00 |
Definition at line 40 of file mrtk_rcv_novatel.c.
| #define SYS_QZS 0x10 |
Definition at line 45 of file mrtk_rcv_novatel.c.
| #define SYS_SBS 0x02 |
Definition at line 42 of file mrtk_rcv_novatel.c.
| #define TSYS_CMP 5 |
Definition at line 54 of file mrtk_rcv_novatel.c.
| #define TSYS_GAL 3 |
Definition at line 52 of file mrtk_rcv_novatel.c.
| #define TSYS_GLO 2 |
Definition at line 51 of file mrtk_rcv_novatel.c.
| #define TSYS_GPS 0 |
Definition at line 49 of file mrtk_rcv_novatel.c.
| #define TSYS_IRN 6 |
Definition at line 55 of file mrtk_rcv_novatel.c.
| #define TSYS_QZS 4 |
Definition at line 53 of file mrtk_rcv_novatel.c.
| #define TSYS_UTC 1 |
Definition at line 50 of file mrtk_rcv_novatel.c.
| #define U1 | ( | p | ) |
Definition at line 160 of file mrtk_rcv_novatel.c.
Referenced by decode_galephemerisb(), decode_galinavephemerisb(), decode_galionob(), decode_gloephemerisb(), decode_oem4(), decode_qzssephemerisb(), and decode_rangecmpb().
| #define WL1 0.1902936727984 |
Definition at line 152 of file mrtk_rcv_novatel.c.
Referenced by decode_rged().
| #define WL2 0.2442102134246 |
Definition at line 153 of file mrtk_rcv_novatel.c.
Referenced by decode_rged().
|
static |
Definition at line 212 of file mrtk_rcv_novatel.c.
References time2gpst().
Referenced by decode_qzssrawsubframeb().
Definition at line 200 of file mrtk_rcv_novatel.c.
References gpst2time(), and time2gpst().
Referenced by decode_galephemerisb(), and decode_galinavephemerisb().
|
static |
|
static |
Definition at line 191 of file mrtk_rcv_novatel.c.
Referenced by decode_oem3().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
static |
Definition at line 1897 of file mrtk_rcv_novatel.c.
References adjgpsweek(), raw_t::buff, decode_bdsephemerisb(), decode_galclockb(), decode_galephemerisb(), decode_galinavephemerisb(), decode_galionob(), decode_gloephemerisb(), decode_gpsephemb(), decode_ionutcb(), decode_navicephemerisb(), decode_qzssephemerisb(), decode_qzssionutcb(), decode_qzssrawephemb(), decode_qzssrawsubframeb(), decode_rangeb(), decode_rangecmpb(), decode_rawephemb(), decode_rawsbasframeb(), decode_rawwaasframeb(), gpst2time(), ID_BDSEPHEMERIS, ID_GALCLOCK, ID_GALEPHEMERIS, ID_GALINAVEPHEMERIS, ID_GALIONO, ID_GLOEPHEMERIS, ID_GPSEPHEM, ID_IONUTC, ID_NAVICEPHEMERIS, ID_QZSSEPHEMERIS, ID_QZSSIONUTC, ID_QZSSRAWEPHEM, ID_QZSSRAWSUBFRAME, ID_RANGE, ID_RANGECMP, ID_RAWEPHEM, ID_RAWSBASFRAME, ID_RAWWAASFRAME, raw_t::len, raw_t::msgtype, raw_t::outtype, rtk_crc32(), raw_t::time, time2str(), trace(), U1, U2, and U4.
Referenced by input_oem4(), and input_oem4f().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
static |
Definition at line 772 of file mrtk_rcv_novatel.c.
References decode_rawwaasframeb().
Referenced by decode_oem4().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
static |
Definition at line 189 of file mrtk_rcv_novatel.c.
Referenced by decode_rangecmpb(), and decode_rged().
|
static |
Definition at line 172 of file mrtk_rcv_novatel.c.
|
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().
|
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().
|
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().
|
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().
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().
|
static |
Definition at line 177 of file mrtk_rcv_novatel.c.
|
static |
Definition at line 182 of file mrtk_rcv_novatel.c.
|
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().
|
static |
Definition at line 2005 of file mrtk_rcv_novatel.c.
References OEM3SYNC1, OEM3SYNC2, and OEM3SYNC3.
Referenced by input_oem3(), and input_oem3f().
|
static |
Definition at line 1999 of file mrtk_rcv_novatel.c.
References OEM4SYNC1, OEM4SYNC2, and OEM4SYNC3.
Referenced by input_oem4(), and input_oem4f().
|
static |
Definition at line 162 of file mrtk_rcv_novatel.c.
|
static |
Definition at line 167 of file mrtk_rcv_novatel.c.
|
static |
Definition at line 253 of file mrtk_rcv_novatel.c.
References ura_eph.
Referenced by decode_bdsephemerisb(), decode_gpsephemb(), and decode_qzssephemerisb().