Index: /trunk/BNC/src/bnchelp.html
===================================================================
--- /trunk/BNC/src/bnchelp.html	(revision 9291)
+++ /trunk/BNC/src/bnchelp.html	(revision 9292)
@@ -5239,5 +5239,4 @@
    PPP/audioResponse    {Audio response threshold in meters [floating-point number]}
    PPP/useOpenStreetMap {OSM track map [character string: true|false]}
-   PPP/useGoogleMap     {Google track map [character string: true|false]}
    PPP/mapWinDotSize    {Size of dots on map [integer number: 0-10]}
    PPP/mapWinDotColor   {Color of dots and cross hair on map [character string: red|yellow]}
@@ -5246,8 +5245,16 @@
 <b>Combine Corrections Panel keys:</b>
    cmbStreams      {Correction streams table [character string, semicolon separated list, each element in quotation marks, example:
-                   "IGS01 ESA 1.0;IGS03 BKG 1.0"]}
+                   "SSRA00ESA0 ESA 1.0;SSRA00BKG0 BKG 1.0"]}
    cmbMethodFilter {Combination approach [character string: Single-Epoch|Filter]
    cmbMaxres       {Clock outlier residuum threshold in meters [floating-point number]
    cmbSampl        {Clock sampling rate [integer number of seconds: 10|20|30|40|50|60]}
+   cmbGps          {GPS correction usage [integer number: 0=no,2=yes]}
+   cmbGlo          {GLONASS correction usage [integer number: 0=no,2=yes]}
+   cmbGal          {Galileo correction usage [integer number: 0=no,2=yes]}
+   cmbBds          {Beidou correction usage [integer number: 0=no,2=yes]}
+   cmbQzss         {QZSS correction usage [integer number: 0=no,2=yes]}
+   cmbSbas         {SBAS correction usage [integer number: 0=no,2=yes]}
+   cmbIrnss        {IRNSS correction usage [integer number: 0=no,2=yes]}
+
 
 <b>Upload Corrections Panel keys:</b>
Index: /trunk/BNC/src/bncmain.cpp
===================================================================
--- /trunk/BNC/src/bncmain.cpp	(revision 9291)
+++ /trunk/BNC/src/bncmain.cpp	(revision 9292)
@@ -251,8 +251,15 @@
       "Combine Corrections Panel keys:\n"
       "   cmbStreams      {Correction streams table [character string, semicolon separated list, each element in quotation marks, example:\n"
-      "                   \"IGS01 ESA 1.0;IGS03 BKG 1.0\"]}\n"
+      "                   \"SSRA00ESA0 ESA 1.0;SSRA00BKG BKG 1.0\"]}\n"
       "   cmbMethodFilter {Combination approach [character string: Single-Epoch|Filter]\n"
       "   cmbMaxres       {Clock outlier residuum threshold in meters [floating-point number]\n"
       "   cmbSampl        {Clock sampling rate [integer number of seconds: 10|20|30|40|50|60]}\n"
+      "   cmbGps          {GPS correction usage [integer number: 0=no,2=yes]}\n"
+      "   cmbGlo          {GLONASS correction usage [integer number: 0=no,2=yes]}\n"
+      "   cmbGal          {Galileo correction usage [integer number: 0=no,2=yes]}\n"
+      "   cmbBds          {Beidou correction usage [integer number: 0=no,2=yes]}\n"
+      "   cmbQzss         {QZSS correction usage [integer number: 0=no,2=yes]}\n"
+      "   cmbSbas         {SBAS correction usage [integer number: 0=no,2=yes]}\n"
+      "   cmbIrnss        {IRNSS correction usage [integer number: 0=no,2=yes]}\n"
       "\n"
       "Upload Corrections Panel keys:\n"
Index: /trunk/BNC/src/bncsettings.cpp
===================================================================
--- /trunk/BNC/src/bncsettings.cpp	(revision 9291)
+++ /trunk/BNC/src/bncsettings.cpp	(revision 9292)
@@ -71,31 +71,31 @@
                                << "http://user:pass@mgex.igs-ip.net:2101"));
     setValue_p("mountPoints",         "");
-    setValue_p("ntripVersion",        "2");
+    setValue_p("ntripVersion",       "2");
     // Network
     setValue_p("proxyHost",           "");
     setValue_p("proxyPort",           "");
     setValue_p("sslCaCertPath",       "");
-    setValue_p("sslIgnoreErrors",     "0");
+    setValue_p("sslIgnoreErrors",    "0");
     // General
     setValue_p("logFile",             "");
-    setValue_p("rnxAppend",           "0");
-    setValue_p("onTheFlyInterval",    "no");
-    setValue_p("autoStart",           "0");
+    setValue_p("rnxAppend",          "0");
+    setValue_p("onTheFlyInterval",  "no");
+    setValue_p("autoStart",          "0");
     setValue_p("rawOutFile",          "");
     // RINEX Observations
     setValue_p("rnxPath",             "");
-    setValue_p("rnxIntr",             "1 day");
+    setValue_p("rnxIntr",        "1 day");
     setValue_p("rnxOnlyWithSKL",      "");
-    setValue_p("rnxSampl",            "1 sec");
-    setValue_p("rnxSkel",             "skl");
+    setValue_p("rnxSampl",       "1 sec");
+    setValue_p("rnxSkel",          "skl");
     setValue_p("rnxSkelPath",         "");
     setValue_p("rnxV2Priority",       "");
     setValue_p("rnxScript",           "");
-    setValue_p("rnxV2",               "0");
+    setValue_p("rnxV2",              "0");
     // RINEX Ephemeris
     setValue_p("ephPath",             "");
-    setValue_p("ephIntr",             "1 day");
+    setValue_p("ephIntr",        "1 day");
     setValue_p("ephOutPort",          "");
-    setValue_p("ephV2",               "0");
+    setValue_p("ephV2",              "0");
     // Reqc
     setValue_p("reqcAction",          "");
@@ -138,13 +138,13 @@
     // Braodcast Corrections
     setValue_p("corrPath",            "");
-    setValue_p("corrIntr",            "1 day");
+    setValue_p("corrIntr",       "1 day");
     setValue_p("corrPort",            "");
     // Feed Engine
     setValue_p("outPort",             "");
-    setValue_p("outWait",             "5");
-    setValue_p("outSampl",            "1 sec");
+    setValue_p("outWait",            "5");
+    setValue_p("outSampl",       "1 sec");
     setValue_p("outFile",             "");
     setValue_p("outUPort",            "");
-    setValue_p("outLockTime",       "0");
+    setValue_p("outLockTime",        "0");
     // Serial Output
     setValue_p("serialMountPoint",    "");
@@ -173,11 +173,19 @@
     setValue_p("cmbMethod",           "");
     setValue_p("cmbMaxres",           "");
-    setValue_p("cmbSampl",            "10");
+    setValue_p("cmbSampl",          "10");
+    setValue_p("cmbGps",             "2");
+    setValue_p("cmbGlo",             "2");
+    setValue_p("cmbGal",             "2");
+    setValue_p("cmbBds",             "2");
+    setValue_p("cmbQzss",            "0");
+    setValue_p("cmbSbas",            "0");
+    setValue_p("cmbIrnss",           "0");
+
     // Upload (clk)
     setValue_p("uploadMountpointsOut","");
-    setValue_p("uploadIntr",          "1 day");
+    setValue_p("uploadIntr",     "1 day");
     setValue_p("uploadSamplRtcmEphCorr", "0");
-    setValue_p("uploadSamplSp3",      "1");
-    setValue_p("uploadSamplClkRnx",   "10");
+    setValue_p("uploadSamplSp3",     "1");
+    setValue_p("uploadSamplClkRnx", "10");
     setValue_p("trafo_dx",            "");
     setValue_p("trafo_dy",            "");
Index: /trunk/BNC/src/bncwindow.cpp
===================================================================
--- /trunk/BNC/src/bncwindow.cpp	(revision 9291)
+++ /trunk/BNC/src/bncwindow.cpp	(revision 9292)
@@ -492,6 +492,5 @@
   QPushButton* delCmbRowButton = new QPushButton("Delete");
 
-  connect(_cmbTable, SIGNAL(itemSelectionChanged()),
-          SLOT(slotBncTextChanged()));
+  connect(_cmbTable, SIGNAL(itemSelectionChanged()), SLOT(slotBncTextChanged()));
 
   _cmbMethodComboBox = new QComboBox();
@@ -514,4 +513,26 @@
     enableWidget(false, _cmbSamplSpinBox);
   }
+  _cmbGpsCheckBox = new QCheckBox();
+  _cmbGpsCheckBox->setCheckState(Qt::CheckState(settings.value("cmbGps").toInt()));
+  _cmbGloCheckBox = new QCheckBox();
+  _cmbGloCheckBox->setCheckState(Qt::CheckState(settings.value("cmbGlo").toInt()));
+  _cmbGalCheckBox = new QCheckBox();
+  _cmbGalCheckBox->setCheckState(Qt::CheckState(settings.value("cmbGal").toInt()));
+  _cmbBdsCheckBox = new QCheckBox();
+  _cmbBdsCheckBox->setCheckState(Qt::CheckState(settings.value("cmbBds").toInt()));
+  _cmbQzssCheckBox = new QCheckBox();
+  _cmbQzssCheckBox->setCheckState(Qt::CheckState(settings.value("cmbQzss").toInt()));
+  _cmbSbasCheckBox = new QCheckBox();
+  _cmbSbasCheckBox->setCheckState(Qt::CheckState(settings.value("cmbSbas").toInt()));
+  _cmbIrnssCheckBox = new QCheckBox();
+  _cmbIrnssCheckBox->setCheckState(Qt::CheckState(settings.value("cmbIrnss").toInt()));
+
+  connect(_cmbGpsCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbGloCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbGalCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbBdsCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbQzssCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbSbasCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbIrnssCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
 
   // Upload Results
@@ -1209,13 +1230,29 @@
   cmbLayout->addWidget(_cmbTable,                                            0, 0, 8, 3);
   cmbLayout->addWidget(new QLabel(" Combine Broadcast Correction streams.<br>"), 1, 6, 1, 10);
-  cmbLayout->addWidget(addCmbRowButton,                                      2, 6);
-  cmbLayout->addWidget(delCmbRowButton,                                      2, 7);
-  cmbLayout->addWidget(new QLabel("Method"),                                 3, 6, Qt::AlignRight);
-  cmbLayout->addWidget(_cmbMethodComboBox,                                   3, 7);
-  cmbLayout->addWidget(new QLabel(" Maximal residuum"),                      4, 6, Qt::AlignRight);
-  cmbLayout->addWidget(_cmbMaxresLineEdit,                                   4, 7, Qt::AlignRight);
-  cmbLayout->addWidget(new QLabel("Sampling"),                               5, 6, Qt::AlignRight);
-  cmbLayout->addWidget(_cmbSamplSpinBox,                                     5, 7);
-  cmbLayout->setRowStretch(5, 999);
+  cmbLayout->addWidget(addCmbRowButton,                                      2,  6);
+  cmbLayout->addWidget(delCmbRowButton,                                      2,  7);
+  cmbLayout->addWidget(new QLabel("Method"),                                 3,  6, Qt::AlignRight);
+  cmbLayout->addWidget(_cmbMethodComboBox,                                   3,  7);
+  cmbLayout->addWidget(new QLabel(" Maximal residuum"),                      4,  6, Qt::AlignRight);
+  cmbLayout->addWidget(_cmbMaxresLineEdit,                                   4,  7, Qt::AlignRight);
+  cmbLayout->addWidget(new QLabel("Sampling"),                               5,  6, Qt::AlignRight);
+  cmbLayout->addWidget(_cmbSamplSpinBox,                                     5,  7);
+  cmbLayout->addWidget(new QLabel("GNSS"),                                   6,  6, Qt::AlignRight);
+  cmbLayout->addWidget(new QLabel("Systems"),                                6,  7, Qt::AlignLeft);
+  cmbLayout->addWidget(new QLabel("GPS"),                                    6,  8);
+  cmbLayout->addWidget(_cmbGpsCheckBox,                                      6,  9);
+  cmbLayout->addWidget(new QLabel("GLO"),                                    6, 10);
+  cmbLayout->addWidget(_cmbGloCheckBox,                                      6, 11);
+  cmbLayout->addWidget(new QLabel("Galileo"),                                6, 12);
+  cmbLayout->addWidget(_cmbGalCheckBox,                                      6, 13);
+  cmbLayout->addWidget(new QLabel("Beidou"),                                 6, 14);
+  cmbLayout->addWidget(_cmbBdsCheckBox,                                      6, 15);
+  cmbLayout->addWidget(new QLabel("QZSS"),                                   7,  8);
+  cmbLayout->addWidget(_cmbQzssCheckBox,                                     7,  9);
+  cmbLayout->addWidget(new QLabel("SBAS"),                                   7, 10);
+  cmbLayout->addWidget(_cmbSbasCheckBox,                                     7, 11);
+  cmbLayout->addWidget(new QLabel("IRNSS"),                                  7, 12);
+  cmbLayout->addWidget(_cmbIrnssCheckBox,                                    7, 13);
+  cmbLayout->setRowStretch(6, 999);
 
   connect(addCmbRowButton, SIGNAL(clicked()), this, SLOT(slotAddCmbRow()));
@@ -1426,4 +1463,11 @@
   _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>"));
   _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. <i>[key: cmbSampl]</i></p>"));
+  _cmbGpsCheckBox->setWhatsThis(tr("<p>GPS corrections shall be combined. <i>[key: cmbGps]</i></p>"));
+  _cmbGloCheckBox->setWhatsThis(tr("<p>GLONASS corrections shall be combined; GPS Broadcast ephemeris and corrections are required. <i>[key: cmbGlo]</i></p>"));
+  _cmbGalCheckBox->setWhatsThis(tr("<p>Galileo corrections shall be combined; GLONASS Broadcast ephemeris and corrections are required. <i>[key: cmbGal]</i></p>"));
+  _cmbBdsCheckBox->setWhatsThis(tr("<p>Beidou corrections shall be combined; Galileo Broadcast ephemeris and corrections are required. <i>[key: cmbBds]</i></p>"));
+  _cmbQzssCheckBox->setWhatsThis(tr("<p>QZSS corrections shall be combined; QZSS Broadcast ephemeris and corrections are required. <i>[key: cmbQzss]</i></p>"));
+  _cmbSbasCheckBox->setWhatsThis(tr("<p>SBAS corrections shall be combined; SBAS Broadcast ephemeris and corrections are required. <i>[key: cmbSbas]</i></p>"));
+  _cmbIrnssCheckBox->setWhatsThis(tr("<p>IRNSS corrections shall be combined; IRNSS Broadcast ephemeris and corrections are required. <i>[key: cmbIrnss]</i></p>"));
 
   // WhatsThis, Upload Corrections
@@ -1554,5 +1598,12 @@
   delete _cmbMaxresLineEdit;
   delete _cmbSamplSpinBox;
-  delete _cmbMethodComboBox;;
+  delete _cmbMethodComboBox;
+  delete _cmbGpsCheckBox;
+  delete _cmbGloCheckBox;
+  delete _cmbGalCheckBox;
+  delete _cmbBdsCheckBox;
+  delete _cmbQzssCheckBox;
+  delete _cmbSbasCheckBox;
+  delete _cmbIrnssCheckBox;
   _uploadEphTable->deleteLater();
   delete _uploadSamplRtcmEphCorrSpinBox;
@@ -1986,5 +2037,4 @@
   settings.setValue("outFile",     _outFileLineEdit->text());
   settings.setValue("outLockTime",_outLockTimeCheckBox->checkState());    settings.setValue("outUPort",    _outUPortLineEdit->text());
-
 // Serial Output
   settings.setValue("serialMountPoint",_serialMountPointLineEdit->text());
@@ -2033,4 +2083,12 @@
   settings.setValue("cmbMaxres",     _cmbMaxresLineEdit->text());
   settings.setValue("cmbSampl",      _cmbSamplSpinBox->value());
+  settings.setValue("cmbGps",        _cmbGpsCheckBox->checkState());
+  settings.setValue("cmbGlo",        _cmbGloCheckBox->checkState());
+  settings.setValue("cmbGal",        _cmbGalCheckBox->checkState());
+  settings.setValue("cmbBds",        _cmbBdsCheckBox->checkState());
+  settings.setValue("cmbQzss",       _cmbQzssCheckBox->checkState());
+  settings.setValue("cmbSbas",       _cmbSbasCheckBox->checkState());
+  settings.setValue("cmbIrnss",      _cmbIrnssCheckBox->checkState());
+
 // Upload Corrections
   if (!uploadMountpointsOut.isEmpty()) {
@@ -2548,4 +2606,11 @@
       enableWidget(true, _cmbMaxresLineEdit);
       enableWidget(true, _cmbSamplSpinBox);
+      enableWidget(true, _cmbGpsCheckBox);
+      enableWidget(true, _cmbGloCheckBox);
+      enableWidget(true, _cmbGalCheckBox);
+      enableWidget(true, _cmbBdsCheckBox);
+      enableWidget(true, _cmbQzssCheckBox);
+      enableWidget(true, _cmbSbasCheckBox);
+      enableWidget(true, _cmbIrnssCheckBox);
     }
     else {
@@ -2553,4 +2618,11 @@
       enableWidget(false, _cmbMaxresLineEdit);
       enableWidget(false, _cmbSamplSpinBox);
+      enableWidget(false, _cmbGpsCheckBox);
+      enableWidget(false, _cmbGloCheckBox);
+      enableWidget(false, _cmbGalCheckBox);
+      enableWidget(false, _cmbBdsCheckBox);
+      enableWidget(false, _cmbQzssCheckBox);
+      enableWidget(false, _cmbSbasCheckBox);
+      enableWidget(false, _cmbIrnssCheckBox);
     }
   }
Index: /trunk/BNC/src/bncwindow.h
===================================================================
--- /trunk/BNC/src/bncwindow.h	(revision 9291)
+++ /trunk/BNC/src/bncwindow.h	(revision 9292)
@@ -218,4 +218,11 @@
     QComboBox*     _cmbMethodComboBox;
     QSpinBox*      _cmbSamplSpinBox;
+    QCheckBox*     _cmbGpsCheckBox;
+    QCheckBox*     _cmbGloCheckBox;
+    QCheckBox*     _cmbGalCheckBox;
+    QCheckBox*     _cmbBdsCheckBox;
+    QCheckBox*     _cmbQzssCheckBox;
+    QCheckBox*     _cmbSbasCheckBox;
+    QCheckBox*     _cmbIrnssCheckBox;
 
     QTableWidget*  _uploadTable;
Index: /trunk/BNC/src/combination/bnccomb.cpp
===================================================================
--- /trunk/BNC/src/combination/bnccomb.cpp	(revision 9291)
+++ /trunk/BNC/src/combination/bnccomb.cpp	(revision 9292)
@@ -131,12 +131,39 @@
     _cmbSampl = 10;
   }
-
-  _cmbSysPrn['G'] = t_prn::MAXPRN_GPS;     _masterMissingEpochs['G'] = 0;
-  _cmbSysPrn['R'] = t_prn::MAXPRN_GLONASS; _masterMissingEpochs['R'] = 0;
-  _cmbSysPrn['E'] = t_prn::MAXPRN_GALILEO; _masterMissingEpochs['E'] = 0;
-  _cmbSysPrn['C'] = t_prn::MAXPRN_BDS;     _masterMissingEpochs['C'] = 0;/*
-  _cmbSysPrn['J'] = t_prn::MAXPRN_QZSS;    _masterMissingEpochs['J'] = 0;
-  _cmbSysPrn['S'] = t_prn::MAXPRN_SBAS;    _masterMissingEpochs['S'] = 0;
-  */
+  _useGps = (Qt::CheckState(settings.value("cmbGps").toInt()) == Qt::Checked) ? true : false;
+  if (_useGps) {
+    _cmbSysPrn['G'] = t_prn::MAXPRN_GPS;
+    _masterMissingEpochs['G'] = 0;
+  }
+  _useGlo = (Qt::CheckState(settings.value("cmbGlo").toInt()) == Qt::Checked) ? true : false;
+  if (_useGlo) {
+    _cmbSysPrn['R'] = t_prn::MAXPRN_GLONASS;
+    _masterMissingEpochs['R'] = 0;
+  }
+  _useGal = (Qt::CheckState(settings.value("cmbGal").toInt()) == Qt::Checked) ? true : false;
+  if (_useGal) {
+    _cmbSysPrn['E'] = t_prn::MAXPRN_GALILEO;
+    _masterMissingEpochs['E'] = 0;
+  }
+  _useBds = (Qt::CheckState(settings.value("cmbBds").toInt()) == Qt::Checked) ? true : false;
+  if (_useBds) {
+    _cmbSysPrn['C'] = t_prn::MAXPRN_BDS;
+    _masterMissingEpochs['C'] = 0;
+  }
+  _useQzss = (Qt::CheckState(settings.value("cmbQzss").toInt()) == Qt::Checked) ? true : false;
+  if (_useQzss) {
+    _cmbSysPrn['J'] = t_prn::MAXPRN_QZSS;
+    _masterMissingEpochs['J'] = 0;
+  }
+  _useSbas = (Qt::CheckState(settings.value("cmbSbas").toInt()) == Qt::Checked) ? true : false;
+  if (_useSbas) {
+    _cmbSysPrn['S'] = t_prn::MAXPRN_SBAS;
+    _masterMissingEpochs['S'] = 0;
+  }
+  _useIrnss = (Qt::CheckState(settings.value("cmbIrnss").toInt()) == Qt::Checked) ? true : false;
+  if (_useIrnss) {
+    _cmbSysPrn['I'] = t_prn::MAXPRN_IRNSS;
+    _masterMissingEpochs['I'] = 0;
+  }
 
   if (cmbStreams.size() >= 1 && !cmbStreams[0].isEmpty()) {
Index: /trunk/BNC/src/combination/bnccomb.h
===================================================================
--- /trunk/BNC/src/combination/bnccomb.h	(revision 9291)
+++ /trunk/BNC/src/combination/bnccomb.h	(revision 9292)
@@ -63,4 +63,5 @@
       numObs['J'] = 0;
       numObs['S'] = 0;
+      numObs['I'] = 0;
     }
     ~cmbAC() {}
@@ -134,4 +135,11 @@
   SsrCorr*                               _ssrCorr;
   QMap<char, unsigned>                   _cmbSysPrn;
+  bool                                   _useGps;
+  bool                                   _useGlo;
+  bool                                   _useGal;
+  bool                                   _useBds;
+  bool                                   _useQzss;
+  bool                                   _useSbas;
+  bool                                   _useIrnss;
 };
 
