Index: trunk/BNC/src/upload/bncrtnetuploadcaster.cpp
===================================================================
--- trunk/BNC/src/upload/bncrtnetuploadcaster.cpp	(revision 6556)
+++ trunk/BNC/src/upload/bncrtnetuploadcaster.cpp	(revision 6557)
@@ -64,8 +64,13 @@
   bncSettings settings;
   QString     intr  = settings.value("uploadIntr").toString();
-
+  QStringList help  = settings.value("combineStreams").toStringList();
+  if (help.size() > 1) { // combination stream upload
+    _samplRtcmClkCorr  = settings.value("cmbSampl").toInt();
+  } else { // single stream upload or sp3 file generation
+    _samplRtcmClkCorr  = 5; // default
+  }
   _samplRtcmEphCorr  = settings.value("uploadSamplRtcmEphCorr").toDouble();
-  int samplClkRnx = settings.value("uploadSamplClkRnx").toInt();
-  int samplSp3    = settings.value("uploadSamplSp3").toInt() * 60;
+  int samplClkRnx    = settings.value("uploadSamplClkRnx").toInt();
+  int samplSp3       = settings.value("uploadSamplSp3").toInt() * 60;
 
   if (_samplRtcmEphCorr == 0.0) {
@@ -305,30 +310,10 @@
   int clkUpdInd = 2;         // 5 sec
   int ephUpdInd = clkUpdInd; // default
-  if      (_samplRtcmEphCorr ==  10.0) {
-    ephUpdInd = 3;
-  }
-  else if (_samplRtcmEphCorr ==  15.0) {
-    ephUpdInd = 4;
-  }
-  else if (_samplRtcmEphCorr ==  30.0) {
-    ephUpdInd = 5;
-  }
-  else if (_samplRtcmEphCorr ==  60.0) {
-    ephUpdInd = 6;
-  }
-  else if (_samplRtcmEphCorr == 120.0) {
-    ephUpdInd = 7;
-  }
-  else if (_samplRtcmEphCorr == 240.0) {
-    ephUpdInd = 8;
-  }
-  else if (_samplRtcmEphCorr == 300.0) {
-    ephUpdInd = 9;
-  }
-  else if (_samplRtcmEphCorr == 600.0) {
-    ephUpdInd = 10;
-  }
-  else if (_samplRtcmEphCorr == 900.0) {
-    ephUpdInd = 11;
+
+  if (_samplRtcmEphCorr != 5) {
+    ephUpdInd = determineUpdateInd(_samplRtcmEphCorr);
+  }
+  if (_samplRtcmClkCorr != 5) {
+    clkUpdInd = determineUpdateInd(_samplRtcmClkCorr);
   }
 
@@ -790,2 +775,45 @@
 }
 
+int bncRtnetUploadCaster::determineUpdateInd(double samplingRate) {
+
+  if (samplingRate == 10.0) {
+    return 3;
+  }
+  else if (samplingRate == 15.0) {
+    return 4;
+  }
+  else if (samplingRate == 30.0) {
+    return 5;
+  }
+  else if (samplingRate == 60.0) {
+    return 6;
+  }
+  else if (samplingRate == 120.0) {
+    return 7;
+  }
+  else if (samplingRate == 240.0) {
+    return 8;
+  }
+  else if (samplingRate == 300.0) {
+    return 9;
+  }
+  else if (samplingRate == 600.0) {
+    return 10;
+  }
+  else if (samplingRate == 900.0) {
+    return 11;
+  }
+  else if (samplingRate == 1800.0) {
+    return 12;
+  }
+  else if (samplingRate == 3600.0) {
+    return 13;
+  }
+  else if (samplingRate == 7200.0) {
+    return 14;
+  }
+  else if (samplingRate == 10800.0) {
+    return 15;
+  }
+  return 2;// default
+}
Index: trunk/BNC/src/upload/bncrtnetuploadcaster.h
===================================================================
--- trunk/BNC/src/upload/bncrtnetuploadcaster.h	(revision 6556)
+++ trunk/BNC/src/upload/bncrtnetuploadcaster.h	(revision 6557)
@@ -39,4 +39,6 @@
   void crdTrafo(int GPSWeek, ColumnVector& xyz, double& dc);
 
+  int determineUpdateInd(double samplingRate);
+
   QString        _casterID;
   bncEphUser*    _ephUser;
@@ -47,4 +49,5 @@
   int            _SID;
   int            _IOD;
+  int            _samplRtcmClkCorr;
   double         _samplRtcmEphCorr;
   double         _dx;
