Ignore:
Timestamp:
Feb 19, 2015, 6:18:47 PM (9 years ago)
Author:
stoecker
Message:

untested BDS support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/rtcm3torinex/lib/rtcm3torinex.h

    r6329 r6599  
    4040#define PRN_SBAS_START            120
    4141#define PRN_SBAS_END              141
    42 #define PRN_COMPASS_START         161
    43 #define PRN_COMPASS_END           190
     42#define PRN_BDS_START             161
     43#define PRN_BDS_END               190
    4444#define PRN_QZSS_START            193
    4545#define PRN_QZSS_END              202
     
    6060#define RTCM3_MSM_SBAS    3
    6161#define RTCM3_MSM_QZSS    4
    62 #define RTCM3_MSM_COMPASS 5
     62#define RTCM3_MSM_BDS    5
    6363
    6464#define RTCM3_MSM_NUMSYS  6
     
    277277#define QZSS_WAVELENGTH_LEX (LIGHTSPEED / QZSS_FREQU_LEX) /* m */
    278278
    279 #define COMPASS_FREQU_B1       1561098000.0  /* Hz */
    280 #define COMPASS_FREQU_B2       1207140000.0  /* Hz */
    281 #define COMPASS_FREQU_B3       1268520000.0  /* Hz */
    282 #define COMPASS_WAVELENGTH_B1  (LIGHTSPEED / COMPASS_FREQU_B1) /* m */
    283 #define COMPASS_WAVELENGTH_B2  (LIGHTSPEED / COMPASS_FREQU_B2) /* m */
    284 #define COMPASS_WAVELENGTH_B3  (LIGHTSPEED / COMPASS_FREQU_B3) /* m */
     279#define BDS_FREQU_B1       1561098000.0  /* Hz */
     280#define BDS_FREQU_B2       1207140000.0  /* Hz */
     281#define BDS_FREQU_B3       1268520000.0  /* Hz */
     282#define BDS_WAVELENGTH_B1  (LIGHTSPEED / BDS_FREQU_B1) /* m */
     283#define BDS_WAVELENGTH_B2  (LIGHTSPEED / BDS_FREQU_B2) /* m */
     284#define BDS_WAVELENGTH_B3  (LIGHTSPEED / BDS_FREQU_B3) /* m */
    285285
    286286#define PRN_GIOVE_OFFSET 51
     
    365365};
    366366
    367 #define GALEPHF_E5ADINVALID     (1<<0) /* E5aDVS set invalid */
    368 #define GALEPHF_E5BDINVALID     (1<<1) /* E5bDVS set invalid */
    369 #define GALEPHF_INAV            (1<<2) /* INAV data */
    370 #define GALEPHF_FNAV            (1<<3) /* FNAV data */
    371 
    372367#define GLOEPHF_UNHEALTHY       (1<<0) /* set if unhealty satellite, f2b78 */
    373368#define GLOEPHF_ALMANACHEALTHOK (1<<1) /* set if ALM health is available */
     
    420415  int    URA;              /*          [bits  35- 38] */
    421416};
     417
     418#define GALEPHF_E5ADINVALID     (1<<0) /* E5aDVS set invalid */
     419#define GALEPHF_E5BDINVALID     (1<<1) /* E5bDVS set invalid */
     420#define GALEPHF_INAV            (1<<2) /* INAV data */
     421#define GALEPHF_FNAV            (1<<3) /* FNAV data */
    422422
    423423struct galileoephemeris {
     
    453453};
    454454
     455#define RTCM3ID_BDS 63
     456#define BDSEPHF_SATH1      (1<<0) /* SatH1 is 1 */
     457
     458struct bdsephemeris {
     459  int    flags;            /* BDSEPHF_xxx */
     460  int    satellite;        /*  SV ID   */
     461  int    AODE;             /*          */
     462  int    URAI;             /*  [1..15] */
     463  int    BDSweek;          /*          */
     464  int    AODC;             /*          */
     465  int    TOW;              /*  [s]     */
     466  int    TOC;              /*  [s]     */
     467  int    TOE;              /*  [s]     */
     468  double clock_bias;       /*  [s]     */
     469  double clock_drift;      /*  [s/s]   */
     470  double clock_driftrate;  /*  [s/s^2] */
     471  double Crs;              /*  [m]     */
     472  double Delta_n;          /*  [rad/s] */
     473  double M0;               /*  [rad]   */
     474  double Cuc;              /*  [rad]   */
     475  double e;                /*          */
     476  double Cus;              /*  [rad]   */
     477  double sqrt_A;           /*  [m^0.5] */
     478  double Cic;              /*  [rad]   */
     479  double OMEGA0;           /*  [rad]   */
     480  double Cis;              /*  [rad]   */
     481  double i0;               /*  [rad]   */
     482  double Crc;              /*  [m]     */
     483  double omega;            /*  [rad]   */
     484  double OMEGADOT;         /*  [rad/s] */
     485  double IDOT;             /*  [rad/s] */
     486  double TGD_B1_B3;        /*  [s]     */
     487  double TGD_B2_B3;        /*  [s]     */
     488};
     489
    455490struct DataInfo {
    456491  long long flags[RINEXENTRY_NUMBER];
     
    472507  struct glonassephemeris ephemerisGLONASS;
    473508  struct sbasephemeris ephemerisSBAS;
     509  struct bdsephemeris ephemerisBDS;
    474510  struct gnssdata DataNew;
    475511  int    GLOFreq[PRN_GLONASS_NUM]; /* frequency numbers of GLONASS + 100 */
     
    502538  char         fieldbufferGLONASS[4*RINEXENTRY_NUMBER+1];
    503539  char         fieldbufferGALILEO[4*RINEXENTRY_NUMBER+1];
    504   char         fieldbufferCOMPASS[4*RINEXENTRY_NUMBER+1];
     540  char         fieldbufferBDS[4*RINEXENTRY_NUMBER+1];
    505541  char         fieldbufferQZSS[4*RINEXENTRY_NUMBER+1];
    506542  int          numdatafields; /* for RTCM2 */
     
    515551  const char * qzssephemeris;
    516552  const char * sbasephemeris;
     553  const char * bdsephemeris;
    517554  FILE *       glonassfile;
    518555  FILE *       gpsfile;
    519556  FILE *       qzssfile;
    520557  FILE *       sbasfile;
     558  FILE *       bdsfile;
    521559};
    522560
Note: See TracChangeset for help on using the changeset viewer.