#ifndef RTCM3TORINEX_H #define RTCM3TORINEX_H /* Converter for RTCM3 data to RINEX. $Id: rtcm3torinex.h 4369 2012-06-28 12:18:04Z stoecker $ Copyright (C) 2005-2006 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 "1.50" #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_SBAS_START 120 #define PRN_SBAS_END 138 #define PRN_GIOVE_START 139 #define PRN_GIOVE_END 140 #define PRN_COMPASS_START 141 #define PRN_COMPASS_END 170 #define PRN_QZSS_START 193 #define PRN_QZSS_END 202 #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 64 /* system identifiers, use start PRN as value */ #define RTCM3_MSM_GPS PRN_GPS_START #define RTCM3_MSM_GLONASS PRN_GLONASS_START #define RTCM3_MSM_GALILEO PRN_GALILEO_START #define RTCM3_MSM_SBAS PRN_SBAS_START #define RTCM3_MSM_QZSS PRN_QZSS_START #define RTCM3_MSM_COMPASS PRN_COMPASS_START #define GNSSENTRY_CODE 0 #define GNSSENTRY_PHASE 1 #define GNSSENTRY_DOPPLER 2 #define GNSSENTRY_SNR 3 #define GNSSENTRY_C1DATA ((0<<2)+GNSSENTRY_CODE) #define GNSSENTRY_L1CDATA ((0<<2)+GNSSENTRY_PHASE) #define GNSSENTRY_D1CDATA ((0<<2)+GNSSENTRY_DOPPLER) #define GNSSENTRY_S1CDATA ((0<<2)+GNSSENTRY_SNR) #define GNSSENTRY_C2DATA ((1<<2)+GNSSENTRY_CODE) #define GNSSENTRY_L2CDATA ((1<<2)+GNSSENTRY_PHASE) #define GNSSENTRY_D2CDATA ((1<<2)+GNSSENTRY_DOPPLER) #define GNSSENTRY_S2CDATA ((1<<2)+GNSSENTRY_SNR) #define GNSSENTRY_CB1DATA GNSSENTRY_C2DATA #define GNSSENTRY_LB1DATA GNSSENTRY_L2CDATA #define GNSSENTRY_DB1DATA GNSSENTRY_D2CDATA #define GNSSENTRY_SB1DATA GNSSENTRY_S2CDATA #define GNSSENTRY_P1DATA ((2<<2)+GNSSENTRY_CODE) #define GNSSENTRY_L1PDATA ((2<<2)+GNSSENTRY_PHASE) #define GNSSENTRY_D1PDATA ((2<<2)+GNSSENTRY_DOPPLER) #define GNSSENTRY_S1PDATA ((2<<2)+GNSSENTRY_SNR) #define GNSSENTRY_P2DATA ((3<<2)+GNSSENTRY_CODE) #define GNSSENTRY_L2PDATA ((3<<2)+GNSSENTRY_PHASE) #define GNSSENTRY_D2PDATA ((3<<2)+GNSSENTRY_DOPPLER) #define GNSSENTRY_S2PDATA ((3<<2)+GNSSENTRY_SNR) #define GNSSENTRY_C5DATA ((4<<2)+GNSSENTRY_CODE) #define GNSSENTRY_L5DATA ((4<<2)+GNSSENTRY_PHASE) #define GNSSENTRY_D5DATA ((4<<2)+GNSSENTRY_DOPPLER) #define GNSSENTRY_S5DATA ((4<<2)+GNSSENTRY_SNR) #define GNSSENTRY_C6DATA ((5<<2)+GNSSENTRY_CODE) #define GNSSENTRY_L6DATA ((5<<2)+GNSSENTRY_PHASE) #define GNSSENTRY_D6DATA ((5<<2)+GNSSENTRY_DOPPLER) #define GNSSENTRY_S6DATA ((5<<2)+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 ((6<<2)+GNSSENTRY_CODE) #define GNSSENTRY_L5BDATA ((6<<2)+GNSSENTRY_PHASE) #define GNSSENTRY_D5BDATA ((6<<2)+GNSSENTRY_DOPPLER) #define GNSSENTRY_S5BDATA ((6<<2)+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 ((7<<2)+GNSSENTRY_CODE) #define GNSSENTRY_L5ABDATA ((7<<2)+GNSSENTRY_PHASE) #define GNSSENTRY_D5ABDATA ((7<<2)+GNSSENTRY_DOPPLER) #define GNSSENTRY_S5ABDATA ((7<<2)+GNSSENTRY_SNR) #define GNSSENTRY_CSAIFDATA ((8<<2)+GNSSENTRY_CODE) #define GNSSENTRY_LSAIFDATA ((8<<2)+GNSSENTRY_PHASE) #define GNSSENTRY_DSAIFDATA ((8<<2)+GNSSENTRY_DOPPLER) #define GNSSENTRY_SSAIFDATA ((8<<2)+GNSSENTRY_SNR) #define GNSSENTRY_C1NDATA ((9<<2)+GNSSENTRY_CODE) #define GNSSENTRY_L1NDATA ((9<<2)+GNSSENTRY_PHASE) #define GNSSENTRY_D1NDATA ((9<<2)+GNSSENTRY_DOPPLER) #define GNSSENTRY_S1NDATA ((9<<2)+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<