Changeset 4367 in ntrip for trunk/rtcm3torinex/lib/rtcm3torinex.c
- Timestamp:
- Jun 28, 2012, 2:11:09 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/rtcm3torinex/lib/rtcm3torinex.c
r4365 r4367 227 227 static const int months[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; 228 228 static const struct leapseconds leap[] = { 229 /*{31, 12, 1971, 11},*/ 229 /*{31, 12, 1971, 10},*/ 230 /*{30, 06, 1972, 11},*/ 230 231 /*{31, 12, 1972, 12},*/ 231 232 /*{31, 12, 1973, 13},*/ … … 904 905 } 905 906 break; 906 case 1071: case 1081: case 1091: 907 case 1072: case 1082: case 1092: 908 case 1073: case 1083: case 1093: 909 case 1074: case 1084: case 1094: 910 case 1075: case 1085: case 1095: 911 case 1076: case 1086: case 1096: 912 case 1077: case 1087: case 1097: 907 case 1071: case 1081: case 1091: case 1101: case 1111: case 1121: 908 case 1072: case 1082: case 1092: case 1102: case 1112: case 1122: 909 case 1073: case 1083: case 1093: case 1103: case 1113: case 1123: 910 case 1074: case 1084: case 1094: case 1104: case 1114: case 1124: 911 case 1075: case 1085: case 1095: case 1105: case 1115: case 1125: 912 case 1076: case 1086: case 1096: case 1106: case 1116: case 1126: 913 case 1077: case 1087: case 1097: case 1107: case 1117: case 1127: 913 914 if(handle->GPSWeek) 914 915 { … … 967 968 {0,0,0,0,0,0,0}, 968 969 {0,0,0,0,0,0,0}, 969 {GNSSENTRY_C1 DATA,GNSSENTRY_L1CDATA,GNSSENTRY_D1CDATA,970 GNSSENTRY_S1 CDATA,GNSSDF2_LOCKLOSSL1,0.0,"1S"},971 {GNSSENTRY_C1 DATA,GNSSENTRY_L1CDATA,GNSSENTRY_D1CDATA,972 GNSSENTRY_S1 CDATA,GNSSDF2_LOCKLOSSL1,0.0,"1L"},973 {GNSSENTRY_C1 DATA,GNSSENTRY_L1CDATA,GNSSENTRY_D1CDATA,974 GNSSENTRY_S1 CDATA,GNSSDF2_LOCKLOSSL1,0.0,"1X"}970 {GNSSENTRY_C1NDATA,GNSSENTRY_L1NDATA,GNSSENTRY_D1NDATA, 971 GNSSENTRY_S1NDATA,GNSSDF2_LOCKLOSSL1,GPS_WAVELENGTH_L1,"1S"}, 972 {GNSSENTRY_C1NDATA,GNSSENTRY_L1NDATA,GNSSENTRY_D1NDATA, 973 GNSSENTRY_S1NDATA,GNSSDF2_LOCKLOSSL1,GPS_WAVELENGTH_L1,"1L"}, 974 {GNSSENTRY_C1NDATA,GNSSENTRY_L1NDATA,GNSSENTRY_D1NDATA, 975 GNSSENTRY_S1NDATA,GNSSDF2_LOCKLOSSL1,GPS_WAVELENGTH_L1,"1X"} 975 976 }; 976 977 /* NOTE: Uses 0.0, 1.0 for wavelength as sat index dependence is done later! */ … … 1059 1060 {GNSSENTRY_C5DATA,GNSSENTRY_L5DATA,GNSSENTRY_D5DATA, 1060 1061 GNSSENTRY_S5DATA,GNSSDF2_LOCKLOSSL5,GAL_WAVELENGTH_E5A,"5X"}/**/, 1062 {0,0,0,0,0,0,0}, 1063 {0,0,0,0,0,0,0}, 1064 {0,0,0,0,0,0,0}, 1065 {0,0,0,0,0,0,0}, 1066 {0,0,0,0,0,0,0}, 1067 {0,0,0,0,0,0,0}, 1068 {0,0,0,0,0,0,0}, 1069 {0,0,0,0,0,0,0}, 1070 }; 1071 struct CodeData qzss[RTCM3_MSM_NUMSIG] = 1072 { 1073 {0,0,0,0,0,0,0}, 1074 {GNSSENTRY_C1DATA,GNSSENTRY_L1CDATA,GNSSENTRY_D1CDATA, 1075 GNSSENTRY_S1CDATA,GNSSDF2_LOCKLOSSL1,GPS_WAVELENGTH_L1,"1C"}, 1076 {0,0,0,0,0,0,0}, 1077 {0,0,0,0,0,0,0}, 1078 {0,0,0,0,0,0,0}, 1079 {GNSSENTRY_CSAIFDATA,GNSSENTRY_LSAIFDATA,GNSSENTRY_DSAIFDATA, 1080 GNSSENTRY_SSAIFDATA,GNSSDF2_LOCKLOSSSAIF,GPS_WAVELENGTH_L1,"1Z"}, 1081 {0,0,0,0,0,0,0}, 1082 {0,0,0,0,0,0,0}, 1083 {GNSSENTRY_CLEXDATA,GNSSENTRY_LLEXDATA,GNSSENTRY_DLEXDATA, 1084 GNSSENTRY_SLEXDATA,GNSSDF2_LOCKLOSSLEX,QZSS_WAVELENGTH_LEX,"6S"}, 1085 {GNSSENTRY_CLEXDATA,GNSSENTRY_LLEXDATA,GNSSENTRY_DLEXDATA, 1086 GNSSENTRY_SLEXDATA,GNSSDF2_LOCKLOSSLEX,QZSS_WAVELENGTH_LEX,"6L"}, 1087 {GNSSENTRY_CLEXDATA,GNSSENTRY_LLEXDATA,GNSSENTRY_DLEXDATA, 1088 GNSSENTRY_SLEXDATA,GNSSDF2_LOCKLOSSLEX,QZSS_WAVELENGTH_LEX,"6X"}, 1089 {GNSSENTRY_C1NDATA,GNSSENTRY_L1NDATA,GNSSENTRY_D1NDATA, 1090 GNSSENTRY_S1NDATA,GNSSDF2_LOCKLOSSL1,GPS_WAVELENGTH_L1,"1D"}, 1091 {GNSSENTRY_C1NDATA,GNSSENTRY_L1NDATA,GNSSENTRY_D1NDATA, 1092 GNSSENTRY_S1NDATA,GNSSDF2_LOCKLOSSL1,GPS_WAVELENGTH_L1,"1P"}, 1093 {GNSSENTRY_C1NDATA,GNSSENTRY_L1NDATA,GNSSENTRY_D1NDATA, 1094 GNSSENTRY_S1NDATA,GNSSDF2_LOCKLOSSL1,GPS_WAVELENGTH_L1,"1X"}, 1095 {GNSSENTRY_C2DATA,GNSSENTRY_L2CDATA,GNSSENTRY_D2CDATA, 1096 GNSSENTRY_S2CDATA,GNSSDF2_LOCKLOSSL2,GPS_WAVELENGTH_L2,"2S"}, 1097 {GNSSENTRY_C2DATA,GNSSENTRY_L2CDATA,GNSSENTRY_D2CDATA, 1098 GNSSENTRY_S2CDATA,GNSSDF2_LOCKLOSSL2,GPS_WAVELENGTH_L2,"2L"}, 1099 {GNSSENTRY_C2DATA,GNSSENTRY_L2CDATA,GNSSENTRY_D2CDATA, 1100 GNSSENTRY_S2CDATA,GNSSDF2_LOCKLOSSL2,GPS_WAVELENGTH_L2,"2X"}, 1101 {0,0,0,0,0,0,0}, 1102 {0,0,0,0,0,0,0}, 1103 {0,0,0,0,0,0,0}, 1104 {0,0,0,0,0,0,0}, 1105 {GNSSENTRY_C5DATA,GNSSENTRY_L5DATA,GNSSENTRY_D5DATA, 1106 GNSSENTRY_S5DATA,GNSSDF2_LOCKLOSSL5,GPS_WAVELENGTH_L5,"5I"}, 1107 {GNSSENTRY_C5DATA,GNSSENTRY_L5DATA,GNSSENTRY_D5DATA, 1108 GNSSENTRY_S5DATA,GNSSDF2_LOCKLOSSL5,GPS_WAVELENGTH_L5,"5Q"}, 1109 {GNSSENTRY_C5DATA,GNSSENTRY_L5DATA,GNSSENTRY_D5DATA, 1110 GNSSENTRY_S5DATA,GNSSDF2_LOCKLOSSL5,GPS_WAVELENGTH_L5,"5X"}, 1111 {0,0,0,0,0,0,0}, 1112 {0,0,0,0,0,0,0}, 1113 {0,0,0,0,0,0,0}, 1114 {0,0,0,0,0,0,0}, 1115 {0,0,0,0,0,0,0}, 1116 {0,0,0,0,0,0,0}, 1117 {0,0,0,0,0,0,0} 1118 }; 1119 struct CodeData compass[RTCM3_MSM_NUMSIG] = 1120 { 1121 {0,0,0,0,0,0,0}, 1122 {GNSSENTRY_CB1DATA,GNSSENTRY_LB1DATA,GNSSENTRY_DB1DATA, 1123 GNSSENTRY_SB1DATA,GNSSDF2_LOCKLOSSB1,COMPASS_WAVELENGTH_B1,"2I"}, 1124 {0,0,0,0,0,0,0}, 1125 {0,0,0,0,0,0,0}, 1126 {0,0,0,0,0,0,0}, 1127 {0,0,0,0,0,0,0}, 1128 {0,0,0,0,0,0,0}, 1129 {GNSSENTRY_CB3DATA,GNSSENTRY_LB3DATA,GNSSENTRY_DB3DATA, 1130 GNSSENTRY_SB3DATA,GNSSDF2_LOCKLOSSB3,COMPASS_WAVELENGTH_B3,"6I"}, 1131 {0,0,0,0,0,0,0}, 1132 {0,0,0,0,0,0,0}, 1133 {0,0,0,0,0,0,0}, 1134 {0,0,0,0,0,0,0}, 1135 {0,0,0,0,0,0,0}, 1136 {GNSSENTRY_CB2DATA,GNSSENTRY_LB2DATA,GNSSENTRY_DB2DATA, 1137 GNSSENTRY_SB2DATA,GNSSDF2_LOCKLOSSB2,COMPASS_WAVELENGTH_B2,"7I"}, 1138 {0,0,0,0,0,0,0}, 1139 {0,0,0,0,0,0,0}, 1140 {0,0,0,0,0,0,0}, 1141 {0,0,0,0,0,0,0}, 1142 {0,0,0,0,0,0,0}, 1143 {0,0,0,0,0,0,0}, 1144 {0,0,0,0,0,0,0}, 1145 {0,0,0,0,0,0,0}, 1146 {0,0,0,0,0,0,0}, 1147 {0,0,0,0,0,0,0}, 1061 1148 {0,0,0,0,0,0,0}, 1062 1149 {0,0,0,0,0,0,0}, … … 1082 1169 1083 1170 SKIPBITS(12) 1084 if(type >= 1091) 1171 if(type >= 1121) 1172 sys = RTCM3_MSM_COMPASS; 1173 else if(type >= 1111) 1174 sys = RTCM3_MSM_QZSS; 1175 else if(type >= 1101) 1176 sys = RTCM3_MSM_SBAS; 1177 else if(type >= 1091) 1085 1178 sys = RTCM3_MSM_GALILEO; 1086 1179 else if(type >= 1081) … … 1089 1182 switch(sys) 1090 1183 { 1184 case RTCM3_MSM_COMPASS: 1091 1185 case RTCM3_MSM_GALILEO: /* use DF004 instead of DF248 */ 1186 case RTCM3_MSM_QZSS: 1187 case RTCM3_MSM_SBAS: 1092 1188 case RTCM3_MSM_GPS: 1093 1189 GETBITS(i,30) … … 1284 1380 switch(sys) 1285 1381 { 1286 case RTCM3_MSM_GPS: cd = gps[RTCM3_MSM_NUMSIG-j-1]; 1382 case RTCM3_MSM_QZSS: 1383 cd = qzss[RTCM3_MSM_NUMSIG-j-1]; 1384 wl = cd.wl; 1385 break; 1386 case RTCM3_MSM_COMPASS: 1387 cd = compass[RTCM3_MSM_NUMSIG-j-1]; 1388 wl = cd.wl; 1389 break; 1390 case RTCM3_MSM_GPS: case RTCM3_MSM_SBAS: 1391 cd = gps[RTCM3_MSM_NUMSIG-j-1]; 1287 1392 wl = cd.wl; 1288 1393 break; … … 1323 1428 if(num == gnss->numsats) 1324 1429 gnss->satellites[gnss->numsats++] = fullsat; 1430 1431 gnss->codetype[num] = cd.code; 1325 1432 1326 1433 switch(type % 10) … … 1518 1625 const char *typesofobsS; /* should not be modified outside */ 1519 1626 const char *typesofobsE; /* should not be modified outside */ 1627 const char *typesofobsC; /* should not be modified outside */ 1628 const char *typesofobsJ; /* should not be modified outside */ 1520 1629 const char *timeoffirstobs; /* should not be modified outside */ 1521 1630 }; … … 1602 1711 return 1+snprintf(buffer, buffersize, 1603 1712 rinex3 ? 1604 "RTCM3TOR INEX %-7.7s%-20.20s%04d%02d%02d %02d%02d%02d UTC "1713 "RTCM3TOR. %-10.10s%-20.20s%04d%02d%02d %02d%02d%02d UTC " 1605 1714 "PGM / RUN BY / DATE" : 1606 "RTCM3TOR INEX %-7.7s%-20.20s%04d-%02d-%02d %02d:%02d "1715 "RTCM3TOR. %-10.10s%-20.20s%04d-%02d-%02d %02d:%02d " 1607 1716 "PGM / RUN BY / DATE", revisionstr, user, 1900+t2->tm_year, 1608 1717 t2->tm_mon+1, t2->tm_mday, t2->tm_hour, t2->tm_min, t2->tm_sec); … … 1705 1814 CHECKFLAGS(D5,D5) 1706 1815 CHECKFLAGS(S5,S5) 1707 CHECKFLAGS(C5AB,C 5AB)1708 CHECKFLAGS(L5AB,L 5AB)1709 CHECKFLAGS(D5AB,D 5AB)1710 CHECKFLAGS(S5AB,S 5AB)1711 CHECKFLAGS(C5B,C 5B)1712 CHECKFLAGS(L5B,L 5B)1713 CHECKFLAGS(D5B,D 5B)1714 CHECKFLAGS(S5B,S 5B)1816 CHECKFLAGS(C5AB,C8) 1817 CHECKFLAGS(L5AB,L8) 1818 CHECKFLAGS(D5AB,D8) 1819 CHECKFLAGS(S5AB,S8) 1820 CHECKFLAGS(C5B,C7) 1821 CHECKFLAGS(L5B,L7) 1822 CHECKFLAGS(D5B,D7) 1823 CHECKFLAGS(S5B,S7) 1715 1824 CHECKFLAGS(C6,C6) 1716 1825 CHECKFLAGS(L6,L6) … … 1773 1882 "WAVELENGTH FACT L1/2"; 1774 1883 1884 hdata.numheaders = 18; 1885 1775 1886 if(Parser->rinex3) 1776 1887 { … … 1799 1910 CHECKFLAGSNEW(GPS, D1P, D1W) 1800 1911 CHECKFLAGSNEW(GPS, S1P, S1W) 1912 CHECKFLAGSNEW(GPS, C5, C5) 1913 CHECKFLAGSNEW(GPS, L5, L5) 1914 CHECKFLAGSNEW(GPS, D5, D5) 1915 CHECKFLAGSNEW(GPS, S5, S5) 1801 1916 1802 1917 hdata.data.named.typesofobsS = buffer; … … 1813 1928 CHECKFLAGSNEW(GPS, D2C, D2X) 1814 1929 CHECKFLAGSNEW(GPS, S2C, S2X) 1815 CHECKFLAGSNEW(GPS, C 5, C5)1816 CHECKFLAGSNEW(GPS, L 5, L5)1817 CHECKFLAGSNEW(GPS, D 5, D5)1818 CHECKFLAGSNEW(GPS, S 5, S5)1930 CHECKFLAGSNEW(GPS, C1N, C1X) 1931 CHECKFLAGSNEW(GPS, L1N, L1X) 1932 CHECKFLAGSNEW(GPS, D1N, D1X) 1933 CHECKFLAGSNEW(GPS, S1N, S1X) 1819 1934 1820 1935 hdata.data.named.typesofobsG = buffer; … … 1884 1999 "E %3d%-52.52s SYS / # / OBS TYPES", Parser->numdatatypesGAL, tbuffer); 1885 2000 if(Parser->numdatatypesGAL>13) 2001 { 2002 i += snprintf(buffer+i-1, buffersize, 2003 "\n %-52.52s SYS / # / OBS TYPES", tbuffer+13*4); 2004 } 2005 buffer += i; buffersize -= i; 2006 2007 tbufferpos = 0; 2008 2009 CHECKFLAGSNEW(COM, CB1, C2I) 2010 CHECKFLAGSNEW(COM, LB1, L2I) 2011 CHECKFLAGSNEW(COM, DB1, D2I) 2012 CHECKFLAGSNEW(COM, SB1, S2I) 2013 CHECKFLAGSNEW(COM, CB2, C7I) 2014 CHECKFLAGSNEW(COM, LB2, L7I) 2015 CHECKFLAGSNEW(COM, DB2, D7I) 2016 CHECKFLAGSNEW(COM, SB2, S7I) 2017 CHECKFLAGSNEW(COM, CB3, C6I) 2018 CHECKFLAGSNEW(COM, LB3, L6I) 2019 CHECKFLAGSNEW(COM, DB3, D6I) 2020 CHECKFLAGSNEW(COM, SB3, S6I) 2021 2022 hdata.data.named.typesofobsC = buffer; 2023 i = 1+snprintf(buffer, buffersize, 2024 "C %3d%-52.52s SYS / # / OBS TYPES", Parser->numdatatypesCOM, tbuffer); 2025 if(Parser->numdatatypesCOM>13) 2026 { 2027 i += snprintf(buffer+i-1, buffersize, 2028 "\n %-52.52s SYS / # / OBS TYPES", tbuffer+13*4); 2029 } 2030 buffer += i; buffersize -= i; 2031 2032 tbufferpos = 0; 2033 2034 CHECKFLAGSNEW(QZS, C1, C1C) 2035 CHECKFLAGSNEW(QZS, L1C, L1C) 2036 CHECKFLAGSNEW(QZS, D1C, D1C) 2037 CHECKFLAGSNEW(QZS, S1C, S1C) 2038 2039 CHECKFLAGSNEW(QZS, CSAIF, C1Z) 2040 CHECKFLAGSNEW(QZS, LSAIF, L1Z) 2041 CHECKFLAGSNEW(QZS, DSAIF, D1Z) 2042 CHECKFLAGSNEW(QZS, SSAIF, S1Z) 2043 2044 CHECKFLAGSNEW(QZS, C1N, C1X) 2045 CHECKFLAGSNEW(QZS, L1N, L1X) 2046 CHECKFLAGSNEW(QZS, D1N, D1X) 2047 CHECKFLAGSNEW(QZS, S1N, S1X) 2048 2049 CHECKFLAGSNEW(QZS, C6, C6) 2050 CHECKFLAGSNEW(QZS, L6, L6) 2051 CHECKFLAGSNEW(QZS, D6, D6) 2052 CHECKFLAGSNEW(QZS, S6, S6) 2053 2054 CHECKFLAGSNEW(QZS, C2, C2X) 2055 CHECKFLAGSNEW(QZS, L2C, L2X) 2056 CHECKFLAGSNEW(QZS, D2C, D2X) 2057 CHECKFLAGSNEW(QZS, S2C, S2X) 2058 2059 CHECKFLAGSNEW(QZS, C5, C5) 2060 CHECKFLAGSNEW(QZS, L5, L5) 2061 CHECKFLAGSNEW(QZS, D5, D5) 2062 CHECKFLAGSNEW(QZS, S5, S5) 2063 2064 hdata.data.named.typesofobsJ = buffer; 2065 i = 1+snprintf(buffer, buffersize, 2066 "J %3d%-52.52s SYS / # / OBS TYPES", Parser->numdatatypesQZS, tbuffer); 2067 if(Parser->numdatatypesQZS>13) 1886 2068 { 1887 2069 i += snprintf(buffer+i-1, buffersize, … … 1939 2121 CHECKFLAGS(D5,D5) 1940 2122 CHECKFLAGS(S5,S5) 1941 CHECKFLAGS(C5AB,C 5AB)1942 CHECKFLAGS(L5AB,L 5AB)1943 CHECKFLAGS(D5AB,D 5AB)1944 CHECKFLAGS(S5AB,S 5AB)1945 CHECKFLAGS(C5B,C 5B)1946 CHECKFLAGS(L5B,L 5B)1947 CHECKFLAGS(D5B,D 5B)1948 CHECKFLAGS(S5B,S 5B)2123 CHECKFLAGS(C5AB,C8) 2124 CHECKFLAGS(L5AB,L8) 2125 CHECKFLAGS(D5AB,D8) 2126 CHECKFLAGS(S5AB,S8) 2127 CHECKFLAGS(C5B,C7) 2128 CHECKFLAGS(L5B,L7) 2129 CHECKFLAGS(D5B,D7) 2130 CHECKFLAGS(S5B,S7) 1949 2131 CHECKFLAGS(C6,C6) 1950 2132 CHECKFLAGS(L6,L6) … … 1959 2141 i += snprintf(buffer+i-1, buffersize, 1960 2142 "\n %-54.54s# / TYPES OF OBSERV", tbuffer+9*6); 2143 } 2144 if(Parser->numdatatypesGPS>18) 2145 { 2146 i += snprintf(buffer+i-1, buffersize, 2147 "\n %-54.54s# / TYPES OF OBSERV", tbuffer+18*6); 1961 2148 } 1962 2149 buffer += i; buffersize -= i; … … 1975 2162 buffer += i; buffersize -= i; 1976 2163 } 1977 1978 hdata.numheaders = 15;1979 2164 1980 2165 if(Parser->headerfile) … … 2273 2458 for(i = 0; i < Parser->Data.numsats; ++i) 2274 2459 { 2275 int glo = 0, gal = 0 ;2460 int glo = 0, gal = 0, qzs = 0, com = 0; 2276 2461 if(Parser->Data.satellites[i] <= PRN_GPS_END) 2277 2462 RTCM3Text("G%02d", Parser->Data.satellites[i]); … … 2294 2479 gal = 1; 2295 2480 } 2296 else if(Parser->Data.satellites[i] >= PRN_WAAS_START 2297 && Parser->Data.satellites[i] <= PRN_WAAS_END) 2298 RTCM3Text("S%02d", Parser->Data.satellites[i] - PRN_WAAS_START+20); 2481 else if(Parser->Data.satellites[i] >= PRN_QZSS_START 2482 && Parser->Data.satellites[i] <= PRN_QZSS_END) 2483 { 2484 RTCM3Text("J%02d", Parser->Data.satellites[i] - (PRN_QZSS_START-1)); 2485 qzs = 1; 2486 } 2487 else if(Parser->Data.satellites[i] >= PRN_COMPASS_START 2488 && Parser->Data.satellites[i] <= PRN_COMPASS_END) 2489 { 2490 RTCM3Text("C%02d", Parser->Data.satellites[i] - (PRN_COMPASS_START-1)); 2491 com = 1; 2492 } 2493 else if(Parser->Data.satellites[i] >= PRN_SBAS_START 2494 && Parser->Data.satellites[i] <= PRN_SBAS_END) 2495 RTCM3Text("S%02d", Parser->Data.satellites[i] - PRN_SBAS_START+20); 2299 2496 else 2300 2497 RTCM3Text("%3d", Parser->Data.satellites[i]); … … 2384 2581 } 2385 2582 } 2583 else if(com) 2584 { 2585 for(j = 0; j < Parser->numdatatypesCOM; ++j) 2586 { 2587 int df = Parser->dataflagCOM[j]; 2588 int pos = Parser->dataposCOM[j]; 2589 if((Parser->Data.dataflags[i] & df) 2590 && !isnan(Parser->Data.measdata[i][pos]) 2591 && !isinf(Parser->Data.measdata[i][pos])) 2592 { 2593 char lli = ' '; 2594 char snr = ' '; 2595 if(df & GNSSDF_LB1DATA) 2596 { 2597 if(Parser->Data.dataflags2[i] & GNSSDF2_LOCKLOSSB1) 2598 lli = '1'; 2599 } 2600 if(df & GNSSDF_LB2DATA) 2601 { 2602 if(Parser->Data.dataflags2[i] & GNSSDF2_LOCKLOSSB2) 2603 lli = '1'; 2604 } 2605 if(df & GNSSDF_LB3DATA) 2606 { 2607 if(Parser->Data.dataflags2[i] & GNSSDF2_LOCKLOSSB3) 2608 lli = '1'; 2609 } 2610 RTCM3Text("%14.3f%c%c", 2611 Parser->Data.measdata[i][pos],lli,snr); 2612 } 2613 else 2614 { /* no or illegal data */ 2615 RTCM3Text(" "); 2616 } 2617 } 2618 } 2619 else if(qzs) 2620 { 2621 for(j = 0; j < Parser->numdatatypesQZS; ++j) 2622 { 2623 int df = Parser->dataflagQZS[j]; 2624 int pos = Parser->dataposQZS[j]; 2625 if((Parser->Data.dataflags[i] & df) 2626 && !isnan(Parser->Data.measdata[i][pos]) 2627 && !isinf(Parser->Data.measdata[i][pos])) 2628 { 2629 char lli = ' '; 2630 char snr = ' '; 2631 if(df & GNSSDF_L1CDATA) 2632 { 2633 if(Parser->Data.dataflags2[i] & GNSSDF2_LOCKLOSSL1) 2634 lli = '1'; 2635 snr = '0'+Parser->Data.snrL1[i]; 2636 } 2637 if(df & (GNSSDF_L2CDATA|GNSSDF_L2PDATA)) 2638 { 2639 if(Parser->Data.dataflags2[i] & GNSSDF2_LOCKLOSSL2) 2640 lli = '1'; 2641 snr = '0'+Parser->Data.snrL2[i]; 2642 } 2643 if(df & GNSSDF_L5DATA) 2644 { 2645 if(Parser->Data.dataflags2[i] & GNSSDF2_LOCKLOSSL5) 2646 lli = '1'; 2647 snr = ' '; 2648 } 2649 RTCM3Text("%14.3f%c%c", 2650 Parser->Data.measdata[i][pos],lli,snr); 2651 } 2652 else 2653 { /* no or illegal data */ 2654 RTCM3Text(" "); 2655 } 2656 } 2657 } 2386 2658 else 2387 2659 { … … 2439 2711 RTCM3Text("R%02d", Parser->Data.satellites[i] 2440 2712 - (PRN_GLONASS_START-1)); 2441 else if(Parser->Data.satellites[i] >= PRN_ WAAS_START2442 && Parser->Data.satellites[i] <= PRN_ WAAS_END)2713 else if(Parser->Data.satellites[i] >= PRN_SBAS_START 2714 && Parser->Data.satellites[i] <= PRN_SBAS_END) 2443 2715 RTCM3Text("S%02d", Parser->Data.satellites[i] 2444 - PRN_ WAAS_START+20);2716 - PRN_SBAS_START+20); 2445 2717 else if(Parser->Data.satellites[i] >= PRN_GALILEO_START 2446 2718 && Parser->Data.satellites[i] <= PRN_GALILEO_END) … … 2451 2723 RTCM3Text("E%02d", Parser->Data.satellites[i] 2452 2724 - (PRN_GIOVE_START-PRN_GIOVE_OFFSET)); 2725 else if(Parser->Data.satellites[i] >= PRN_QZSS_START 2726 && Parser->Data.satellites[i] <= PRN_QZSS_END) 2727 RTCM3Text("J%02d", Parser->Data.satellites[i] 2728 - (PRN_QZSS_START-1)); 2729 else if(Parser->Data.satellites[i] >= PRN_COMPASS_START 2730 && Parser->Data.satellites[i] <= PRN_COMPASS_END) 2731 RTCM3Text("C%02d", Parser->Data.satellites[i] 2732 - (PRN_COMPASS_START-1)); 2453 2733 else 2454 2734 RTCM3Text("%3d", Parser->Data.satellites[i]); … … 2468 2748 RTCM3Text("R%02d", Parser->Data.satellites[i] 2469 2749 - (PRN_GLONASS_START-1)); 2470 else if(Parser->Data.satellites[i] >= PRN_ WAAS_START2471 && Parser->Data.satellites[i] <= PRN_ WAAS_END)2750 else if(Parser->Data.satellites[i] >= PRN_SBAS_START 2751 && Parser->Data.satellites[i] <= PRN_SBAS_END) 2472 2752 RTCM3Text("S%02d", Parser->Data.satellites[i] 2473 - PRN_ WAAS_START+20);2753 - PRN_SBAS_START+20); 2474 2754 else if(Parser->Data.satellites[i] >= PRN_GALILEO_START 2475 2755 && Parser->Data.satellites[i] <= PRN_GALILEO_END) … … 2480 2760 RTCM3Text("E%02d", Parser->Data.satellites[i] 2481 2761 - (PRN_GIOVE_START-PRN_GIOVE_OFFSET)); 2762 else if(Parser->Data.satellites[i] >= PRN_QZSS_START 2763 && Parser->Data.satellites[i] <= PRN_QZSS_END) 2764 RTCM3Text("J%02d", Parser->Data.satellites[i] 2765 - (PRN_QZSS_START-1)); 2766 else if(Parser->Data.satellites[i] >= PRN_COMPASS_START 2767 && Parser->Data.satellites[i] <= PRN_COMPASS_END) 2768 RTCM3Text("C%02d", Parser->Data.satellites[i] 2769 - (PRN_COMPASS_START-1)); 2482 2770 else 2483 2771 RTCM3Text("%3d", Parser->Data.satellites[i]);
Note:
See TracChangeset
for help on using the changeset viewer.