Index: /trunk/BNC/src/GPSDecoder.cpp
===================================================================
--- /trunk/BNC/src/GPSDecoder.cpp	(revision 8396)
+++ /trunk/BNC/src/GPSDecoder.cpp	(revision 8397)
@@ -82,5 +82,5 @@
   if (_rnx) {
     int sec = int(nint(obs._time.gpssec()*10));
-    if (_rnx->samplingRate() == 0 || sec % (_rnx->samplingRate()*10) == 0) {
+    if (sec % _rnx->samplingRate() == 0) {
       _rnx->deepCopy(obs);
     }
Index: /trunk/BNC/src/bnccaster.cpp
===================================================================
--- /trunk/BNC/src/bnccaster.cpp	(revision 8396)
+++ /trunk/BNC/src/bnccaster.cpp	(revision 8397)
@@ -96,6 +96,6 @@
   }
 
-  _samplingRate = settings.value("outSampl").toInt();
-  _outWait      = settings.value("outWait").toDouble();
+  _samplingRateMult10 = int(settings.value("outSampl").toString().split("sec").first().toDouble() * 10.0);
+  _outWait            = settings.value("outWait").toDouble();
   if (_outWait <= 0.0) {
     _outWait = 0.01;
@@ -304,5 +304,5 @@
       const QList<t_satObs>& allObs = itEpo.value();
       int sec = int(nint(epoTime.gpssec()*10));
-      if ( (_out || _sockets) && (_samplingRate == 0 || sec % (_samplingRate*10) == 0) ) {
+      if ( (_out || _sockets) && (sec % (_samplingRateMult10) == 0) ) {
         QListIterator<t_satObs> it(allObs);
         bool firstObs = true;
@@ -374,5 +374,5 @@
   // Reread several options
   // ----------------------
-  _samplingRate = settings.value("outSampl").toInt();
+  _samplingRateMult10 = int(settings.value("outSampl").toString().split("sec").first().toDouble() * 10.0);
   _outWait      = settings.value("outWait").toInt();
   if (_outWait < 1) {
Index: /trunk/BNC/src/bnccaster.h
===================================================================
--- /trunk/BNC/src/bnccaster.h	(revision 8396)
+++ /trunk/BNC/src/bnccaster.h	(revision 8397)
@@ -52,5 +52,5 @@
  signals:
    void mountPointsRead(QList<bncGetThread*>);
-   void getThreadsFinished();   
+   void getThreadsFinished();
    void newMessage(QByteArray msg, bool showOnScreen);
    void newObs(QByteArray staID, QList<t_satObs> obsList);
@@ -77,5 +77,5 @@
    QList<QByteArray>               _staIDs;
    QList<bncGetThread*>            _threads;
-   int                             _samplingRate;
+   int                             _samplingRateMult10;
    double                          _outWait;
    QMutex                          _mutex;
Index: /trunk/BNC/src/bncmain.cpp
===================================================================
--- /trunk/BNC/src/bncmain.cpp	(revision 8396)
+++ /trunk/BNC/src/bncmain.cpp	(revision 8397)
@@ -102,5 +102,5 @@
       "   rnxPath        {Directory [character string]}\n"
       "   rnxIntr        {File interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}\n"
-      "   rnxSampl       {File sampling rate [integer number of seconds: 0,5|10|15|20|25|30|35|40|45|50|55|60]} \n"
+      "   rnxSampl       {File sampling rate [character string: 0.1 sec|1 sec|5 sec|10 sec|15 sec|30 sec|60 sec]}\n"
       "   rnxSkel        {RINEX skeleton file extension [character string]}\n"
       "   rnxOnlyWithSKL {Using RINEX skeleton file is mandatory [integer number: 0=no,2=yes]}\n"
@@ -126,5 +126,5 @@
       "   reqcPlotDir           {QC plots directory [character string]}\n"
       "   reqcRnxVersion        {RINEX version [integer number: 2|3]}\n"
-      "   reqcSampling          {RINEX output file sampling rate [integer number of seconds: 0|5|10|15|20|25|30|35|40|45|50|55|60]}\n"
+      "   reqcSampling          {RINEX output file sampling rate [character string: 0.1 sec|1 sec|5 sec|10 sec|15 sec|30 sec|60 sec]}\n"
       "   reqcV2Priority        {Version 2 priority of signal attributes [character string, list separated by blank character, example: G:12&PWCSLXYN G:5&IQX C:IQX]}\n"
       "   reqcStartDateTime     {Start time [character string, example: 1967-11-02T00:00:00]}\n"
@@ -163,5 +163,5 @@
       "   outPort  {Output port, synchronized [integer number]}\n"
       "   outWait  {Wait for full observation epoch [integer number of seconds: 1-30]}\n"
-      "   outSampl {Sampling rate [integer number of seconds: 0|5|10|15|20|25|30|35|40|45|50|55|60]}\n"
+      "   outSampl {Sampling rate [character string: 0.1 sec|1 sec|5 sec|10 sec|15 sec|30 sec|60 sec]}\n"
       "   outFile  {Output file, full path [character string]}\n"
       "   outUPort {Output port, unsynchronized [integer number]}\n"
@@ -305,5 +305,5 @@
       "(5) bnc --conf /dev/null --key startTab 4 --key reqcAction Edit/Concatenate"
       " --key reqcObsFile AGAR.15O --key reqcOutObsFile AGAR_X.15O"
-      " --key reqcRnxVersion 2 --key reqcSampling 30 --key reqcV2Priority CWPX_?\n"
+      " --key reqcRnxVersion 2 --key reqcSampling 30 sec --key reqcV2Priority CWPX_?\n"
       "(6) bnc --key mountPoints \"//user:pass@mgex.igs-ip.net:2101/CUT07 RTCM_3.0 ETH 9.03 38.74 no 2;"
       "//user:pass@www.igs-ip.net:2101/FFMJ1 RTCM_3.1 DEU 50.09 8.66 no 2\"\n"
Index: /trunk/BNC/src/bncrinex.cpp
===================================================================
--- /trunk/BNC/src/bncrinex.cpp	(revision 8396)
+++ /trunk/BNC/src/bncrinex.cpp	(revision 8397)
@@ -90,5 +90,27 @@
   _userName = _userName.leftJustified(20, ' ', true);
 
-  _samplingRate = settings.value("rnxSampl").toInt();
+  _samplingRateMult10 = int(settings.value("rnxSampl").toString().split("sec").first().toDouble() * 10.0);
+
+  if      (settings.value("rnxSampl").toString() == "0.1 sec") {
+    _samplingRateStr = "_10Z";
+  }
+  else if (settings.value("rnxSampl").toString() == "1 sec") {
+    _samplingRateStr = "_01S";
+  }
+  else if (settings.value("rnxSampl").toString() == "5 sec") {
+    _samplingRateStr = "_05S";
+  }
+  else if (settings.value("rnxSampl").toString() == "10 sec") {
+    _samplingRateStr = "_10S";
+  }
+  else if (settings.value("rnxSampl").toString() == "15 sec") {
+    _samplingRateStr = "_15S";
+  }
+  else if (settings.value("rnxSampl").toString() == "30 sec") {
+    _samplingRateStr = "_30S";
+  }
+  else if (settings.value("rnxSampl").toString() == "60 sec") {
+    _samplingRateStr = "_01M";
+  }
 
   _writeRinexFileOnlyWithSkl = settings.value("rnxOnlyWithSKL").toBool();
@@ -348,7 +370,5 @@
       }
     }
-    int sampl = settings.value("rnxSampl").toString().mid(0,2).toInt();
-    if (!sampl)
-      sampl++;
+
     path += ID4 +
             QString("%1").arg(monNum, 1, 10) +
@@ -359,5 +379,5 @@
             QString("%1").arg(datTim.date().dayOfYear(), 3, 10, QChar('0')) +
             hlpStr + // HMS_period
-            QString("_%1S").arg(sampl, 2, 10, QChar('0')) + // sampling rate
+            QString("%1").arg(_samplingRateStr) + // sampling rate
             "_MO" + // mixed OBS
             distStr +
Index: /trunk/BNC/src/bncrinex.h
===================================================================
--- /trunk/BNC/src/bncrinex.h	(revision 8396)
+++ /trunk/BNC/src/bncrinex.h	(revision 8397)
@@ -40,5 +40,5 @@
    ~bncRinex();
 
-   int  samplingRate() const {return _samplingRate;}
+   int  samplingRate() const {return _samplingRateMult10;}
    void deepCopy(t_satObs obs);
    void dumpEpoch(const QByteArray& format, const bncTime& maxTime);
@@ -77,5 +77,6 @@
    bool            _reconnectFlag;
    QDate           _skeletonDate;
-   int             _samplingRate;
+   QString         _samplingRateStr;
+   int             _samplingRateMult10;
    QStringList     _addComments;
 
Index: /trunk/BNC/src/bncsettings.cpp
===================================================================
--- /trunk/BNC/src/bncsettings.cpp	(revision 8396)
+++ /trunk/BNC/src/bncsettings.cpp	(revision 8397)
@@ -87,5 +87,5 @@
     setValue_p("rnxIntr",             "1 day");
     setValue_p("rnxOnlyWithSKL",      "");
-    setValue_p("rnxSampl",            "0");
+    setValue_p("rnxSampl",            "1 sec");
     setValue_p("rnxSkel",             "SKL");
     setValue_p("rnxV2Priority",       "");
@@ -107,5 +107,5 @@
     setValue_p("reqcPlotDir",         "");
     setValue_p("reqcRnxVersion",      "");
-    setValue_p("reqcSampling",        "");
+    setValue_p("reqcSampling",        "1 sec");
     setValue_p("reqcStartDateTime",   "1967-11-02T00:00:00");
     setValue_p("reqcEndDateTime",     "2099-01-01T00:00:00");
@@ -142,5 +142,5 @@
     setValue_p("outPort",             "");
     setValue_p("outWait",             "5");
-    setValue_p("outSampl",            "0");
+    setValue_p("outSampl",            "1 sec");
     setValue_p("outFile",             "");
     setValue_p("outUPort",            "");
Index: /trunk/BNC/src/bncwindow.cpp
===================================================================
--- /trunk/BNC/src/bncwindow.cpp	(revision 8396)
+++ /trunk/BNC/src/bncwindow.cpp	(revision 8397)
@@ -227,12 +227,13 @@
     _rnxIntrComboBox->setCurrentIndex(ii);
   }
-  _rnxSamplSpinBox    = new QSpinBox();
-  _rnxSamplSpinBox->setMinimum(0);
-  _rnxSamplSpinBox->setMaximum(60);
-  _rnxSamplSpinBox->setSingleStep(5);
-  _rnxSamplSpinBox->setValue(settings.value("rnxSampl").toInt());
+  _rnxSamplComboBox    = new QComboBox();
+  _rnxSamplComboBox->setEditable(false);
+  _rnxSamplComboBox->addItems(QString("0.1 sec,1 sec,5 sec,10 sec,15 sec,30 sec,60 sec").split(","));
+  int ij = _rnxSamplComboBox->findText(settings.value("rnxSampl").toString());
+  if (ij != -1) {
+    _rnxSamplComboBox->setCurrentIndex(ij);
+  }
   _rnxFileCheckBox = new QCheckBox();
   _rnxFileCheckBox->setCheckState(Qt::CheckState(settings.value("rnxOnlyWithSKL").toInt()));
-  _rnxSamplSpinBox->setSuffix(" sec");
   _rnxSkelLineEdit    = new QLineEdit(settings.value("rnxSkel").toString());
   _rnxSkelLineEdit->setMaximumWidth(5*ww);
@@ -298,10 +299,10 @@
   _outWaitSpinBox->setSuffix(" sec");
   _outWaitSpinBox->setValue(settings.value("outWait").toInt());
-  _outSamplSpinBox    = new QSpinBox();
-  _outSamplSpinBox->setMinimum(0);
-  _outSamplSpinBox->setMaximum(60);
-  _outSamplSpinBox->setSingleStep(5);
-  _outSamplSpinBox->setValue(settings.value("outSampl").toInt());
-  _outSamplSpinBox->setSuffix(" sec");
+  _outSamplComboBox    = new QComboBox();
+  _outSamplComboBox->addItems(QString("0.1 sec,1 sec,5 sec,10 sec,15 sec,30 sec,60 sec").split(","));
+  int nn = _rnxSamplComboBox->findText(settings.value("rnxSampl").toString());
+    if (nn != -1) {
+      _rnxSamplComboBox->setCurrentIndex(nn);
+    }
   _outFileLineEdit    = new QLineEdit(settings.value("outFile").toString());
   _outUPortLineEdit   = new QLineEdit(settings.value("outUPort").toString());
@@ -740,5 +741,5 @@
   oLayout->setColumnMinimumWidth(0,14*ww);
   _rnxIntrComboBox->setMaximumWidth(9*ww);
-  _rnxSamplSpinBox->setMaximumWidth(9*ww);
+  _rnxSamplComboBox->setMaximumWidth(9*ww);
 
   oLayout->addWidget(new QLabel("Saving RINEX observation files.<br>"),0, 0, 1,50);
@@ -748,5 +749,5 @@
   oLayout->addWidget(_rnxIntrComboBox,                             2, 1);
   oLayout->addWidget(new QLabel("  Sampling"),                     2, 2, Qt::AlignRight);
-  oLayout->addWidget(_rnxSamplSpinBox,                             2, 3, Qt::AlignLeft);
+  oLayout->addWidget(_rnxSamplComboBox,                            2, 3, Qt::AlignLeft);
   oLayout->addWidget(new QLabel("Skeleton extension"),             3, 0);
   oLayout->addWidget(_rnxSkelLineEdit,                             3, 1, Qt::AlignLeft);
@@ -809,5 +810,5 @@
   _outPortLineEdit->setMaximumWidth(9*ww);
   _outWaitSpinBox->setMaximumWidth(9*ww);
-  _outSamplSpinBox->setMaximumWidth(9*ww);
+  _outSamplComboBox->setMaximumWidth(9*ww);
   _outUPortLineEdit->setMaximumWidth(9*ww);
 
@@ -816,7 +817,7 @@
   sLayout->addWidget(_outPortLineEdit,                              1, 1);
   sLayout->addWidget(new QLabel("       Wait for full obs epoch"),  1, 2, Qt::AlignRight);
-  sLayout->addWidget(_outWaitSpinBox,                              1, 3, Qt::AlignLeft);
+  sLayout->addWidget(_outWaitSpinBox,                               1, 3, Qt::AlignLeft);
   sLayout->addWidget(new QLabel("Sampling"),                        2, 0);
-  sLayout->addWidget(_outSamplSpinBox,                              2, 1, Qt::AlignLeft);
+  sLayout->addWidget(_outSamplComboBox,                             2, 1, Qt::AlignLeft);
   sLayout->addWidget(new QLabel("File (full path)"),                3, 0);
   sLayout->addWidget(_outFileLineEdit,                              3, 1, 1, 10);
@@ -1295,5 +1296,5 @@
   _rnxPathLineEdit->setWhatsThis(tr("<p>Here you specify the path to where the RINEX Observation files will be stored.</p><p>If the specified directory does not exist, BNC will not create RINEX Observation files. <i>[key: rnxPath]</i></p>"));
   _rnxIntrComboBox->setWhatsThis(tr("<p>Select the length of the RINEX Observation file. <i>[key: rnxIntr]</i></p>"));
-  _rnxSamplSpinBox->setWhatsThis(tr("<p>Select the RINEX Observation sampling interval in seconds.</p><p>A value of zero '0' tells BNC to store all received epochs into RINEX Observation files. <i>[key: rnxSampl]</i></p>"));
+  _rnxSamplComboBox->setWhatsThis(tr("<p>Select the RINEX Observation sampling interval in seconds. <i>[key: rnxSampl]</i></p>"));
   _rnxSkelLineEdit->setWhatsThis(tr("<p>BNC allows using personal RINEX skeleton files that contain the RINEX header records you would like to include. You can derive a skeleton file from information given in an up to date sitelog.</p><p>A file in the RINEX Observations 'Directory' with a 'Skeleton extension' skl or SKL is interpreted by BNC as a personal RINEX header skeleton file for the corresponding stream. In case of 'SKL'/'skl' the 4-char ID forming the base name has to be written in upper/lower cases. <i>[key: rnxSkel]</i></p>"));
   _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>"));
@@ -1338,5 +1339,5 @@
   _outPortLineEdit->setWhatsThis(tr("<p>BNC can produce synchronized observations in a plain ASCII format on your local host via IP port.</p><p>Specify a port number to activate this function. <i>[key: outPort]</i></p>"));
   _outWaitSpinBox->setWhatsThis(tr("<p>When feeding a real-time GNSS network engine waiting for synchronized input epoch by epoch, BNC drops whatever is received later than 'Wait for full obs epoch' seconds.</p><p>A value of 3 to 5 seconds is recommended, depending on the latency of the incoming streams and the delay acceptable to your real-time GNSS network engine or product. <i>[key: outWait]</i></p>"));
-  _outSamplSpinBox->setWhatsThis(tr("<p>Select a synchronized observation sampling interval in seconds.</p><p>A value of zero '0' tells BNC to send/store all received epochs. <i>[key: outSampl]</i></p>"));
+  _outSamplComboBox->setWhatsThis(tr("<p>Select a synchronized observation sampling interval in seconds. <i>[key: outSampl]</i></p>"));
   _outFileLineEdit->setWhatsThis(tr("<p>Specify the full path to a file where synchronized observations are saved in plain ASCII format.</p><p>Beware that the size of this file can rapidly increase depending on the number of incoming streams. <i>[key: outFile]</i></p>"));
   _outUPortLineEdit->setWhatsThis(tr("<p>BNC can produce unsynchronized observations in a plain ASCII format on your local host via IP port.</p><p>Specify a port number to activate this function. <i>[key: outUPort]</i></p>"));
@@ -1496,5 +1497,5 @@
   delete _rnxPathLineEdit;
   delete _rnxIntrComboBox;
-  delete _rnxSamplSpinBox;
+  delete _rnxSamplComboBox;
   delete _rnxFileCheckBox;
   delete _rnxSkelLineEdit;
@@ -1511,5 +1512,5 @@
   delete _outPortLineEdit;
   delete _outWaitSpinBox;
-  delete _outSamplSpinBox;
+  delete _outSamplComboBox;
   delete _outFileLineEdit;
   delete _outUPortLineEdit;
@@ -1946,5 +1947,5 @@
   settings.setValue("rnxPath",      _rnxPathLineEdit->text());
   settings.setValue("rnxIntr",      _rnxIntrComboBox->currentText());
-  settings.setValue("rnxSampl",     _rnxSamplSpinBox->value());
+  settings.setValue("rnxSampl",     _rnxSamplComboBox->currentText());
   settings.setValue("rnxSkel",      _rnxSkelLineEdit->text());
   settings.setValue("rnxOnlyWithSKL",_rnxFileCheckBox->checkState());
@@ -1964,5 +1965,5 @@
   settings.setValue("outPort",     _outPortLineEdit->text());
   settings.setValue("outWait",     _outWaitSpinBox->value());
-  settings.setValue("outSampl",    _outSamplSpinBox->value());
+  settings.setValue("outSampl",    _outSamplComboBox->currentText());
   settings.setValue("outFile",     _outFileLineEdit->text());
   settings.setValue("outUPort",    _outUPortLineEdit->text());
@@ -2276,5 +2277,5 @@
   populateMountPointsTable();
   bncSettings settings;
-  _outSamplSpinBox->setValue(settings.value("outSampl").toInt());
+  _outSamplComboBox->findText(settings.value("rnxSampl").toString());
   _outWaitSpinBox->setValue(settings.value("outWait").toInt());
   QListIterator<bncGetThread*> iTh(threads);
@@ -2433,5 +2434,5 @@
     enable = !_rnxPathLineEdit->text().isEmpty();
     enableWidget(enable, _rnxIntrComboBox);
-    enableWidget(enable, _rnxSamplSpinBox);
+    enableWidget(enable, _rnxSamplComboBox);
     enableWidget(enable, _rnxSkelLineEdit);
     enableWidget(enable, _rnxFileCheckBox);
@@ -2480,5 +2481,5 @@
     enable = !_outPortLineEdit->text().isEmpty() || !_outFileLineEdit->text().isEmpty();
     enableWidget(enable, _outWaitSpinBox);
-    enableWidget(enable, _outSamplSpinBox);
+    enableWidget(enable, _outSamplComboBox);
   }
 
Index: /trunk/BNC/src/bncwindow.h
===================================================================
--- /trunk/BNC/src/bncwindow.h	(revision 8396)
+++ /trunk/BNC/src/bncwindow.h	(revision 8397)
@@ -172,6 +172,6 @@
     QComboBox* _ephIntrComboBox;
     QComboBox* _corrIntrComboBox;
-    QSpinBox*  _rnxSamplSpinBox;
-    QSpinBox*  _outSamplSpinBox;
+    QComboBox*  _rnxSamplComboBox;
+    QComboBox*  _outSamplComboBox;
     QCheckBox* _rnxAppendCheckBox;
     QCheckBox* _autoStartCheckBox;
Index: /trunk/BNC/src/reqcdlg.cpp
===================================================================
--- /trunk/BNC/src/reqcdlg.cpp	(revision 8396)
+++ /trunk/BNC/src/reqcdlg.cpp	(revision 8397)
@@ -69,5 +69,5 @@
 
   _reqcRnxVersion        = new QComboBox(this);
-  _reqcSampling          = new QSpinBox(this);
+  _reqcSampling          = new QComboBox(this);
   _reqcStartDateTime     = new QDateTimeEdit(this);
   _reqcStartDateTime->setDisplayFormat(timeFmtString);
@@ -94,24 +94,23 @@
   _reqcNewReceiverNumber = new QLineEdit(this);
 
-
   _reqcRnxVersion->setEditable(false);
   _reqcRnxVersion->addItems(QString("2,3").split(","));
   _reqcRnxVersion->setMaximumWidth(7*ww);
 
-  _reqcSampling->setMinimum(0);
-  _reqcSampling->setMaximum(60);
-  _reqcSampling->setSingleStep(5);
-  _reqcSampling->setSuffix(" sec");
-  _reqcSampling->setMaximumWidth(7*ww);
+  _reqcSampling->setEditable(false);
+  _reqcSampling->addItems(QString("0.1 sec,1 sec,5 sec,10 sec,15 sec,30 sec,60 sec").split(","));
+  bncSettings settings;
+  int ll = _reqcSampling->findText(settings.value("reqcSampl").toString());
+  if (ll != -1) {
+    _reqcSampling->setCurrentIndex(ll);
+  }
 
   // Read Options
   // ------------
-  bncSettings settings;
-
   int kk = _reqcRnxVersion->findText(settings.value("reqcRnxVersion").toString());
   if (kk != -1) {
     _reqcRnxVersion->setCurrentIndex(kk);
   }
-  _reqcSampling->setValue(settings.value("reqcSampling").toInt());
+  _reqcSampling->findText(settings.value("reqcSampling").toString());
   if (settings.value("reqcStartDateTime").toString().isEmpty()) {
     _reqcStartDateTime->setDateTime(QDateTime::fromString("1967-11-02T00:00:00", Qt::ISODate));
@@ -242,5 +241,5 @@
   // -----------------------------
   _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>"));
-  _reqcSampling->setWhatsThis(tr("<p>Select sampling rate of emerging new RINEX Observation file.</p><p>'0 sec' means that observations from all epochs in the RINEX input file will become part of the RINEX output file. <i>[key: reqcSampling]</i></p>"));
+  _reqcSampling->setWhatsThis(tr("<p>Select sampling rate of emerging new RINEX Observation file. <i>[key: reqcSampling]</i></p>"));
   _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&PWCSLXYN_ G:5&IQX_ R:12&PC_ R:3&IQX_ E:16&BCX_ E:578&IQX_ J:1&SLXCZ_ J:26&SLX_ J:5&IQX_ C:IQX_ I:ABCX_ S:1&C_ S:5&IQX_'. <i>[key: reqcV2Priority]</i></p>"));
   _reqcStartDateTime->setWhatsThis(tr("<p>Specify begin of emerging new RINEX Observation file. <i>[key: reqcStartDateTime]</i></p>"));
@@ -314,5 +313,5 @@
 
   settings.setValue("reqcRnxVersion"       , _reqcRnxVersion->currentText());
-  settings.setValue("reqcSampling"         , _reqcSampling->value());
+  settings.setValue("reqcSampling"         , _reqcSampling->currentText());
   settings.setValue("reqcV2Priority"       , _reqcV2Priority->text());
   settings.setValue("reqcStartDateTime"    , _reqcStartDateTime->dateTime().toString(Qt::ISODate));
Index: /trunk/BNC/src/reqcdlg.h
===================================================================
--- /trunk/BNC/src/reqcdlg.h	(revision 8396)
+++ /trunk/BNC/src/reqcdlg.h	(revision 8397)
@@ -58,5 +58,5 @@
 
    QComboBox*     _reqcRnxVersion;
-   QSpinBox*      _reqcSampling;
+   QComboBox*     _reqcSampling;
    QDateTimeEdit* _reqcStartDateTime;
    QDateTimeEdit* _reqcEndDateTime;
Index: /trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- /trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 8396)
+++ /trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 8397)
@@ -819,5 +819,5 @@
         << "End Time           : " << _qcFile._endTime.datestr().c_str()           << ' '
                                    << _qcFile._endTime.timestr(1,'.').c_str()      << endl
-        << "Interval           : " << _qcFile._interval                            << endl;
+        << "Interval           : " << _qcFile._interval << " sec"                  << endl;
 
   // Number of systems
Index: /trunk/BNC/src/rinex/reqcedit.cpp
===================================================================
--- /trunk/BNC/src/rinex/reqcedit.cpp	(revision 8396)
+++ /trunk/BNC/src/rinex/reqcedit.cpp	(revision 8397)
@@ -69,5 +69,5 @@
     _rnxVersion = defaultRnxObsVersion3;
   }
-  _samplingRate   = settings.value("reqcSampling").toInt();
+  _samplingRate   = settings.value("reqcSampling").toString().split("sec").first().toDouble();
   _begTime        = bncTime(settings.value("reqcStartDateTime").toString().toLatin1().data());
   _endTime        = bncTime(settings.value("reqcEndDateTime").toString().toLatin1().data());
@@ -118,5 +118,5 @@
           << _rnxVersion << endl;
     *_log << QByteArray("Sampling").leftJustified(15) << ": "
-          << _samplingRate << endl;
+          << _samplingRate << " sec" << endl;
     *_log << QByteArray("Start time").leftJustified(15) << ": "
           << _begTime.datestr().c_str() << ' '
@@ -338,5 +338,5 @@
 
         int sec = int(nint(epo->tt.gpssec()*10));
-        if (_samplingRate == 0 || sec % (_samplingRate*10) == 0) {
+        if (sec % (int(_samplingRate)*10) == 0) {
           applyLLI(obsFile, epo);
           outObsFile.writeEpoch(epo);
Index: /trunk/BNC/src/rinex/reqcedit.h
===================================================================
--- /trunk/BNC/src/rinex/reqcedit.h	(revision 8396)
+++ /trunk/BNC/src/rinex/reqcedit.h	(revision 8397)
@@ -71,5 +71,5 @@
   QString                _outNavFileName;
   double                 _rnxVersion;
-  int                    _samplingRate;
+  double                 _samplingRate;
   bncTime                _begTime;
   bncTime                _endTime;
