Changeset 8843 in ntrip


Ignore:
Timestamp:
Nov 8, 2019, 10:44:37 AM (4 years ago)
Author:
stuerze
Message:

Harmonization of RTCM3 Signal ID Mapping and RTCM SSR Signal and Tracking Mode Identifiers

Location:
branches/BNC_2.12
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/BNC_2.12/ChangeLog.txt

    r8825 r8843  
     1--------------------------------------------------------------------------------
     2 BNC VERSION 2.12.11 (08.11.2019)
     3--------------------------------------------------------------------------------
     4    CHANGED   (08.11.2019): Harmonization of RTCM3 Signal ID Mapping and
     5                            RTCM SSR Signal and Tracking Mode Identifiers
     6                            for BDS and QZSS
     7
    18--------------------------------------------------------------------------------
    29 BNC VERSION 2.12.10 (02.10.2019)
  • branches/BNC_2.12/src/RTCM3/RTCM3Decoder.cpp

    r8819 r8843  
    356356        {0.0, 0},
    357357        {0.0, 0},
    358         {GPS_WAVELENGTH_L1, "1Z"}, // not defined in RTCM3.3?
     358        {0.0, 0},
    359359        {0.0, 0},
    360360        {0.0, 0},
     
    421421    };
    422422
    423 /**
    424  * MSM signal types for IRNSS
    425  *
    426  * NOTE: Uses 0.0, 1.0 for wavelength as sat index dependence is done later!
    427  */
     423/** MSM signal types for IRNSS */
    428424static struct CodeData irn[RTCM3_MSM_NUMSIG] = {
    429425        {0.0, 0},
     
    751747            case 'I':
    752748              cd = irn[RTCM3_MSM_NUMSIG - j - 1];
    753               break;             
     749              break;
    754750          }
    755751          if (cd.code) {
     
    16811677            if (DecodeIRNSSEphemeris(_Message, _BlockSize))
    16821678              decoded = true;
    1683             break;           
     1679            break;
    16841680          case 1045:
    16851681          case 1046:
  • branches/BNC_2.12/src/RTCM3/RTCM3coDecoder.cpp

    r8842 r8843  
    687687      case CODETYPEGPS_L1_P:          return "1P";
    688688      case CODETYPEGPS_L1_Z:          return "1W";
    689       case CODETYPEGPS_L1_Y:          return "1Y";
    690       case CODETYPEGPS_L1_M:          return "1M";
     689      //case CODETYPEGPS_L1_Y:          return "1Y";
     690      //case CODETYPEGPS_L1_M:          return "1M";
     691      //case CODETYPEGPS_SEMI_CODELESS: return "2D";
    691692      case CODETYPEGPS_L2_CA:         return "2C";
    692       case CODETYPEGPS_SEMI_CODELESS: return "2D";
     693      case CODETYPEGPS_L2_P:          return "2P";
     694      case CODETYPEGPS_L2_Z:          return "2W";
     695
    693696      case CODETYPEGPS_L2C_M:         return "2S";
    694697      case CODETYPEGPS_L2C_L:         return "2L";
    695698      case CODETYPEGPS_L2C_ML:        return "2X";
    696       case CODETYPEGPS_L2_P:          return "2P";
    697       case CODETYPEGPS_L2_Z:          return "2W";
    698       case CODETYPEGPS_L2_Y:          return "2Y";
    699       case CODETYPEGPS_L2_M:          return "2M";
     699
     700      //case CODETYPEGPS_L2_Y:          return "2Y";
     701      //case CODETYPEGPS_L2_M:          return "2M";
     702
    700703      case CODETYPEGPS_L5_I:          return "5I";
    701704      case CODETYPEGPS_L5_Q:          return "5Q";
    702705      case CODETYPEGPS_L5_IQ:         return "5X";
     706
    703707      case CODETYPEGPS_L1C_D:         return "1S";
    704708      case CODETYPEGPS_L1C_P:         return "1L";
     
    711715      case CODETYPEGLONASS_L1_CA:     return "1C";
    712716      case CODETYPEGLONASS_L1_P:      return "1P";
     717
    713718      case CODETYPEGLONASS_L2_CA:     return "2C";
    714719      case CODETYPEGLONASS_L2_P:      return "2P";
     720
    715721      case CODETYPEGLONASS_L1a_OCd:   return "4A";
    716722      case CODETYPEGLONASS_L1a_OCp:   return "4B";
    717723      case CODETYPEGLONASS_L1a_OCdp:  return "4X";
     724
    718725      case CODETYPEGLONASS_L2a_CSI:   return "6A";
    719726      case CODETYPEGLONASS_L2a_OCp:   return "6B";
    720727      case CODETYPEGLONASS_L2a_CSIOCp:return "6X";
     728
    721729      case CODETYPEGLONASS_L3_I:      return "3I";
    722730      case CODETYPEGLONASS_L3_Q:      return "3Q";
     
    732740      case CODETYPEGALILEO_E1_BC:     return "1X";
    733741      case CODETYPEGALILEO_E1_ABC:    return "1Z";
     742
    734743      case CODETYPEGALILEO_E5A_I:     return "5I";
    735744      case CODETYPEGALILEO_E5A_Q:     return "5Q";
    736745      case CODETYPEGALILEO_E5A_IQ:    return "5X";
     746
    737747      case CODETYPEGALILEO_E5B_I:     return "7I";
    738748      case CODETYPEGALILEO_E5B_Q:     return "7Q";
    739749      case CODETYPEGALILEO_E5B_IQ:    return "7X";
     750
    740751      case CODETYPEGALILEO_E5_I:      return "8I";
    741752      case CODETYPEGALILEO_E5_Q:      return "8Q";
    742753      case CODETYPEGALILEO_E5_IQ:     return "8X";
     754
    743755      case CODETYPEGALILEO_E6_A:      return "6A";
    744756      case CODETYPEGALILEO_E6_B:      return "6B";
     
    752764    switch (type) {
    753765      case CODETYPEQZSS_L1_CA:         return "1C";
    754       case CODETYPEQZSS_L1C_D:         return "1S";
    755       case CODETYPEQZSS_L1C_P:         return "1L";
     766
     767      case CODETYPEQZSS_L6_D:          return "6S";
     768      case CODETYPEQZSS_L6_P:          return "6L";
     769      case CODETYPEQZSS_L6_DP:         return "6X";
     770
    756771      case CODETYPEQZSS_L2C_M:         return "2S";
    757772      case CODETYPEQZSS_L2C_L:         return "2L";
    758773      case CODETYPEQZSS_L2C_ML:        return "2X";
     774
    759775      case CODETYPEQZSS_L5_I:          return "5I";
    760776      case CODETYPEQZSS_L5_Q:          return "5Q";
    761777      case CODETYPEQZSS_L5_IQ:         return "5X";
    762       case CODETYPEQZSS_L6_D:          return "6S";
    763       case CODETYPEQZSS_L6_P:          return "6L";
    764       case CODETYPEQZSS_L6_DP:         return "6X";
     778
     779      case CODETYPEQZSS_L1C_D:         return "1S";
     780      case CODETYPEQZSS_L1C_P:         return "1L";
    765781      case CODETYPEQZSS_L1C_DP:        return "1X";
    766       case CODETYPEQZSS_L1_S:          return "1Z";
    767       case CODETYPEQZSS_L5_D:          return "5D";
    768       case CODETYPEQZSS_L5_P:          return "5P";
    769       case CODETYPEQZSS_L5_DP:         return "5Z";
    770       case CODETYPEQZSS_L6_E:          return "6E";
    771       case CODETYPEQZSS_L6_DE:         return "6Z";
    772782      default: return "";
    773783    }
     
    776786    switch (type) {
    777787      case CODETYPE_SBAS_L1_CA:       return "1C";
     788
    778789      case CODETYPE_SBAS_L5_I:        return "5I";
    779790      case CODETYPE_SBAS_L5_Q:        return "5Q";
     
    787798      case CODETYPE_BDS_B1_Q:         return "2Q";
    788799      case CODETYPE_BDS_B1_IQ:        return "2X";
     800
    789801      case CODETYPE_BDS_B3_I:         return "6I";
    790802      case CODETYPE_BDS_B3_Q:         return "6Q";
    791803      case CODETYPE_BDS_B3_IQ:        return "6X";
     804
    792805      case CODETYPE_BDS_B2_I:         return "7I";
    793806      case CODETYPE_BDS_B2_Q:         return "7Q";
    794807      case CODETYPE_BDS_B2_IQ:        return "7X";
     808
    795809      case CODETYPE_BDS_B2a_D:        return "5D";
    796810      case CODETYPE_BDS_B2a_P:        return "5P";
    797811      case CODETYPE_BDS_B2a_DP:       return "5X";
     812
    798813      case CODETYPE_BDS_B1C_D:        return "1D";
    799814      case CODETYPE_BDS_B1C_P:        return "1P";
  • branches/BNC_2.12/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.h

    r8840 r8843  
    144144  CODETYPEGPS_L1_P           = 1,
    145145  CODETYPEGPS_L1_Z           = 2,
    146   CODETYPEGPS_L1_Y           = 3,
    147   CODETYPEGPS_L1_M           = 4,
     146  //CODETYPEGPS_L1_Y           = 3,
     147  //CODETYPEGPS_L1_M           = 4,
    148148  CODETYPEGPS_L2_CA          = 5,
    149   CODETYPEGPS_SEMI_CODELESS  = 6,
     149  //CODETYPEGPS_SEMI_CODELESS  = 6,
    150150  CODETYPEGPS_L2C_M          = 7,
    151151  CODETYPEGPS_L2C_L          = 8,
     
    153153  CODETYPEGPS_L2_P           = 10,
    154154  CODETYPEGPS_L2_Z           = 11,
    155   CODETYPEGPS_L2_Y           = 12,
    156   CODETYPEGPS_L2_M           = 13,
     155  //CODETYPEGPS_L2_Y           = 12,
     156  //CODETYPEGPS_L2_M           = 13,
    157157  CODETYPEGPS_L5_I           = 14,
    158158  CODETYPEGPS_L5_Q           = 15,
     
    175175  CODETYPEGLONASS_L3_Q       = 11,
    176176  CODETYPEGLONASS_L3_IQ      = 12,
    177 
    178177
    179178  CODETYPEGALILEO_E1_A       = 0,
     
    209208  CODETYPEQZSS_L6_P          = 10,
    210209  CODETYPEQZSS_L6_DP         = 11,
    211   CODETYPEQZSS_L1C_DP        = 12,
     210  CODETYPEQZSS_L1C_DP        = 12,/*
    212211  CODETYPEQZSS_L1_S          = 13,
    213212  CODETYPEQZSS_L5_D          = 14,
     
    215214  CODETYPEQZSS_L5_DP         = 16,
    216215  CODETYPEQZSS_L6_E          = 17,
    217   CODETYPEQZSS_L6_DE         = 18,
     216  CODETYPEQZSS_L6_DE         = 18,*/
    218217
    219218  CODETYPE_SBAS_L1_CA        = 0,
  • branches/BNC_2.12/src/bncversion.h

    r8796 r8843  
    33#define BNCVERSION_H
    44
    5 #define BNCVERSION "2.12.10"
     5#define BNCVERSION "2.12.11"
    66#define BNCPGMNAME "BNC " BNCVERSION
    77
  • branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp

    r8841 r8843  
    684684              biasSat->Biases[ii].Bias = it.value();
    685685            }
    686             else if (it.key() == "2D") {
    687               int ii = biasSat->NumberOfCodeBiases;
    688               if (ii >= CLOCKORBIT_NUMBIAS)
    689                 break;
    690               biasSat->NumberOfCodeBiases += 1;
    691               biasSat->Biases[ii].Type = CODETYPEGPS_SEMI_CODELESS;
    692               biasSat->Biases[ii].Bias = it.value();
    693             }
    694686            else if (it.key() == "2S") {
    695687              int ii = biasSat->NumberOfCodeBiases;
     
    10541046              biasSat->Biases[ii].Bias = it.value();
    10551047            }
     1048            else if (it.key() == "1X") {
     1049              int ii = biasSat->NumberOfCodeBiases;
     1050              if (ii >= CLOCKORBIT_NUMBIAS)
     1051                break;
     1052              biasSat->NumberOfCodeBiases += 1;
     1053              biasSat->Biases[ii].Type = CODETYPEQZSS_L1C_DP;
     1054              biasSat->Biases[ii].Bias = it.value();
     1055            }
    10561056            else if (it.key() == "2S") {
    10571057              int ii = biasSat->NumberOfCodeBiases;
     
    11261126              biasSat->Biases[ii].Bias = it.value();
    11271127            }
    1128             else if (it.key() == "1X") {
    1129               int ii = biasSat->NumberOfCodeBiases;
    1130               if (ii >= CLOCKORBIT_NUMBIAS)
    1131                 break;
    1132               biasSat->NumberOfCodeBiases += 1;
    1133               biasSat->Biases[ii].Type = CODETYPEQZSS_L1C_DP;
    1134               biasSat->Biases[ii].Bias = it.value();
    1135             }
    1136             else if (it.key() == "1Z") {
    1137               int ii = biasSat->NumberOfCodeBiases;
    1138               if (ii >= CLOCKORBIT_NUMBIAS)
    1139                 break;
    1140               biasSat->NumberOfCodeBiases += 1;
    1141               biasSat->Biases[ii].Type = CODETYPEQZSS_L1_S;
    1142               biasSat->Biases[ii].Bias = it.value();
    1143             }
    1144             else if (it.key() == "5D") {
    1145               int ii = biasSat->NumberOfCodeBiases;
    1146               if (ii >= CLOCKORBIT_NUMBIAS)
    1147                 break;
    1148               biasSat->NumberOfCodeBiases += 1;
    1149               biasSat->Biases[ii].Type = CODETYPEQZSS_L5_D;
    1150               biasSat->Biases[ii].Bias = it.value();
    1151             }
    1152             else if (it.key() == "5P") {
    1153               int ii = biasSat->NumberOfCodeBiases;
    1154               if (ii >= CLOCKORBIT_NUMBIAS)
    1155                 break;
    1156               biasSat->NumberOfCodeBiases += 1;
    1157               biasSat->Biases[ii].Type = CODETYPEQZSS_L5_P;
    1158               biasSat->Biases[ii].Bias = it.value();
    1159             }
    1160             else if (it.key() == "5Z") {
    1161               int ii = biasSat->NumberOfCodeBiases;
    1162               if (ii >= CLOCKORBIT_NUMBIAS)
    1163                 break;
    1164               biasSat->NumberOfCodeBiases += 1;
    1165               biasSat->Biases[ii].Type = CODETYPEQZSS_L5_DP;
    1166               biasSat->Biases[ii].Bias = it.value();
    1167             }
    1168             else if (it.key() == "6E") {
    1169               int ii = biasSat->NumberOfCodeBiases;
    1170               if (ii >= CLOCKORBIT_NUMBIAS)
    1171                 break;
    1172               biasSat->NumberOfCodeBiases += 1;
    1173               biasSat->Biases[ii].Type = CODETYPEQZSS_L6_E;
    1174               biasSat->Biases[ii].Bias = it.value();
    1175             }
    1176             else if (it.key() == "6Z") {
    1177               int ii = biasSat->NumberOfCodeBiases;
    1178               if (ii >= CLOCKORBIT_NUMBIAS)
    1179                 break;
    1180               biasSat->NumberOfCodeBiases += 1;
    1181               biasSat->Biases[ii].Type = CODETYPEQZSS_L6_DE;
    1182               biasSat->Biases[ii].Bias = it.value();
    1183             }
    1184            }
     1128          }
    11851129        }
    11861130        else if (prn.system() == 'S') {
     
    14451389              phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
    14461390            }
    1447             else if (pbSig.type == "2D") {
    1448               int ii = phasebiasSat->NumberOfPhaseBiases;
    1449               if (ii >= CLOCKORBIT_NUMBIAS)
    1450                 break;
    1451               phasebiasSat->NumberOfPhaseBiases += 1;
    1452               phasebiasSat->Biases[ii].Type = CODETYPEGPS_SEMI_CODELESS;
    1453               phasebiasSat->Biases[ii].Bias = pbSig.bias;
    1454               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
    1455               phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
    1456               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
    1457             }
    14581391            else if (pbSig.type == "2S") {
    14591392              int ii = phasebiasSat->NumberOfPhaseBiases;
     
    19791912              phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
    19801913            }
     1914            else if (pbSig.type == "1X") {
     1915              int ii = phasebiasSat->NumberOfPhaseBiases;
     1916              if (ii >= CLOCKORBIT_NUMBIAS)
     1917                break;
     1918              phasebiasSat->NumberOfPhaseBiases += 1;
     1919              phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L1C_DP;
     1920              phasebiasSat->Biases[ii].Bias = pbSig.bias;
     1921              phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
     1922              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
     1923              phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
     1924            }
    19811925            else if (pbSig.type == "2S") {
    19821926              int ii = phasebiasSat->NumberOfPhaseBiases;
     
    20722016              phasebiasSat->NumberOfPhaseBiases += 1;
    20732017              phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L6_DP;
    2074               phasebiasSat->Biases[ii].Bias = pbSig.bias;
    2075               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
    2076               phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
    2077               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
    2078             }
    2079             else if (pbSig.type == "1X") {
    2080               int ii = phasebiasSat->NumberOfPhaseBiases;
    2081               if (ii >= CLOCKORBIT_NUMBIAS)
    2082                 break;
    2083               phasebiasSat->NumberOfPhaseBiases += 1;
    2084               phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L1C_DP;
    2085               phasebiasSat->Biases[ii].Bias = pbSig.bias;
    2086               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
    2087               phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
    2088               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
    2089             }
    2090             else if (pbSig.type == "1Z") {
    2091               int ii = phasebiasSat->NumberOfPhaseBiases;
    2092               if (ii >= CLOCKORBIT_NUMBIAS)
    2093                 break;
    2094               phasebiasSat->NumberOfPhaseBiases += 1;
    2095               phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L1_S;
    2096               phasebiasSat->Biases[ii].Bias = pbSig.bias;
    2097               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
    2098               phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
    2099               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
    2100             }
    2101             else if (pbSig.type == "5D") {
    2102               int ii = phasebiasSat->NumberOfPhaseBiases;
    2103               if (ii >= CLOCKORBIT_NUMBIAS)
    2104                 break;
    2105               phasebiasSat->NumberOfPhaseBiases += 1;
    2106               phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L5_D;
    2107               phasebiasSat->Biases[ii].Bias = pbSig.bias;
    2108               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
    2109               phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
    2110               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
    2111             }
    2112             else if (pbSig.type == "5P") {
    2113               int ii = phasebiasSat->NumberOfPhaseBiases;
    2114               if (ii >= CLOCKORBIT_NUMBIAS)
    2115                 break;
    2116               phasebiasSat->NumberOfPhaseBiases += 1;
    2117               phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L5_P;
    2118               phasebiasSat->Biases[ii].Bias = pbSig.bias;
    2119               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
    2120               phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
    2121               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
    2122             }
    2123             else if (pbSig.type == "5Z") {
    2124               int ii = phasebiasSat->NumberOfPhaseBiases;
    2125               if (ii >= CLOCKORBIT_NUMBIAS)
    2126                 break;
    2127               phasebiasSat->NumberOfPhaseBiases += 1;
    2128               phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L5_DP;
    2129               phasebiasSat->Biases[ii].Bias = pbSig.bias;
    2130               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
    2131               phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
    2132               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
    2133             }
    2134             else if (pbSig.type == "6E") {
    2135               int ii = phasebiasSat->NumberOfPhaseBiases;
    2136               if (ii >= CLOCKORBIT_NUMBIAS)
    2137                 break;
    2138               phasebiasSat->NumberOfPhaseBiases += 1;
    2139               phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L6_E;
    2140               phasebiasSat->Biases[ii].Bias = pbSig.bias;
    2141               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
    2142               phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
    2143               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
    2144             }
    2145             else if (pbSig.type == "6Z") {
    2146               int ii = phasebiasSat->NumberOfPhaseBiases;
    2147               if (ii >= CLOCKORBIT_NUMBIAS)
    2148                 break;
    2149               phasebiasSat->NumberOfPhaseBiases += 1;
    2150               phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L6_DE;
    21512018              phasebiasSat->Biases[ii].Bias = pbSig.bias;
    21522019              phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
Note: See TracChangeset for help on using the changeset viewer.