Changeset 686 in ntrip


Ignore:
Timestamp:
Feb 15, 2008, 10:44:50 AM (16 years ago)
Author:
weber
Message:

* empty log message *

Location:
trunk/BNC
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncgetthread.cpp

    r681 r686  
    106106  // Notice threshold
    107107  // ----------------
    108   _inspSegm = settings.value("inspSegm").toInt();
     108  _inspSegm = 50;
     109  if ( settings.value("obsRate").toString().isEmpty() ) { _inspSegm = 0; }
     110  if ( settings.value("obsRate").toString().indexOf("1 Hz") != -1 ) { _inspSegm = 10; }
     111  if ( settings.value("obsRate").toString().indexOf("0.5 Hz") != -1 ) { _inspSegm = 20; }
     112  if ( settings.value("obsRate").toString().indexOf("0.2 Hz") != -1 ) { _inspSegm = 40; }
     113  if ( settings.value("obsRate").toString().indexOf("0.1 Hz") != -1 ) { _inspSegm = 50; }
    109114  _adviseFail = settings.value("adviseFail").toInt();
    110115  _adviseReco = settings.value("adviseReco").toInt();
     
    509514        _decodeStart.setDate(QDate());
    510515        _decodeStart.setTime(QTime());
    511         emit(newMessage(_staID + ": Outage recovery threshold exceeded"));
    512         callScript("End_Outage");
     516        if (_inspSegm>0) {
     517          emit(newMessage(_staID + ": Outage recovery threshold exceeded"));
     518          callScript("End_Outage");
     519        }
    513520      }
    514521
     
    613620        _decodeStop.setDate(QDate());
    614621        _decodeStop.setTime(QTime());
    615         emit(newMessage(_staID + ": Outage failure threshold exceeded"));
    616         callScript("Begin_Outage");
     622        if (_inspSegm>0) {
     623          emit(newMessage(_staID + ": Outage failure threshold exceeded"));
     624          callScript("Begin_Outage");
     625        }
    617626      }
    618627      _nextSleep *= 2;
  • trunk/BNC/bncgetthread.h

    r672 r686  
    7676   QByteArray  _nmea;
    7777   QString     _adviseScript;
     78   int         _obsRate;
    7879   int         _inspSegm;
    7980   int         _adviseFail;
  • trunk/BNC/bncmain.cpp

    r684 r686  
    8181    settings.setValue("rnxSkel",    "SKL");
    8282    settings.setValue("waitTime",   5);
    83     settings.setValue("inspSegm",   "15");
     83    settings.setValue("obsRate",    "");
    8484    settings.setValue("adviseFail", "15");
    8585    settings.setValue("adviseReco", "5");
  • trunk/BNC/bncwindow.cpp

    r684 r686  
    153153  _rnxSamplSpinBox->setValue(settings.value("rnxSampl").toInt());
    154154  _rnxSamplSpinBox->setSuffix(" sec");
    155   _inspSegmSpinBox    = new QSpinBox();
    156   _inspSegmSpinBox->setMinimum(0);
    157   _inspSegmSpinBox->setMaximum(60);
    158   _inspSegmSpinBox->setSingleStep(1);
    159   _inspSegmSpinBox->setMaximumWidth(9*ww);
    160   _inspSegmSpinBox->setValue(settings.value("inspSegm").toInt());
    161   _inspSegmSpinBox->setSuffix(" sec");
     155  _obsRateComboBox    = new QComboBox();
     156  _obsRateComboBox->setMaximumWidth(9*ww);
     157  _obsRateComboBox->setEditable(false);
     158  _obsRateComboBox->addItems(QString(",0.1 Hz,0.2 Hz,0.5 Hz,1 Hz").split(","));
     159  int kk = _obsRateComboBox->findText(settings.value("obsRate").toString());
     160  if (kk != -1) {
     161    _obsRateComboBox->setCurrentIndex(kk);
     162  }
    162163  _adviseRecoSpinBox = new QSpinBox();
    163164  _adviseRecoSpinBox->setMinimum(0);
     
    267268  _ephIntrComboBox->setWhatsThis(tr("<p>Select the length of the RINEX Navigation file.</p>"));
    268269  _rnxSamplSpinBox->setWhatsThis(tr("<p>Select the RINEX Observation sampling interval in seconds. A value of zero '0' tells BNC to store all received epochs into RINEX.</p>"));
    269   _inspSegmSpinBox->setWhatsThis(tr("<p>BNC can collect all returns (success or failure) coming from a decoder within a certain short time span (Inspect segment) to then decide whether the stream content of that segment is corrupted or not. When a continuous problem is detected in consecutive segments, BNC can inform its operator about this event through an Advisory note. A value of about 15 sec (default) as 'Inspect segment' is recommended when handling 1Hz data.</p><p>A value of zero '0' means that you don't want BNC to inform you about incoming data that can not be decoded and that the special handling of corrupted streams is bypassed.</p>"));
    270   _adviseRecoSpinBox->setWhatsThis(tr("<p>Following a stream outage or a longer series of bad 'Inspect segments', an Advisory note is generated when valid 'Inspect segments' are received again throughout the 'Recovery' threshold time span. A value of about 5min (default) is recommended.</p><p>A value of zero '0' means that for any stream recovery BNC immediately generates an Advisory note.</p><p>Note that using this function for corrupted streams needs an 'Inspect segment' greater zero '0'.</p>"));
    271   _adviseFailSpinBox->setWhatsThis(tr("<p>An Advisory note is generated when no (or only corrupted) observations are seen in all 'Inspect segments' throughout the 'Failure' threshold time span. A value of 15 min (default) is recommended.</p><p>A value of zero '0' means that for any stream failure BNC immediately generates an Advisory note!</p><p>Note that using this function for corrupted streams needs an 'Inspect segment' greater zero '0'.</p>"));
     270  _obsRateComboBox->setWhatsThis(tr("<p>BNC can collect all returns (success or failure) coming from a decoder within a certain short time span to then decide whether a stream has an outage or its content is corrupted. The procedure needs a rough estimate of the expected observation rate of the incoming streams. When a continuous problem is detected, BNC can inform its operator about this event through an Advisory note.</p><p>An empty option field (default) means that you don't want an explicit information from BNC about stream outages and incoming streams that can not be decoded and that the special procedure for handling of corrupted streams is bypassed.</p>"));
     271  _adviseRecoSpinBox->setWhatsThis(tr("<p>Following a stream outage or a longer series of bad observations, an Advisory note is generated when valid observations are received again throughout the 'Recovery threshold' time span. A value of about 5min (default) is recommended.</p><p>A value of zero '0' means that for any stream recovery BNC immediately generates an Advisory note.</p><p>Note that for using this function you need to specify the 'Observation rate'.</p>"));
     272  _adviseFailSpinBox->setWhatsThis(tr("<p>An Advisory note is generated when no (or only corrupted) observations are seen throughout the 'Failure threshold' time span. A value of 15 min (default) is recommended.</p><p>A value of zero '0' means that for any stream failure BNC immediately generates an Advisory note!</p><p>Note that for using this function you need to specify the 'Observation rate'.</p>"));
    272273  _logFileLineEdit->setWhatsThis(tr("Records of BNC's activities are shown in the Log section on the bottom of this window. They can be saved into a file when a valid path is specified in the 'Logfile (full path)' field."));
    273   _adviseScriptLineEdit->setWhatsThis(tr("<p>Specify the full path to a script or batch file to handle Advisory notes generated in the event of corrupted streams or stream outages. The affected mountpoint and one of the comments 'Begin_Outage', 'End_Outage', 'Begin_Corrupted', or 'End_Corrupted' are passed on to the script as command line parameters.</p><p>The script can be configured to send an email to BNC's operator and/or to the affected stream provider. An empty option field or invalid path means that you don't want to use this option.</p>"));
     274  _adviseScriptLineEdit->setWhatsThis(tr("<p>Specify the full path to a script or batch file to handle Advisory notes generated in the event of corrupted streams or stream outages. The affected mountpoint and one of the comments 'Begin_Outage', 'End_Outage', 'Begin_Corrupted', or 'End_Corrupted' are passed on to the script as command line parameters.</p><p>The script can be configured to send an email to BNC's operator and/or to the affected stream provider. An empty option field (default) or invalid path means that you don't want to use this option.</p>"));
    274275  _mountPointsTable->setWhatsThis(tr("<p>Streams selected for retrieval are listed in the 'Mountpoints' section. Clicking on 'Add Mountpoints' button will open a window that allows the user to select data streams from an NTRIP broadcaster according to their mountpoints. To remove a stream from the 'Mountpoints' list, highlight it by clicking on it and hit the 'Delete Mountpoints' button. You can also remove multiple mountpoints by highlighting them using +Shift and +Ctrl.</p><p>BNC automatically allocates one of its internal decoders to a stream based on the stream's 'format' and 'format-details' as given in the sourcetable. However, there might be cases where you need to override the automatic selection due to incorrect sourcetable for example. BNC allows users to manually select the required decoder by editing the decoder string. Double click on the 'decoder' field, enter your preferred decoder and then hit Enter. The accepted decoder strings are 'RTCM_2.x', 'RTCM_3.x', and 'RTIGS'.</p><p>In case you need to log the raw data as is, BNC allows users to by-pass its decoders and and directly save the input in daily log files. To do this specify the decoder string as 'ZERO'.</p><p>BNC can also retrieve streams from virtual reference stations (VRS). To initiate these streams, an approximate rover position needs to be sent in NMEA GGA message to the NTRIP broadcaster. In return, a user-specific data stream is generated, typically by a Network-RTK software. This stream is customized to the exact latitude and longitude as shown in the 'lat' and 'long' columns under 'Mountpoints'. These VRS streams are indicated by a 'yes' in the 'nmea' column under 'Mountpoints' as well as in the sourcetable. The default 'lat' and 'long' values are taken from the sourcetable. However, in most cases you would probably want to change this according to your requirement. Double click on 'lat' and 'long' fields, enter the values you wish to send and then hit Enter. The format is in positive north latitude degrees (e.g. for northern hemisphere: 52.436, for southern hemisphere: -24.567) and eastern longitude degrees (e.g.: 358.872 or -1.128). Only mountpoints with a 'yes' in its 'nmea' column can be edited. The position should preferably be a point within the coverage of the network.</p>"));
    275276  _log->setWhatsThis(tr("Records of BNC's activities are shown in the Log section. The message log covers the communication status between BNC and the NTRIP broadcaster as well as any problems that occur in the communication link, stream availability, stream delay, stream conversion etc."));
     
    294295  aogroup->addTab(egroup,tr("RINEX - Ephemeris"));
    295296  aogroup->addTab(sgroup,tr("Synchronized Observations"));
    296   aogroup->addTab(agroup,tr("Advisory"));
     297  aogroup->addTab(agroup,tr("Advisory Note"));
    297298
    298299  QGridLayout* pLayout = new QGridLayout;
     
    349350  QGridLayout* aLayout = new QGridLayout;
    350351  aLayout->setColumnMinimumWidth(0,12*ww);
    351   aLayout->addWidget(new QLabel("Inspect segment"),               0, 0);
    352   aLayout->addWidget(_inspSegmSpinBox,                            0, 1);
    353   aLayout->addWidget(new QLabel("Failure"),                       1, 0);
     352  aLayout->addWidget(new QLabel("Observation Rate"),              0, 0);
     353  aLayout->addWidget(_obsRateComboBox,                            0, 1);
     354  aLayout->addWidget(new QLabel("Failure threshold"),             1, 0);
    354355  aLayout->addWidget(_adviseFailSpinBox,                          1, 1);
    355   aLayout->addWidget(new QLabel("Recovery"),                      2, 0);
     356  aLayout->addWidget(new QLabel("Recovery threshold"),            2, 0);
    356357  aLayout->addWidget(_adviseRecoSpinBox,                          2, 1);
    357358  aLayout->addWidget(new QLabel("Script (full path)"),            3, 0);
     
    513514  settings.setValue("proxyPort",   _proxyPortLineEdit->text());
    514515  settings.setValue("waitTime",    _waitTimeSpinBox->value());
    515   settings.setValue("inspSegm",    _inspSegmSpinBox->value());
     516  settings.setValue("obsRate",     _obsRateComboBox->currentText());
    516517  settings.setValue("adviseFail",  _adviseFailSpinBox->value());
    517518  settings.setValue("adviseReco",  _adviseRecoSpinBox->value());
     
    606607
    607608    getThread->start();
     609    _mountPointsTable->setSortingEnabled(true);
    608610  }
    609611}
  • trunk/BNC/bncwindow.h

    r679 r686  
    102102    QCheckBox* _rnxAppendCheckBox;
    103103    QSpinBox*  _waitTimeSpinBox;
    104     QSpinBox*  _inspSegmSpinBox;
     104    QComboBox* _obsRateComboBox;
    105105    QSpinBox*  _adviseFailSpinBox;
    106106    QSpinBox*  _adviseRecoSpinBox;
Note: See TracChangeset for help on using the changeset viewer.