Changeset 10239 in ntrip for trunk/BNC/src/bncwindow.cpp


Ignore:
Timestamp:
Nov 6, 2023, 12:44:22 PM (6 months ago)
Author:
stuerze
Message:

An option 'Wait for full clock epoch' is added to combination procedure

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bncwindow.cpp

    r10157 r10239  
    491491
    492492  _cmbMaxresLineEdit = new QLineEdit(settings.value("cmbMaxres").toString());
     493
     494  _cmbWaitSpinBox = new QSpinBox();
     495  _cmbWaitSpinBox->setMinimum(5);
     496  _cmbWaitSpinBox->setMaximum(30);
     497  _cmbWaitSpinBox->setSingleStep(1);
     498  _cmbWaitSpinBox->setSuffix(" sec");
     499  _cmbWaitSpinBox->setValue(settings.value("cmbWait").toInt());
    493500
    494501  _cmbSamplSpinBox = new QSpinBox;
     
    12921299  cmbLayout->addWidget(new QLabel("Max Residual"),                               5,  6, Qt::AlignLeft);
    12931300  cmbLayout->addWidget(_cmbMaxresLineEdit,                                       5,  7, Qt::AlignRight);
    1294   cmbLayout->addWidget(new QLabel("Sampling"),                                   6,  6, Qt::AlignLeft);
    1295   cmbLayout->addWidget(_cmbSamplSpinBox,                                         6,  7, Qt::AlignRight);
    1296   cmbLayout->addWidget(new QLabel("GNSS"),                                       7,  6, Qt::AlignLeft);
    1297   cmbLayout->addWidget(new QLabel("GPS (C1W/C2W)"),                                7,  7);
    1298   cmbLayout->addWidget(_cmbGpsCheckBox,                                          7,  8);
    1299   cmbLayout->addWidget(new QLabel("GLONASS (C1P/C2P)"),                          7,  9);
    1300   cmbLayout->addWidget(_cmbGloCheckBox,                                          7, 10);
    1301   cmbLayout->addWidget(new QLabel("Galileo (C1C/C5Q)"),                          7, 11);
    1302   cmbLayout->addWidget(_cmbGalCheckBox,                                          7, 12);
    1303   cmbLayout->addWidget(new QLabel("Beidou (C2I/C6I)"),                           7, 13);
    1304   cmbLayout->addWidget(_cmbBdsCheckBox,                                          7, 14);
    1305   cmbLayout->addWidget(new QLabel("QZSS (C1C/C2L)"),                             8,  7);
    1306   cmbLayout->addWidget(_cmbQzssCheckBox,                                         8,  8);
    1307   cmbLayout->addWidget(new QLabel("SBAS (C1C/C5Q)"),                             8,  9);
    1308   cmbLayout->addWidget(_cmbSbasCheckBox,                                         8, 10);
    1309   cmbLayout->addWidget(new QLabel("IRNSS"),                                      8, 11);
    1310   cmbLayout->addWidget(_cmbIrnssCheckBox,                                        8, 12);
    1311   cmbLayout->setRowStretch(8, 999);
     1301  cmbLayout->addWidget(new QLabel("Wait for full clock epoch"),                  6,  6, Qt::AlignLeft);
     1302  cmbLayout->addWidget(_cmbWaitSpinBox ,                                         6,  7, Qt::AlignRight);
     1303  cmbLayout->addWidget(new QLabel("Sampling"),                                   7,  6, Qt::AlignLeft);
     1304  cmbLayout->addWidget(_cmbSamplSpinBox,                                         7,  7, Qt::AlignRight);
     1305  cmbLayout->addWidget(new QLabel("GNSS"),                                       8,  6, Qt::AlignLeft);
     1306  cmbLayout->addWidget(new QLabel("GPS (C1W/C2W)"),                              8,  7);
     1307  cmbLayout->addWidget(_cmbGpsCheckBox,                                          8,  8);
     1308  cmbLayout->addWidget(new QLabel("GLONASS (C1P/C2P)"),                          8,  9);
     1309  cmbLayout->addWidget(_cmbGloCheckBox,                                          8, 10);
     1310  cmbLayout->addWidget(new QLabel("Galileo (C1C/C5Q)"),                          8, 11);
     1311  cmbLayout->addWidget(_cmbGalCheckBox,                                          8, 12);
     1312  cmbLayout->addWidget(new QLabel("Beidou (C2I/C6I)"),                           8, 13);
     1313  cmbLayout->addWidget(_cmbBdsCheckBox,                                          8, 14);
     1314  cmbLayout->addWidget(new QLabel("QZSS (C1C/C2L)"),                             9,  7);
     1315  cmbLayout->addWidget(_cmbQzssCheckBox,                                         9,  8);
     1316  cmbLayout->addWidget(new QLabel("SBAS (C1C/C5Q)"),                             9,  9);
     1317  cmbLayout->addWidget(_cmbSbasCheckBox,                                         9, 10);
     1318  cmbLayout->addWidget(new QLabel("IRNSS"),                                      9, 11);
     1319  cmbLayout->addWidget(_cmbIrnssCheckBox,                                        9, 12);
     1320  cmbLayout->setRowStretch(9, 999);
    13121321
    13131322  connect(addCmbRowButton, SIGNAL(clicked()), this, SLOT(slotAddCmbRow()));
     
    15291538  _cmbMethodComboBox->setWhatsThis(tr("<p>Select a clock combination approach. Options are 'Single-Epoch' and Kalman 'Filter'.</p><p>It is suggested to use the Kalman filter approach for the purpose of Precise Point Positioning. <i>[key: cmbMethod]</i></p>"));
    15301539  _cmbMaxresLineEdit->setWhatsThis(tr("<p>BNC combines all incoming clocks according to specified weights. Individual clock estimates that differ by more than 'Maximal 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>"));
     1540  _cmbWaitSpinBox->setWhatsThis(tr("<p>During the combination process BNC is waiting for clock corrections input epoch by epoch. BNC drops whatever is received later than 'Wait for full clock epoch' seconds.</p><p>A value of about 10 seconds is recommended, depending on the latency of the incoming streams and the delay acceptable to your real-time GNSS combination product. <i>[key: cmbWait]</i></p>"));
    15311541  _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>"));
    15321542  _cmbGpsCheckBox->setWhatsThis(tr("<p>GPS clock corrections shall be combined. GPS Broadcast ephemeris and corrections are required. <i>[key: cmbGps]</i></p>"));
     
    16681678  _cmbTable->deleteLater();
    16691679  delete _cmbMaxresLineEdit;
     1680  delete _cmbWaitSpinBox;
    16701681  delete _cmbSamplSpinBox;
    16711682  delete _cmbMethodComboBox;
     
    21602171  settings.setValue("cmbMethod",     _cmbMethodComboBox->currentText());
    21612172  settings.setValue("cmbMaxres",     _cmbMaxresLineEdit->text());
     2173  settings.setValue("cmbWait",       _cmbWaitSpinBox->value());
    21622174  settings.setValue("cmbSampl",      _cmbSamplSpinBox->value());
    21632175  settings.setValue("cmbGps",        _cmbGpsCheckBox->checkState());
     
    24432455          _mountPointsTable->item(iRow, 5)->text() == thread->longitude() ) {
    24442456        ((bncTableItem*) _mountPointsTable->item(iRow, 8))->setGetThread(thread);
    2445         disconnect(thread, SIGNAL(newBytes(QByteArray, double)),
    2446                   _bncFigure, SLOT(slotNewData(QByteArray, double)));
    2447         connect(thread, SIGNAL(newBytes(QByteArray, double)),
    2448                 _bncFigure, SLOT(slotNewData(QByteArray, double)));
    2449         disconnect(thread, SIGNAL(newLatency(QByteArray, double)),
    2450                    _bncFigureLate, SLOT(slotNewLatency(QByteArray, double)));
    2451         connect(thread, SIGNAL(newLatency(QByteArray, double)),
    2452                 _bncFigureLate, SLOT(slotNewLatency(QByteArray, double)));
     2457        disconnect(thread, SIGNAL(newBytes(QByteArray, double)), _bncFigure, SLOT(slotNewData(QByteArray, double)));
     2458        connect(thread, SIGNAL(newBytes(QByteArray, double)), _bncFigure, SLOT(slotNewData(QByteArray, double)));
     2459        disconnect(thread, SIGNAL(newLatency(QByteArray, double)), _bncFigureLate, SLOT(slotNewLatency(QByteArray, double)));
     2460        connect(thread, SIGNAL(newLatency(QByteArray, double)), _bncFigureLate, SLOT(slotNewLatency(QByteArray, double)));
    24532461        break;
    24542462      }
     
    26852693      enableWidget(true, _cmbMethodComboBox);
    26862694      enableWidget(true, _cmbMaxresLineEdit);
     2695      enableWidget(true, _cmbWaitSpinBox);
    26872696      enableWidget(true, _cmbSamplSpinBox);
    26882697      enableWidget(true, _cmbGpsCheckBox);
     
    26982707      enableWidget(false, _cmbMethodComboBox);
    26992708      enableWidget(false, _cmbMaxresLineEdit);
     2709      enableWidget(false, _cmbWaitSpinBox);
    27002710      enableWidget(false, _cmbSamplSpinBox);
    27012711      enableWidget(false, _cmbGpsCheckBox);
Note: See TracChangeset for help on using the changeset viewer.