Ignore:
Timestamp:
Jun 28, 2012, 2:11:09 PM (12 years ago)
Author:
stoecker
Message:

first set of changes for better multiplattform support

File:
1 edited

Legend:

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

    r4365 r4367  
    227227static const int months[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
    228228static const struct leapseconds leap[] = {
    229 /*{31, 12, 1971, 11},*/
     229/*{31, 12, 1971, 10},*/
     230/*{30, 06, 1972, 11},*/
    230231/*{31, 12, 1972, 12},*/
    231232/*{31, 12, 1973, 13},*/
     
    904905      }
    905906      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:
    913914      if(handle->GPSWeek)
    914915      {
     
    967968          {0,0,0,0,0,0,0},
    968969          {0,0,0,0,0,0,0},
    969           {GNSSENTRY_C1DATA,GNSSENTRY_L1CDATA,GNSSENTRY_D1CDATA,
    970           GNSSENTRY_S1CDATA,GNSSDF2_LOCKLOSSL1,0.0,"1S"},
    971           {GNSSENTRY_C1DATA,GNSSENTRY_L1CDATA,GNSSENTRY_D1CDATA,
    972           GNSSENTRY_S1CDATA,GNSSDF2_LOCKLOSSL1,0.0,"1L"},
    973           {GNSSENTRY_C1DATA,GNSSENTRY_L1CDATA,GNSSENTRY_D1CDATA,
    974           GNSSENTRY_S1CDATA,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"}
    975976        };
    976977        /* NOTE: Uses 0.0, 1.0 for wavelength as sat index dependence is done later! */
     
    10591060          {GNSSENTRY_C5DATA,GNSSENTRY_L5DATA,GNSSENTRY_D5DATA,
    10601061          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},
    10611148          {0,0,0,0,0,0,0},
    10621149          {0,0,0,0,0,0,0},
     
    10821169
    10831170        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)
    10851178          sys = RTCM3_MSM_GALILEO;
    10861179        else if(type >= 1081)
     
    10891182        switch(sys)
    10901183        {
     1184        case RTCM3_MSM_COMPASS:
    10911185        case RTCM3_MSM_GALILEO: /* use DF004 instead of DF248 */
     1186        case RTCM3_MSM_QZSS:
     1187        case RTCM3_MSM_SBAS:
    10921188        case RTCM3_MSM_GPS:
    10931189          GETBITS(i,30)
     
    12841380              switch(sys)
    12851381              {
    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];
    12871392                wl = cd.wl;
    12881393                break;
     
    13231428                if(num == gnss->numsats)
    13241429                  gnss->satellites[gnss->numsats++] = fullsat;
     1430
     1431                gnss->codetype[num] = cd.code;
    13251432
    13261433                switch(type % 10)
     
    15181625  const char *typesofobsS; /* should not be modified outside */
    15191626  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 */
    15201629  const char *timeoffirstobs; /* should not be modified outside */
    15211630};
     
    16021711  return 1+snprintf(buffer, buffersize,
    16031712  rinex3 ?
    1604   "RTCM3TORINEX %-7.7s%-20.20s%04d%02d%02d %02d%02d%02d UTC "
     1713  "RTCM3TOR. %-10.10s%-20.20s%04d%02d%02d %02d%02d%02d UTC "
    16051714  "PGM / RUN BY / DATE" :
    1606   "RTCM3TORINEX %-7.7s%-20.20s%04d-%02d-%02d %02d:%02d    "
     1715  "RTCM3TOR. %-10.10s%-20.20s%04d-%02d-%02d %02d:%02d    "
    16071716  "PGM / RUN BY / DATE", revisionstr, user, 1900+t2->tm_year,
    16081717  t2->tm_mon+1, t2->tm_mday, t2->tm_hour, t2->tm_min, t2->tm_sec);
     
    17051814    CHECKFLAGS(D5,D5)
    17061815    CHECKFLAGS(S5,S5)
    1707     CHECKFLAGS(C5AB,C5AB)
    1708     CHECKFLAGS(L5AB,L5AB)
    1709     CHECKFLAGS(D5AB,D5AB)
    1710     CHECKFLAGS(S5AB,S5AB)
    1711     CHECKFLAGS(C5B,C5B)
    1712     CHECKFLAGS(L5B,L5B)
    1713     CHECKFLAGS(D5B,D5B)
    1714     CHECKFLAGS(S5B,S5B)
     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)
    17151824    CHECKFLAGS(C6,C6)
    17161825    CHECKFLAGS(L6,L6)
     
    17731882  "WAVELENGTH FACT L1/2";
    17741883
     1884  hdata.numheaders = 18;
     1885
    17751886  if(Parser->rinex3)
    17761887  {
     
    17991910    CHECKFLAGSNEW(GPS, D1P, D1W)
    18001911    CHECKFLAGSNEW(GPS, S1P, S1W)
     1912    CHECKFLAGSNEW(GPS, C5,  C5)
     1913    CHECKFLAGSNEW(GPS, L5,  L5)
     1914    CHECKFLAGSNEW(GPS, D5,  D5)
     1915    CHECKFLAGSNEW(GPS, S5,  S5)
    18011916
    18021917    hdata.data.named.typesofobsS = buffer;
     
    18131928    CHECKFLAGSNEW(GPS, D2C, D2X)
    18141929    CHECKFLAGSNEW(GPS, S2C, S2X)
    1815     CHECKFLAGSNEW(GPS, C5,  C5)
    1816     CHECKFLAGSNEW(GPS, L5,  L5)
    1817     CHECKFLAGSNEW(GPS, D5,  D5)
    1818     CHECKFLAGSNEW(GPS, S5,  S5)
     1930    CHECKFLAGSNEW(GPS, C1N, C1X)
     1931    CHECKFLAGSNEW(GPS, L1N, L1X)
     1932    CHECKFLAGSNEW(GPS, D1N, D1X)
     1933    CHECKFLAGSNEW(GPS, S1N, S1X)
    18191934
    18201935    hdata.data.named.typesofobsG = buffer;
     
    18841999    "E  %3d%-52.52s  SYS / # / OBS TYPES", Parser->numdatatypesGAL, tbuffer);
    18852000    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)
    18862068    {
    18872069      i += snprintf(buffer+i-1, buffersize,
     
    19392121    CHECKFLAGS(D5,D5)
    19402122    CHECKFLAGS(S5,S5)
    1941     CHECKFLAGS(C5AB,C5AB)
    1942     CHECKFLAGS(L5AB,L5AB)
    1943     CHECKFLAGS(D5AB,D5AB)
    1944     CHECKFLAGS(S5AB,S5AB)
    1945     CHECKFLAGS(C5B,C5B)
    1946     CHECKFLAGS(L5B,L5B)
    1947     CHECKFLAGS(D5B,D5B)
    1948     CHECKFLAGS(S5B,S5B)
     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)
    19492131    CHECKFLAGS(C6,C6)
    19502132    CHECKFLAGS(L6,L6)
     
    19592141      i += snprintf(buffer+i-1, buffersize,
    19602142      "\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);
    19612148    }
    19622149    buffer += i; buffersize -= i;
     
    19752162    buffer += i; buffersize -= i;
    19762163  }
    1977 
    1978   hdata.numheaders = 15;
    19792164
    19802165  if(Parser->headerfile)
     
    22732458          for(i = 0; i < Parser->Data.numsats; ++i)
    22742459          {
    2275             int glo = 0, gal = 0;
     2460            int glo = 0, gal = 0, qzs = 0, com = 0;
    22762461            if(Parser->Data.satellites[i] <= PRN_GPS_END)
    22772462              RTCM3Text("G%02d", Parser->Data.satellites[i]);
     
    22942479              gal = 1;
    22952480            }
    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);
    22992496            else
    23002497              RTCM3Text("%3d", Parser->Data.satellites[i]);
     
    23842581              }
    23852582            }
     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            }
    23862658            else
    23872659            {
     
    24392711              RTCM3Text("R%02d", Parser->Data.satellites[i]
    24402712              - (PRN_GLONASS_START-1));
    2441             else if(Parser->Data.satellites[i] >= PRN_WAAS_START
    2442             && 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)
    24432715              RTCM3Text("S%02d", Parser->Data.satellites[i]
    2444               - PRN_WAAS_START+20);
     2716              - PRN_SBAS_START+20);
    24452717            else if(Parser->Data.satellites[i] >= PRN_GALILEO_START
    24462718            && Parser->Data.satellites[i] <= PRN_GALILEO_END)
     
    24512723              RTCM3Text("E%02d", Parser->Data.satellites[i]
    24522724              - (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));
    24532733            else
    24542734              RTCM3Text("%3d", Parser->Data.satellites[i]);
     
    24682748                RTCM3Text("R%02d", Parser->Data.satellites[i]
    24692749                - (PRN_GLONASS_START-1));
    2470               else if(Parser->Data.satellites[i] >= PRN_WAAS_START
    2471               && 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)
    24722752                RTCM3Text("S%02d", Parser->Data.satellites[i]
    2473                 - PRN_WAAS_START+20);
     2753                - PRN_SBAS_START+20);
    24742754              else if(Parser->Data.satellites[i] >= PRN_GALILEO_START
    24752755              && Parser->Data.satellites[i] <= PRN_GALILEO_END)
     
    24802760                RTCM3Text("E%02d", Parser->Data.satellites[i]
    24812761                - (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));
    24822770              else
    24832771                RTCM3Text("%3d", Parser->Data.satellites[i]);
Note: See TracChangeset for help on using the changeset viewer.