#ifndef RTCM3TORINEX_H #define RTCM3TORINEX_H /* Converter for RTCM3 data to RINEX. $Id: rtcm3torinex.h 6329 2014-11-20 13:07:01Z stoecker $ Copyright (C) 2005-2012 by Dirk Stöcker This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or read http://www.gnu.org/licenses/gpl.txt */ #define RTCM3TORINEX_VERSION "2" #include #define NUMRTCM3PARSERSATS 144 #define GNSS_MAXSATS 64 #define PRN_GPS_START 1 #define PRN_GPS_END 32 #define PRN_GLONASS_START 38 #define PRN_GLONASS_END 61 #define PRN_GALILEO_START 71 #define PRN_GALILEO_END 100 #define PRN_GIOVE_START 101 #define PRN_GIOVE_END 102 #define PRN_SBAS_START 120 #define PRN_SBAS_END 141 #define PRN_COMPASS_START 161 #define PRN_COMPASS_END 190 #define PRN_QZSS_START 193 #define PRN_QZSS_END 202 #define PRN_GALGIO_START PRN_GALILEO_START #define PRN_GALGIO_END PRN_GIOVE_END #define PRN_GLONASS_NUM (PRN_GLONASS_END-PRN_GLONASS_START+1) #define RTCM3_MSM_NUMSIG 32 #define RTCM3_MSM_NUMSAT 64 #define RTCM3_MSM_NUMCELLS 96 /* arbitrary limit */ /* system identifiers */ #define RTCM3_MSM_GPS 0 #define RTCM3_MSM_GLONASS 1 #define RTCM3_MSM_GALILEO 2 #define RTCM3_MSM_SBAS 3 #define RTCM3_MSM_QZSS 4 #define RTCM3_MSM_COMPASS 5 #define RTCM3_MSM_NUMSYS 6 #define GNSSENTRY_CODE 0 #define GNSSENTRY_PHASE 1 #define GNSSENTRY_DOPPLER 2 #define GNSSENTRY_SNR 3 #define GNSSENTRY_TYPEC1 (0<<2) #define GNSSENTRY_TYPEC2 (1<<2) #define GNSSENTRY_TYPEP1 (2<<2) #define GNSSENTRY_TYPEP2 (3<<2) #define GNSSENTRY_TYPEC5 (4<<2) #define GNSSENTRY_TYPEC6 (5<<2) #define GNSSENTRY_TYPEC5B (6<<2) #define GNSSENTRY_TYPEC5AB (7<<2) #define GNSSENTRY_TYPECSAIF (8<<2) #define GNSSENTRY_TYPEC1N (9<<2) #define GNSSENTRY_C1DATA (GNSSENTRY_TYPEC1+GNSSENTRY_CODE) #define GNSSENTRY_L1CDATA (GNSSENTRY_TYPEC1+GNSSENTRY_PHASE) #define GNSSENTRY_D1CDATA (GNSSENTRY_TYPEC1+GNSSENTRY_DOPPLER) #define GNSSENTRY_S1CDATA (GNSSENTRY_TYPEC1+GNSSENTRY_SNR) #define GNSSENTRY_C2DATA (GNSSENTRY_TYPEC2+GNSSENTRY_CODE) #define GNSSENTRY_L2CDATA (GNSSENTRY_TYPEC2+GNSSENTRY_PHASE) #define GNSSENTRY_D2CDATA (GNSSENTRY_TYPEC2+GNSSENTRY_DOPPLER) #define GNSSENTRY_S2CDATA (GNSSENTRY_TYPEC2+GNSSENTRY_SNR) #define GNSSENTRY_CB1DATA GNSSENTRY_C1DATA #define GNSSENTRY_LB1DATA GNSSENTRY_L1CDATA #define GNSSENTRY_DB1DATA GNSSENTRY_D1CDATA #define GNSSENTRY_SB1DATA GNSSENTRY_S1CDATA #define GNSSENTRY_P1DATA (GNSSENTRY_TYPEP1+GNSSENTRY_CODE) #define GNSSENTRY_L1PDATA (GNSSENTRY_TYPEP1+GNSSENTRY_PHASE) #define GNSSENTRY_D1PDATA (GNSSENTRY_TYPEP1+GNSSENTRY_DOPPLER) #define GNSSENTRY_S1PDATA (GNSSENTRY_TYPEP1+GNSSENTRY_SNR) #define GNSSENTRY_P2DATA (GNSSENTRY_TYPEP2+GNSSENTRY_CODE) #define GNSSENTRY_L2PDATA (GNSSENTRY_TYPEP2+GNSSENTRY_PHASE) #define GNSSENTRY_D2PDATA (GNSSENTRY_TYPEP2+GNSSENTRY_DOPPLER) #define GNSSENTRY_S2PDATA (GNSSENTRY_TYPEP2+GNSSENTRY_SNR) #define GNSSENTRY_C5DATA (GNSSENTRY_TYPEC5+GNSSENTRY_CODE) #define GNSSENTRY_L5DATA (GNSSENTRY_TYPEC5+GNSSENTRY_PHASE) #define GNSSENTRY_D5DATA (GNSSENTRY_TYPEC5+GNSSENTRY_DOPPLER) #define GNSSENTRY_S5DATA (GNSSENTRY_TYPEC5+GNSSENTRY_SNR) #define GNSSENTRY_C6DATA (GNSSENTRY_TYPEC6+GNSSENTRY_CODE) #define GNSSENTRY_L6DATA (GNSSENTRY_TYPEC6+GNSSENTRY_PHASE) #define GNSSENTRY_D6DATA (GNSSENTRY_TYPEC6+GNSSENTRY_DOPPLER) #define GNSSENTRY_S6DATA (GNSSENTRY_TYPEC6+GNSSENTRY_SNR) #define GNSSENTRY_CB3DATA GNSSENTRY_C6DATA #define GNSSENTRY_LB3DATA GNSSENTRY_L6DATA #define GNSSENTRY_DB3DATA GNSSENTRY_D6DATA #define GNSSENTRY_SB3DATA GNSSENTRY_S6DATA #define GNSSENTRY_CLEXDATA GNSSENTRY_C6DATA #define GNSSENTRY_LLEXDATA GNSSENTRY_L6DATA #define GNSSENTRY_DLEXDATA GNSSENTRY_D6DATA #define GNSSENTRY_SLEXDATA GNSSENTRY_S6DATA #define GNSSENTRY_C5BDATA (GNSSENTRY_TYPEC5B+GNSSENTRY_CODE) #define GNSSENTRY_L5BDATA (GNSSENTRY_TYPEC5B+GNSSENTRY_PHASE) #define GNSSENTRY_D5BDATA (GNSSENTRY_TYPEC5B+GNSSENTRY_DOPPLER) #define GNSSENTRY_S5BDATA (GNSSENTRY_TYPEC5B+GNSSENTRY_SNR) #define GNSSENTRY_CB2DATA GNSSENTRY_C5BDATA #define GNSSENTRY_LB2DATA GNSSENTRY_L5BDATA #define GNSSENTRY_DB2DATA GNSSENTRY_D5BDATA #define GNSSENTRY_SB2DATA GNSSENTRY_S5BDATA #define GNSSENTRY_C5ABDATA (GNSSENTRY_TYPEC5AB+GNSSENTRY_CODE) #define GNSSENTRY_L5ABDATA (GNSSENTRY_TYPEC5AB+GNSSENTRY_PHASE) #define GNSSENTRY_D5ABDATA (GNSSENTRY_TYPEC5AB+GNSSENTRY_DOPPLER) #define GNSSENTRY_S5ABDATA (GNSSENTRY_TYPEC5AB+GNSSENTRY_SNR) #define GNSSENTRY_CSAIFDATA (GNSSENTRY_TYPECSAIF+GNSSENTRY_CODE) #define GNSSENTRY_LSAIFDATA (GNSSENTRY_TYPECSAIF+GNSSENTRY_PHASE) #define GNSSENTRY_DSAIFDATA (GNSSENTRY_TYPECSAIF+GNSSENTRY_DOPPLER) #define GNSSENTRY_SSAIFDATA (GNSSENTRY_TYPECSAIF+GNSSENTRY_SNR) #define GNSSENTRY_C1NDATA (GNSSENTRY_TYPEC1N+GNSSENTRY_CODE) #define GNSSENTRY_L1NDATA (GNSSENTRY_TYPEC1N+GNSSENTRY_PHASE) #define GNSSENTRY_D1NDATA (GNSSENTRY_TYPEC1N+GNSSENTRY_DOPPLER) #define GNSSENTRY_S1NDATA (GNSSENTRY_TYPEC1N+GNSSENTRY_SNR) #define GNSSENTRY_NUMBER 40 /* number of types!!! */ /* Data flags. These flags are used in the dataflags field of gpsdata structure and are required to determine, which data fields are filled with valid data. */ #define GNSSDF_C1DATA (1<