Changeset 10479 in ntrip for trunk/BNC/src
- Timestamp:
- May 7, 2024, 10:36:55 AM (9 months ago)
- Location:
- trunk/BNC/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/bncmain.cpp
r10470 r10479 304 304 " cmbMaxdisplacement {Maximal orbit displacement from the mean of corrections for a satellite [floating-point number]}\n" 305 305 " cmbSampl {Clock sampling rate [integer number of seconds: 0|10|20|30|40|50|60]}\n" 306 " cmbLogpath {Directory for Combination log files [character string]}\n" 306 307 " cmbGps {GPS correction usage [integer number: 0=no,2=yes]}\n" 307 308 " cmbGlo {GLONASS correction usage [integer number: 0=no,2=yes]}\n" -
trunk/BNC/src/bncsettings.cpp
r10451 r10479 173 173 setValue_p("cmbMaxdisplacement", ""); 174 174 setValue_p("cmbSampl", "10"); 175 setValue_p("cmbLogpath", ""); 175 176 setValue_p("cmbGps", "2"); 176 177 setValue_p("cmbGlo", "2"); -
trunk/BNC/src/bncwindow.cpp
r10452 r10479 502 502 _cmbSamplSpinBox->setSuffix(" sec"); 503 503 504 _cmbLogPath = new QLineEdit(settings.value("cmbLogpath").toString()); 505 504 506 QPushButton* addCmbRowButton = new QPushButton("Add Row"); 505 507 QPushButton* delCmbRowButton = new QPushButton("Delete"); … … 521 523 enableWidget(true, _cmbMaxdisplacementLineEdit); 522 524 enableWidget(true, _cmbSamplSpinBox); 525 enableWidget(true, _cmbLogPath); 523 526 } 524 527 else { … … 527 530 enableWidget(false, _cmbMaxdisplacementLineEdit); 528 531 enableWidget(false, _cmbSamplSpinBox); 532 enableWidget(false, _cmbLogPath); 529 533 } 530 534 _cmbGpsCheckBox = new QCheckBox(); … … 1288 1292 populateCmbTable(); 1289 1293 cmbLayout->addWidget(_cmbTable, 0, 0, 8, 10); 1290 cmbLayout->addWidget(new QLabel(" Combine Broadcast Correction streams .<br>"),0, 10, 1, 10);1294 cmbLayout->addWidget(new QLabel(" Combine Broadcast Correction streams"), 0, 10, 1, 10); 1291 1295 cmbLayout->addWidget(addCmbRowButton, 1, 10); 1292 1296 cmbLayout->addWidget(delCmbRowButton, 1, 11); … … 1299 1303 cmbLayout->addWidget(new QLabel("Max Orb Displacement"), 5, 10, Qt::AlignLeft); 1300 1304 cmbLayout->addWidget(_cmbMaxdisplacementLineEdit, 5, 11, Qt::AlignRight); 1301 cmbLayout->addWidget(new QLabel("Sampling"), 6, 10, Qt::AlignLeft); 1302 cmbLayout->addWidget(_cmbSamplSpinBox, 6, 11, Qt::AlignRight); 1305 cmbLayout->addWidget(new QLabel("Logfile directory"), 6, 10, Qt::AlignLeft); 1306 cmbLayout->addWidget(_cmbLogPath, 6, 11, Qt::AlignRight); 1307 cmbLayout->addWidget(new QLabel("Sampling"), 7, 10, Qt::AlignLeft); 1308 cmbLayout->addWidget(_cmbSamplSpinBox, 7, 11, Qt::AlignRight); 1309 1303 1310 1304 1311 cmbLayout->addWidget(new QLabel("GNSS"), 0, 14, Qt::AlignLeft); … … 1602 1609 _cmbMaxresLineEdit->setWhatsThis(tr("<p>BNC combines all incoming clocks according to specified weights. Individual clock estimates that differ by more than 'Maximal Clk Residuum' meters from the average of all clocks will be ignored.<p></p>It is suggested to specify a value of about 0.2 m for the Kalman filter combination approach and a value of about 3.0 meters for the Single-Epoch combination approach.</p><p>Default is a value of '999.0'. <i>[key: cmbMaxres]</i></p>")); 1603 1610 _cmbMaxdisplacementLineEdit->setWhatsThis(tr("<p>BNC builds mean values for all incoming orbit corrections per satellite. Individual orbit corrections that differ by more than 'Maximal Orb Displacement' meters from the average of all orbit corrections per satellite will be ignored.<p></p>It is suggested to specify a value of about 0.5 m.</p><p>Default is a value of '2.0'. <i>[key: cmbMaxdisplacement]</i></p>")); 1604 _cmbSamplSpinBox->setWhatsThis(tr("<p>Select a combination Sampling interval for the clocks. Clock corrections will be produced following that interval.</p><p>A value of 10 sec may be an appropriate choice. A value of zero '0' tells BNC to use all available samples. <i>[key: ]</i></p>")); 1611 _cmbSamplSpinBox->setWhatsThis(tr("<p>Select a combination Sampling interval for the clocks. Clock corrections will be produced following that interval.</p><p>A value of 10 sec may be an appropriate choice. A value of zero '0' tells BNC to use all available samples. <i>[key: cmbSampl]</i></p>")); 1612 _cmbLogPath->setWhatsThis(tr("<p>Specify a directory for saving daily Combination logfiles. If the specified directory does not exist, BNC will not create such files.</p><p>Default is an empty option field, meaning that no Combination logfiles shall be produced. <i>[key: cmbLogpath]</i></p>")); 1605 1613 _cmbGpsCheckBox->setWhatsThis(tr("<p>GPS clock corrections shall be combined. GPS Broadcast ephemeris and corrections are required. <i>[key: cmbGps]</i></p>")); 1606 1614 _cmbGloCheckBox->setWhatsThis(tr("<p>GLONASS clock corrections shall be combined; GLONASS Broadcast ephemeris and corrections are required. <i>[key: cmbGlo]</i></p>")); … … 1743 1751 delete _cmbMaxdisplacementLineEdit; 1744 1752 delete _cmbSamplSpinBox; 1753 delete _cmbLogPath; 1745 1754 delete _cmbMethodComboBox; 1746 1755 delete _cmbGpsCheckBox; … … 2236 2245 settings.setValue("cmbMaxdisplacement", _cmbMaxdisplacementLineEdit->text()); 2237 2246 settings.setValue("cmbSampl", _cmbSamplSpinBox->value()); 2247 settings.setValue("cmbLogpath", _cmbLogPath->text()); 2238 2248 settings.setValue("cmbGps", _cmbGpsCheckBox->checkState()); 2239 2249 settings.setValue("cmbGlo", _cmbGloCheckBox->checkState()); … … 2770 2780 enableWidget(true, _cmbMaxdisplacementLineEdit); 2771 2781 enableWidget(true, _cmbSamplSpinBox); 2782 enableWidget(true, _cmbLogPath); 2772 2783 enableWidget(true, _cmbGpsCheckBox); 2773 2784 enableWidget(true, _cmbGloCheckBox); … … 2784 2795 enableWidget(false, _cmbMaxdisplacementLineEdit); 2785 2796 enableWidget(false, _cmbSamplSpinBox); 2797 enableWidget(false, _cmbLogPath); 2786 2798 enableWidget(false, _cmbGpsCheckBox); 2787 2799 enableWidget(false, _cmbGloCheckBox); … … 2893 2905 enableWidget(false, _cmbMaxdisplacementLineEdit); 2894 2906 enableWidget(false, _cmbSamplSpinBox); 2907 enableWidget(false, _cmbLogPath); 2895 2908 } 2896 2909 } -
trunk/BNC/src/combination/bnccomb.cpp
r10477 r10479 313 313 } 314 314 315 // Logfile 316 // ------- 317 QString intr = "1 day"; 318 QString logFileCmb = settings.value("cmbLogpath").toString(); 319 int l = logFileCmb.length(); 320 if (logFileCmb.isEmpty()) { 321 _logFile = 0; 322 } 323 else { 324 if (l && logFileCmb[l-1] != QDir::separator() ) { 325 logFileCmb += QDir::separator(); 326 } 327 328 logFileCmb = logFileCmb + "COMB00BNC" + "${V3PROD}" + ".CMB"; 329 330 _logFile = new bncoutf(logFileCmb, intr, _cmbSampl); 331 } 332 315 333 _newCorr = 0; 316 334 } … … 345 363 delete _antex; 346 364 delete _bsx; 365 delete _logFile; 347 366 348 367 QMapIterator<char, unsigned> itSys(_cmbSysPrn); … … 518 537 if ((newClk._time >= currentTime) || // future time stamp 519 538 (currentTime - newClk._time) > 60.0) { // very old data sets 520 #ifdef BNC_DEBUG_CMB521 539 emit newMessage("bncComb: future or very old data sets: " + acName.toLatin1() + " " + newClk._prn.toString().c_str() + 522 540 QString(" %1 ").arg(newClk._time.timestr().c_str()).toLatin1() + "vs. current time" + 523 541 QString(" %1 ").arg(currentTime.timestr().c_str()).toLatin1(), true); 524 #endif525 542 continue; 526 543 } … … 530 547 // -------------------- 531 548 if (_resTime.valid() && newClk._time <= _resTime) { 532 #ifdef BNC_DEBUG_CMB533 549 emit newMessage("bncComb: old correction: " + acName.toLatin1() + " " + newClk._prn.toString().c_str() + 534 550 QString(" %1 ").arg(newClk._time.timestr().c_str()).toLatin1() + "vs. last processing Epoch" + 535 551 QString(" %1 ").arg(_resTime.timestr().c_str()).toLatin1(), true); 536 #endif537 552 continue; 538 553 } … … 711 726 t_eph* ephPrev = _ephUser.ephPrev(prn); 712 727 if (ephLast == 0) { 713 #ifdef BNC_DEBUG_CMB714 728 emit newMessage("bncComb: eph not found for " + prn.mid(0,3).toLatin1(), true); 715 #endif716 729 delete _newCorr; _newCorr = 0; 717 730 continue; … … 721 734 ephLast->checkState() == t_eph::outdated || 722 735 ephLast->checkState() == t_eph::unhealthy) { 723 #ifdef BNC_DEBUG_CMB724 736 emit newMessage("bncComb: ephLast not ok (checkState: " + ephLast->checkStateToString().toLatin1() + ") for " + prn.mid(0,3).toLatin1(), true); 725 #endif726 737 delete _newCorr; _newCorr = 0; 727 738 continue; … … 739 750 } 740 751 else { 741 #ifdef BNC_DEBUG_CMB742 752 emit newMessage("bncComb: eph not found for " + prn.mid(0,3).toLatin1() + 743 753 QString(" with IOD %1").arg(_newCorr->_iod).toLatin1(), true); 744 #endif745 754 delete _newCorr; _newCorr = 0; 746 755 continue; … … 815 824 processSystem(epoTime, sys, out); 816 825 _buffer.remove(sys); 817 emit newMessage(_log, false); 826 //emit newMessage(_log, false); 827 if (_logFile) { 828 _logFile->write(epoTime.gpsw(),epoTime.gpssec(), QString(_log)); 829 } 818 830 } 819 831 } -
trunk/BNC/src/combination/bnccomb.h
r10451 r10479 16 16 #include "satObs.h" 17 17 #include "bncconst.h" 18 #include "bncoutf.h" 18 19 #include "../RTCM3/clock_and_orbit/clock_orbit_rtcm.h" 19 20 #include "../RTCM3/clock_and_orbit/clock_orbit_igs.h" … … 257 258 bncAntex* _antex; 258 259 bncBiasSnx* _bsx; 260 bncoutf* _logFile; 259 261 double _MAX_RES; 260 262 double _MAX_DISPLACEMENT;
Note:
See TracChangeset
for help on using the changeset viewer.