- Timestamp:
- Mar 11, 2025, 4:26:59 PM (42 hours ago)
- Location:
- trunk/BNC
- Files:
-
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/CHANGELOG.md
r10609 r10619 1 1 # Changelog 2 2 ## 2.13.2 (2025-02- 3 - FIXED: BUG in reading the RTNET format 3 4 - FIXED: Bug in writing code biases into a SSR file 4 5 - FIXED: Bug in GLO ephemeris RTCM3 encoder … … 15 16 - CHANGED: Obsolete qt-class members are replaced 16 17 - CHNAGED: from common receiver clock + ISBs to system specific receiver clocks in PPP mode 18 - CHANGED: IRNSS replaced by NavIC 17 19 18 20 ## 2.13.1 (2024-04-30) -
trunk/BNC/src/GPSDecoder.h
r10533 r10619 100 100 QList<t_recInfo> _recType; // RTCM receiver descriptor 101 101 QList<t_antRefPoint> _antList; // RTCM antenna XYZ 102 QList<t_helmertPar> _helmertPar; // List of Helmert parameter sets 102 QList<t_helmertPar> _helmertPar; // List of Helmert parameter sets 103 103 QList<t_serviceCrs> _serviceCrs; // Service CRS 104 104 QList<t_rtcmCrs> _rtcmCrs; // RTCM CRS -
trunk/BNC/src/RTCM3/RTCM3Decoder.cpp
r10599 r10619 425 425 }; 426 426 427 /** MSM signal types for IRNSS*/427 /** MSM signal types for NavIC */ 428 428 static struct CodeData irn[RTCM3_MSM_NUMSIG] = { 429 429 {0.0, 0}, … … 434 434 {0.0, 0}, 435 435 {0.0, 0}, 436 { IRNSS_WAVELENGTH_S, "9A"},437 {0.0, 0}, 438 {0.0, 0}, 439 {0.0, 0}, 440 {0.0, 0}, 441 {0.0, 0}, 442 {0.0, 0}, 443 {0.0, 0}, 444 {0.0, 0}, 445 {0.0, 0}, 446 {0.0, 0}, 447 {0.0, 0}, 448 {0.0, 0}, 449 {0.0, 0}, 450 { IRNSS_WAVELENGTH_L5, "5A"},436 {NavIC_WAVELENGTH_S, "9A"}, 437 {0.0, 0}, 438 {0.0, 0}, 439 {0.0, 0}, 440 {0.0, 0}, 441 {0.0, 0}, 442 {0.0, 0}, 443 {0.0, 0}, 444 {0.0, 0}, 445 {0.0, 0}, 446 {0.0, 0}, 447 {0.0, 0}, 448 {0.0, 0}, 449 {0.0, 0}, 450 {NavIC_WAVELENGTH_L5, "5A"}, 451 451 {0.0, 0}, 452 452 {0.0, 0}, … … 1467 1467 // 1468 1468 //////////////////////////////////////////////////////////////////////////// 1469 bool RTCM3Decoder::Decode IRNSSEphemeris(unsigned char* data, int size) {1469 bool RTCM3Decoder::DecodeNavICEphemeris(unsigned char* data, int size) { 1470 1470 bool decoded = false; 1471 1471 … … 2267 2267 break; 2268 2268 case 1041: 2269 if (Decode IRNSSEphemeris(_Message, _BlockSize))2269 if (DecodeNavICEphemeris(_Message, _BlockSize)) 2270 2270 decoded = true; 2271 2271 break; -
trunk/BNC/src/RTCM3/RTCM3Decoder.h
r10544 r10619 138 138 * @return <code>true</code> when data block was decodable 139 139 */ 140 bool Decode IRNSSEphemeris(unsigned char* buffer, int bufLen);140 bool DecodeNavICEphemeris(unsigned char* buffer, int bufLen); 141 141 /** 142 142 * Extract ephemeris data from 1045 and 1046 RTCM3 messages. -
trunk/BNC/src/RTCM3/ephEncoder.cpp
r10587 r10619 52 52 GPSADDBITS(1, fitIntervalFlag) 53 53 GPSADDBITS(3, 0) /* padding */ 54 } else if (eph.system() == t_eph:: IRNSS) {54 } else if (eph.system() == t_eph::NavIC) { 55 55 GPSADDBITS(12, 1041) 56 56 GPSADDBITS(6, eph._prn.number()) -
trunk/BNC/src/RTCM3/gnss.h
r10127 r10619 82 82 #define BDS_WAVELENGTH_B2b (LIGHTSPEED / BDS_FREQU_B2b) /* m */ 83 83 84 #define IRNSS_FREQU_L1 1575420000.0 /* Hz */85 #define IRNSS_FREQU_L5 1176450000.0 /* Hz */86 #define IRNSS_FREQU_S 2492028000.0 /* Hz */87 #define IRNSS_WAVELENGTH_L1 (LIGHTSPEED /IRNSS_FREQU_L1) /* m */88 #define IRNSS_WAVELENGTH_L5 (LIGHTSPEED /IRNSS_FREQU_L5) /* m */89 #define IRNSS_WAVELENGTH_S (LIGHTSPEED /IRNSS_FREQU_S) /* m */84 #define NavIC_FREQU_L1 1575420000.0 /* Hz */ 85 #define NavIC_FREQU_L5 1176450000.0 /* Hz */ 86 #define NavIC_FREQU_S 2492028000.0 /* Hz */ 87 #define NavIC_WAVELENGTH_L1 (LIGHTSPEED / NavIC_FREQU_L1) /* m */ 88 #define NavIC_WAVELENGTH_L5 (LIGHTSPEED / NavIC_FREQU_L5) /* m */ 89 #define NavIC_WAVELENGTH_S (LIGHTSPEED / NavIC_FREQU_S) /* m */ 90 90 91 91 #define R2R_PI 3.1415926535898 -
trunk/BNC/src/bncantex.cpp
r10234 r10619 189 189 line.indexOf("BEIDOU") == 0 || 190 190 line.indexOf("GALILEO") == 0 || 191 line.indexOf(" IRNSS") == 0 ){191 line.indexOf("NavIC") == 0 ){ 192 192 newAntMap->antName = line.mid(20,3); 193 193 } -
trunk/BNC/src/bncconst.cpp
r8629 r10619 66 66 case t_frequency::C8: return 1191795000.0; 67 67 case t_frequency::C6: return 1268520000.0; 68 // IRNSS68 // NavIC 69 69 case t_frequency::I5: return 1176450000.0; 70 70 case t_frequency::I9: return 2492028000.0; -
trunk/BNC/src/bncconst.h
r10251 r10619 61 61 C8, // B2(B2a+B2b) / 1191.795 (BDS-3 signals) 62 62 C6, // B3,B3A / 1268.52 63 // IRNSS63 // NavIC 64 64 I5, // L5 / 1176.45 65 65 I9, // S / 2492.028 … … 98 98 else if (tt == C8) return "C8"; 99 99 else if (tt == C6) return "C6"; 100 // IRNSS100 // NavIC 101 101 else if (tt == I5) return "I5"; 102 102 else if (tt == I9) return "I9"; … … 133 133 else if (s == "C8") return C8; 134 134 else if (s == "C6") return C6; 135 // IRNSS135 // NavIC 136 136 else if (s == "I5") return I5; 137 137 else if (s == "I9") return I9; -
trunk/BNC/src/bncephuser.cpp
r10587 r10619 306 306 } 307 307 // update interval: up to 24 hours 308 else if (eph->system() == t_eph:: IRNSS&& dt > 86400.0) {309 ephL->setCheckState(t_eph::outdated); 310 return; 311 } 312 } 313 } 314 308 else if (eph->system() == t_eph::NavIC && dt > 86400.0) { 309 ephL->setCheckState(t_eph::outdated); 310 return; 311 } 312 } 313 } 314 -
trunk/BNC/src/bncmain.cpp
r10596 r10619 311 311 " cmbQzss {QZSS correction usage [integer number: 0=no,2=yes]}\n" 312 312 " cmbSbas {SBAS correction usage [integer number: 0=no,2=yes]}\n" 313 " cmb Irnss{IRNSScorrection usage [integer number: 0=no,2=yes]}\n"313 " cmbNavic {NavIC correction usage [integer number: 0=no,2=yes]}\n" 314 314 "\n" 315 315 "Upload Corrections Panel keys:\n" -
trunk/BNC/src/bncsettings.cpp
r10542 r10619 180 180 setValue_p("cmbQzss", "0"); 181 181 setValue_p("cmbSbas", "0"); 182 setValue_p("cmb Irnss", "0");182 setValue_p("cmbNavic", "0"); 183 183 184 184 // Upload (clk) -
trunk/BNC/src/bncutils.cpp
r10599 r10619 290 290 } 291 291 // update interval: up to 24 hours 292 else if (eph->system() == t_eph:: IRNSS&& (fabs(dt > 86400.0))) {292 else if (eph->system() == t_eph::NavIC && (fabs(dt > 86400.0))) { 293 293 return true; 294 294 } … … 852 852 system == t_eph::SBAS|| 853 853 system == t_eph::QZSS|| 854 system == t_eph:: IRNSS) {854 system == t_eph::NavIC) { 855 855 if ((index >= 0) && (index <= 6)) { 856 856 if (index == 3) { … … 897 897 system == t_eph::SBAS || 898 898 system == t_eph::QZSS || 899 system == t_eph:: IRNSS) {899 system == t_eph::NavIC) { 900 900 901 901 if (accuracy <= 2.40) { -
trunk/BNC/src/bncwindow.cpp
r10532 r10619 544 544 _cmbSbasCheckBox = new QCheckBox(); 545 545 _cmbSbasCheckBox->setCheckState(Qt::CheckState(settings.value("cmbSbas").toInt())); 546 _cmb IrnssCheckBox = new QCheckBox();547 _cmb IrnssCheckBox->setCheckState(Qt::CheckState(settings.value("cmbIrnss").toInt()));546 _cmbNavicCheckBox = new QCheckBox(); 547 _cmbNavicCheckBox->setCheckState(Qt::CheckState(settings.value("cmbNavic").toInt())); 548 548 549 549 connect(_cmbGpsCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged())); … … 553 553 connect(_cmbQzssCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged())); 554 554 connect(_cmbSbasCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged())); 555 connect(_cmb IrnssCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));555 connect(_cmbNavicCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged())); 556 556 557 557 _cmbBsxFile = new qtFileChooser(0, qtFileChooser::File); … … 1328 1328 cmbLayout->addWidget(_cmbSbasCheckBox, 6, 15); 1329 1329 1330 cmbLayout->addWidget(new QLabel(" IRNSS"), 7, 14);1331 cmbLayout->addWidget(_cmb IrnssCheckBox, 7, 15);1330 cmbLayout->addWidget(new QLabel("NavIC"), 7, 14); 1331 cmbLayout->addWidget(_cmbNavicCheckBox, 7, 15); 1332 1332 cmbLayout->setRowStretch(9, 999); 1333 1333 … … 1428 1428 _rnxFileCheckBox->setWhatsThis(tr("<p>Tick check box 'Skeleton mandatory' in case you want that RINEX files are only produced if skeleton files are available for BNC. If no skeleton file is available for a particular source then no RINEX Observation file will be produced from the affected stream.</p><p>Note that a skeleton file contains RINEX header information such as receiver and antenna types. In case of stream conversion to RINEX Version 3, a skeleton file should also contain information on potentially available observation types. A missing skeleton file will therefore enforce BNC to only save a default set of RINEX 3 observation types. <i>[key: rnxOnlyWithSKL]</i></p>")); 1429 1429 _rnxScrpLineEdit->setWhatsThis(tr("<p>Whenever a RINEX Observation file is finally saved, you may want to compress, copy or upload it immediately, for example via FTP. BNC allows you to execute a script/batch file to carry out such operation.</p><p>Specify the full path of a script or batch file. BNC will pass the full RINEX Observation file path to the script as command line parameter (%1 on Windows systems, $1 on Unix/Linux/Mac systems). <i>[key: rnxScript]</i></p>")); 1430 _rnxV2Priority->setWhatsThis(tr("<p>Specify a priority list of characters defining signal attributes as defined in RINEX Version 3. Priorities will be used to map observations with RINEX Version 3 attributes from incoming streams to Version 2. The underscore character '_' stands for undefined attributes. A question mark '?' can be used as wildcard which represents any one character.</p><p>Signal priorities can be specified as equal for all systems, as system specific or as system and freq. specific. For example: </li><ul><li>'CWPX_?' (General signal priorities valid for all GNSS) </li><li>'I:ABCX' (System specific signal priorities for IRNSS) </li><li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities) </li></ul>Default is the following priority list 'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:18&DPX I:ABCX S:1&C S:5&IQX'. <i>[key: rnxV2Priority]</i></p>"));1430 _rnxV2Priority->setWhatsThis(tr("<p>Specify a priority list of characters defining signal attributes as defined in RINEX Version 3. Priorities will be used to map observations with RINEX Version 3 attributes from incoming streams to Version 2. The underscore character '_' stands for undefined attributes. A question mark '?' can be used as wildcard which represents any one character.</p><p>Signal priorities can be specified as equal for all systems, as system specific or as system and freq. specific. For example: </li><ul><li>'CWPX_?' (General signal priorities valid for all GNSS) </li><li>'I:ABCX' (System specific signal priorities for NavIC) </li><li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities) </li></ul>Default is the following priority list 'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:18&DPX I:ABCX S:1&C S:5&IQX'. <i>[key: rnxV2Priority]</i></p>")); 1431 1431 _rnxVersComboBox->setWhatsThis(tr("<p>Select the format for RINEX Observation files. <i>[key: rnxVersion]</i></p>")); 1432 1432 … … 1619 1619 _cmbQzssCheckBox->setWhatsThis(tr("<p>QZSS clock corrections shall be combined; QZSS Broadcast ephemeris and corrections are required. <i>[key: cmbQzss]</i></p>")); 1620 1620 _cmbSbasCheckBox->setWhatsThis(tr("<p>SBAS clock corrections shall be combined; SBAS Broadcast ephemeris and corrections are required. <i>[key: cmbSbas]</i></p>")); 1621 _cmb IrnssCheckBox->setWhatsThis(tr("<p>IRNSSclock corrections shall be combined;IRNSSBroadcast ephemeris and corrections are required. <i>[key: cmbIrnss]</i></p>"));1621 _cmbNavicCheckBox->setWhatsThis(tr("<p>NavIC clock corrections shall be combined; NavIC Broadcast ephemeris and corrections are required. <i>[key: cmbNavic]</i></p>")); 1622 1622 _cmbBsxFile->setWhatsThis(tr("<p> Specify a Bias SINEX File that will be used to add satellite code biases to the combined clocks. <i>[key: cmbBsxFile]</i></p>")); 1623 1623 … … 1778 1778 delete _cmbQzssCheckBox; 1779 1779 delete _cmbSbasCheckBox; 1780 delete _cmb IrnssCheckBox;1780 delete _cmbNavicCheckBox; 1781 1781 delete _cmbBsxFile; 1782 1782 _uploadEphTable->deleteLater(); … … 2271 2271 settings.setValue("cmbQzss", _cmbQzssCheckBox->checkState()); 2272 2272 settings.setValue("cmbSbas", _cmbSbasCheckBox->checkState()); 2273 settings.setValue("cmb Irnss", _cmbIrnssCheckBox->checkState());2273 settings.setValue("cmbNavic", _cmbNavicCheckBox->checkState()); 2274 2274 settings.setValue("cmbBsxFile", _cmbBsxFile->fileName()); 2275 2275 … … 2806 2806 enableWidget(true, _cmbQzssCheckBox); 2807 2807 enableWidget(true, _cmbSbasCheckBox); 2808 enableWidget(true, _cmb IrnssCheckBox);2808 enableWidget(true, _cmbNavicCheckBox); 2809 2809 enableWidget(true, _cmbBsxFile); 2810 2810 } … … 2821 2821 enableWidget(false, _cmbQzssCheckBox); 2822 2822 enableWidget(false, _cmbSbasCheckBox); 2823 enableWidget(false, _cmb IrnssCheckBox);2823 enableWidget(false, _cmbNavicCheckBox); 2824 2824 enableWidget(false, _cmbBsxFile); 2825 2825 } -
trunk/BNC/src/bncwindow.h
r10480 r10619 229 229 QCheckBox* _cmbQzssCheckBox; 230 230 QCheckBox* _cmbSbasCheckBox; 231 QCheckBox* _cmb IrnssCheckBox;231 QCheckBox* _cmbNavicCheckBox; 232 232 qtFileChooser* _cmbBsxFile; 233 233 -
trunk/BNC/src/combination/bncbiassnx.cpp
r10275 r10619 56 56 _useGnss['J'] = (Qt::CheckState(settings.value("cmbQzss").toInt()) == Qt::Checked) ? true : false; 57 57 _useGnss['S'] = (Qt::CheckState(settings.value("cmbSbas").toInt()) == Qt::Checked) ? true : false; 58 _useGnss['I'] = (Qt::CheckState(settings.value("cmb Irnss").toInt()) == Qt::Checked) ? true : false;58 _useGnss['I'] = (Qt::CheckState(settings.value("cmbNavic").toInt()) == Qt::Checked) ? true : false; 59 59 } 60 60 -
trunk/BNC/src/combination/bnccomb.cpp
r10612 r10619 162 162 _masterMissingEpochs['S'] = 0; 163 163 } 164 _use Irnss= (Qt::CheckState(settings.value("cmbIrnss").toInt()) == Qt::Checked) ? true : false;165 if (_use Irnss) {166 _cmbSysPrn['I'] = t_prn::MAXPRN_ IRNSS;164 _useNavic = (Qt::CheckState(settings.value("cmbNavic").toInt()) == Qt::Checked) ? true : false; 165 if (_useNavic) { 166 _cmbSysPrn['I'] = t_prn::MAXPRN_NavIC; 167 167 _masterMissingEpochs['I'] = 0; 168 168 } -
trunk/BNC/src/combination/bnccomb.h
r10479 r10619 282 282 bool _useQzss; 283 283 bool _useSbas; 284 bool _use Irnss;284 bool _useNavic; 285 285 bool _running; 286 286 }; -
trunk/BNC/src/ephemeris.cpp
r10614 r10619 430 430 // BROADCAST ORBIT - 5 431 431 // ===================== 432 else if (iLine == 5 && system() != t_eph:: IRNSS) {432 else if (iLine == 5 && system() != t_eph::NavIC) { 433 433 if (type() == t_eph::CNAV || 434 434 type() == t_eph::CNV2) { … … 450 450 } 451 451 } 452 } else if (iLine == 5 && system() == t_eph:: IRNSS) {452 } else if (iLine == 5 && system() == t_eph::NavIC) { 453 453 if (type() == t_eph::LNAV) { 454 454 if ( readDbl(line, pos[0], fieldLen, _IDOT) … … 470 470 // BROADCAST ORBIT - 6 471 471 // ===================== 472 else if (iLine == 6 && system() != t_eph:: IRNSS) {472 else if (iLine == 6 && system() != t_eph::NavIC) { 473 473 if (type() == t_eph::CNAV || 474 474 type() == t_eph::CNV2) { … … 490 490 } 491 491 } 492 else if (iLine == 6 && system() == t_eph:: IRNSS) {492 else if (iLine == 6 && system() == t_eph::NavIC) { 493 493 if (type() == t_eph::LNAV) { 494 494 if ( readDbl(line, pos[0], fieldLen, _ura) … … 520 520 return; 521 521 } 522 if (system() != t_eph:: IRNSS) {522 if (system() != t_eph::NavIC) { 523 523 double fitIntervalRnx; 524 524 if (readDbl(line, pos[1], fieldLen, fitIntervalRnx)) { … … 812 812 // BROADCAST ORBIT - 5 813 813 // ===================== 814 if (system() != t_eph:: IRNSS) {814 if (system() != t_eph::NavIC) { 815 815 if (type() == t_eph::CNAV || 816 816 type() == t_eph::CNV2) { … … 853 853 // BROADCAST ORBIT - 6 854 854 // ===================== 855 if (system() != t_eph:: IRNSS) {855 if (system() != t_eph::NavIC) { 856 856 if (type() == t_eph::CNAV || 857 857 type() == t_eph::CNV2) { … … 912 912 } 913 913 // fitInterval 914 if (system() == t_eph:: IRNSS) {914 if (system() == t_eph::NavIC) { 915 915 out 916 916 << QString(fmt) -
trunk/BNC/src/ephemeris.h
r10614 r10619 16 16 class t_eph { 17 17 public: 18 enum e_system {unknown, GPS, QZSS, GLONASS, Galileo, SBAS, BDS, IRNSS};18 enum e_system {unknown, GPS, QZSS, GLONASS, Galileo, SBAS, BDS, NavIC}; 19 19 enum e_checkState {unchecked, ok, bad, outdated, unhealthy}; 20 20 enum e_type {undefined, LNAV, FDMA, FDMA_M, FNAV, INAV, D1, D2, SBASL1, CNAV, CNV1, CNV2, CNV3, L1NV, L1OC, L3OC}; … … 136 136 return t_eph::QZSS; 137 137 case 'I': 138 return t_eph:: IRNSS;138 return t_eph::NavIC; 139 139 }; 140 140 return t_eph::GPS; … … 152 152 double _clock_driftrate; // [s/s^2] 153 153 154 double _IODE; // IODEC in case of IRNSS154 double _IODE; // IODEC in case of NavIC 155 155 double _Crs; // [m] 156 156 double _Delta_n; // [rad/s] … … 173 173 174 174 double _IDOT; // [rad/s] 175 double _L2Codes; // Codes on L2 channel (not valid for IRNSS)175 double _L2Codes; // Codes on L2 channel (not valid for NavIC) 176 176 double _TOEweek; // GPS week # to go with TOE, cont. number, not mode 1024 177 double _L2PFlag; // L2 P data flag (not valid for IRNSSand QZSS)177 double _L2PFlag; // L2 P data flag (not valid for NavIC and QZSS) 178 178 179 179 mutable double _ura; // SV accuracy [m] 180 180 double _health; // SV health 181 181 double _TGD; // [s] 182 double _IODC; // (not valid for IRNSS)182 double _IODC; // (not valid for NavIC) 183 183 184 184 double _TOT; // Transmission time 185 double _fitInterval; // Fit interval in hours (not valid for IRNSS)185 double _fitInterval; // Fit interval in hours (not valid for NavIC) 186 186 187 187 double _ADOT; // [m/s] … … 202 202 double _ISC_L1Cp; // [s] 203 203 204 double _RSF; // [-] Reference Signal Flag for IRNSS204 double _RSF; // [-] Reference Signal Flag for NavIC 205 205 double _ISC_S; // [s] 206 206 double _ISC_L1D; // [s] -
trunk/BNC/src/reqcdlg.cpp
r10524 r10619 242 242 _reqcRnxVersion->setWhatsThis(tr("<p>Select version number of emerging new RINEX file.</p><p>Note the following:</p><p>When converting <u>RINEX Version 2 to Version 3 </u>Observation files, the tracking mode or channel information (signal attribute, see RINEX Version 3 documentation) in the (last out of the three characters) observation code is left blank if unknown.</p><p>When converting <u>RINEX Version 3 to Version 2</u>, the mapping of observations follows a 'Signal priority list' with signal attributes as defined in RINEX Version 3. <i>[key: reqcRnxVersion]</i></p>")); 243 243 _reqcSampling->setWhatsThis(tr("<p>Select sampling rate of emerging new RINEX Observation file. <i>[key: reqcSampling]</i></p>")); 244 _reqcV2Priority->setWhatsThis(tr("<p>Specify a priority list of characters defining signal attributes as defined in RINEX Version 3. Priorities will be used to map observations with RINEX Version 3 attributes from incoming streams to Version 2. The underscore character '_' stands for undefined attributes. A question mark '?' can be used as wildcard which represents any one character.</p><p>Signal priorities can be specified as equal for all systems, as system specific or as system and freq. specific. For example: </li><ul><li>'CWPX_?' (General signal priorities valid for all GNSS) </li><li>'C:IQX I:ABCX' (System specific signal priorities for BDS and IRNSS) </li><li>'G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities) </li></ul>Default is the following priority list 'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:18&DPX I:ABCX S:1&C S:5&IQX'. <i>[key: reqcV2Priority]</i></p>"));244 _reqcV2Priority->setWhatsThis(tr("<p>Specify a priority list of characters defining signal attributes as defined in RINEX Version 3. Priorities will be used to map observations with RINEX Version 3 attributes from incoming streams to Version 2. The underscore character '_' stands for undefined attributes. A question mark '?' can be used as wildcard which represents any one character.</p><p>Signal priorities can be specified as equal for all systems, as system specific or as system and freq. specific. For example: </li><ul><li>'CWPX_?' (General signal priorities valid for all GNSS) </li><li>'C:IQX I:ABCX' (System specific signal priorities for BDS and NavIC) </li><li>'G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities) </li></ul>Default is the following priority list 'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:18&DPX I:ABCX S:1&C S:5&IQX'. <i>[key: reqcV2Priority]</i></p>")); 245 245 _reqcStartDateTime->setWhatsThis(tr("<p>Specify begin of emerging new RINEX Observation file. <i>[key: reqcStartDateTime]</i></p>")); 246 246 _reqcEndDateTime->setWhatsThis(tr("<p>Specify end of emerging new RINEX Observation file. <i>[key: reqcEndDateTime]</i></p>")); -
trunk/BNC/src/rinex/reqcedit.cpp
r10614 r10619 613 613 haveGnss[t_eph::QZSS] = true; 614 614 break; 615 case t_eph:: IRNSS:616 haveGnss[t_eph:: IRNSS] = true;615 case t_eph::NavIC: 616 haveGnss[t_eph::NavIC] = true; 617 617 break; 618 618 case t_eph::SBAS: … … 779 779 ephs.append(new t_ephBDS(*dynamic_cast<t_ephBDS*>(eph))); 780 780 } 781 else if (eph->system() == t_eph:: IRNSS) {781 else if (eph->system() == t_eph::NavIC) { 782 782 ephs.append(new t_ephGPS(*dynamic_cast<t_ephGPS*>(eph))); 783 783 } -
trunk/BNC/src/rinex/rnxnavfile.cpp
r10603 r10619 411 411 fmt.append("%1 N: GNSS NAV DATA C: BDS"); 412 412 break; 413 case t_eph:: IRNSS:414 fmt.append("%1 N: GNSS NAV DATA I: IRNSS");413 case t_eph::NavIC: 414 fmt.append("%1 N: GNSS NAV DATA I: NavIC"); 415 415 break; 416 416 case t_eph::SBAS: -
trunk/BNC/src/rinex/rnxobsfile.cpp
r10599 r10619 1371 1371 const t_rnxSat& rnxSat = epo->rnxSat[ii]; 1372 1372 if (_header._obsTypes[rnxSat.prn.system()].size() > 0) { 1373 if (_header.version() < 3.0) { // exclude new GNSS such as BDS, QZSS, IRNSS, etc.1373 if (_header.version() < 3.0) { // exclude new GNSS such as BDS, QZSS, NavIC, etc. 1374 1374 if (rnxSat.prn.system() != 'G' && rnxSat.prn.system() != 'R' && 1375 1375 rnxSat.prn.system() != 'E' && rnxSat.prn.system() != 'S' && -
trunk/BNC/src/rinex/rnxobsfile.h
r10587 r10619 237 237 const t_rnxSat& rnxSat = epo->rnxSat[ii]; 238 238 if (header._obsTypes[rnxSat.prn.system()].size() > 0) { 239 if (header.version() < 3.0) { // exclude new GNSS such as BDS, QZSS, IRNSS, etc.239 if (header.version() < 3.0) { // exclude new GNSS such as BDS, QZSS, NavIC, etc. 240 240 if (rnxSat.prn.system() != 'G' && rnxSat.prn.system() != 'R' && 241 241 rnxSat.prn.system() != 'E' && rnxSat.prn.system() != 'S' ) { -
trunk/BNC/src/t_prn.h
r10599 r10619 12 12 static const unsigned MAXPRN_SBAS = 38; 13 13 static const unsigned MAXPRN_BDS = 65; 14 static const unsigned MAXPRN_ IRNSS= 20;14 static const unsigned MAXPRN_NavIC = 20; 15 15 static const unsigned MAXPRN = MAXPRN_GPS + MAXPRN_GLONASS + MAXPRN_GALILEO 16 + MAXPRN_QZSS + MAXPRN_SBAS + MAXPRN_BDS + MAXPRN_ IRNSS;16 + MAXPRN_QZSS + MAXPRN_SBAS + MAXPRN_BDS + MAXPRN_NavIC; 17 17 18 18 t_prn() : -
trunk/BNC/src/upload/bncephuploadcaster.cpp
r10587 r10619 121 121 } 122 122 } 123 else if (ephGPS && ephGPS->system() == t_eph:: IRNSS&& (system == "ALL" || system.contains('I'))) {123 else if (ephGPS && ephGPS->system() == t_eph::NavIC && (system == "ALL" || system.contains('I'))) { 124 124 if (fabs(dt < 86400.0)) { 125 125 size = t_ephEncoder::RTCM3(*ephGPS, Array);
Note:
See TracChangeset
for help on using the changeset viewer.