Index: /trunk/BNC/bncmodel.cpp
===================================================================
--- /trunk/BNC/bncmodel.cpp	(revision 3106)
+++ /trunk/BNC/bncmodel.cpp	(revision 3107)
@@ -143,4 +143,7 @@
   _staID   = staID;
 
+  connect(this, SIGNAL(newMessage(QByteArray,bool)), 
+          ((bncApp*)qApp), SLOT(slotMessage(const QByteArray,bool)));
+
   bncSettings settings;
 
@@ -189,7 +192,6 @@
   }
 
-  connect(this, SIGNAL(newMessage(QByteArray,bool)), 
-          ((bncApp*)qApp), SLOT(slotMessage(const QByteArray,bool)));
-
+  // Several options
+  // ---------------
   _usePhase = false;
   if ( Qt::CheckState(settings.value("pppUsePhase").toInt()) == Qt::Checked) {
@@ -202,17 +204,7 @@
   }
 
-  _xcBanc.ReSize(4);  _xcBanc  = 0.0;
-  _ellBanc.ReSize(3); _ellBanc = 0.0;
-
-  int nextPar = 0;
-  _params.push_back(new bncParam(bncParam::CRD_X,  ++nextPar, ""));
-  _params.push_back(new bncParam(bncParam::CRD_Y,  ++nextPar, ""));
-  _params.push_back(new bncParam(bncParam::CRD_Z,  ++nextPar, ""));
-  _params.push_back(new bncParam(bncParam::RECCLK, ++nextPar, ""));
-  if (_estTropo) {
-    _params.push_back(new bncParam(bncParam::TROPO, ++nextPar, ""));
-  }
+  _useGalileo = false;
   if ( Qt::CheckState(settings.value("pppGalileo").toInt()) == Qt::Checked) {
-    _params.push_back(new bncParam(bncParam::GALILEO_OFFSET, ++nextPar, ""));
+    _useGalileo = true;
   }
 
@@ -237,4 +229,6 @@
   }
 
+  // Antenna Name, ANTEX File
+  // ------------------------
   _antex = 0;
   QString antexFileName = settings.value("pppAntex").toString();
@@ -248,4 +242,50 @@
     else {
       _antennaName = settings.value("pppAntenna").toString();
+    }
+  }
+
+  // Bancroft Coordinates
+  // --------------------
+  _xcBanc.ReSize(4);  _xcBanc  = 0.0;
+  _ellBanc.ReSize(3); _ellBanc = 0.0;
+}
+
+// Reset
+////////////////////////////////////////////////////////////////////////////
+void bncModel::reset() {
+
+  for (int iPar = 1; iPar <= _params.size(); iPar++) {
+    delete _params[iPar-1];
+  }
+  _params.clear();
+
+  int nextPar = 0;
+  _params.push_back(new bncParam(bncParam::CRD_X,  ++nextPar, ""));
+  _params.push_back(new bncParam(bncParam::CRD_Y,  ++nextPar, ""));
+  _params.push_back(new bncParam(bncParam::CRD_Z,  ++nextPar, ""));
+  _params.push_back(new bncParam(bncParam::RECCLK, ++nextPar, ""));
+  if (_estTropo) {
+    _params.push_back(new bncParam(bncParam::TROPO, ++nextPar, ""));
+  }
+  if (_useGalileo) {
+    _params.push_back(new bncParam(bncParam::GALILEO_OFFSET, ++nextPar, ""));
+  }
+
+  _QQ.ReSize(_params.size()); 
+  _QQ = 0.0;
+  for (int iPar = 1; iPar <= _params.size(); iPar++) {
+    bncParam* pp = _params[iPar-1];
+    pp->xx = 0.0;
+    if      (pp->isCrd()) {
+      _QQ(iPar,iPar) = _sigCrd0 * _sigCrd0; 
+    }
+    else if (pp->type == bncParam::RECCLK) {
+      _QQ(iPar,iPar) = _sigClk0 * _sigClk0; 
+    }
+    else if (pp->type == bncParam::TROPO) {
+      _QQ(iPar,iPar) = _sigTrp0 * _sigTrp0; 
+    }
+    else if (pp->type == bncParam::GALILEO_OFFSET) {
+      _QQ(iPar,iPar) = _sigGalileoOffset0 * _sigGalileoOffset0; 
     }
   }
@@ -428,5 +468,5 @@
   _time = epoData->tt; // current epoch time
 
-  const double MAXSOLGAP = 60.0;
+  const double MAXSOLGAP = 10.0;
 
   bool firstCrd = false;
@@ -434,24 +474,5 @@
     firstCrd = true;
     _startTime = epoData->tt;
-
-    unsigned nPar = _params.size();
-    _QQ.ReSize(nPar); 
-    _QQ = 0.0;
-    for (int iPar = 1; iPar <= _params.size(); iPar++) {
-      bncParam* pp = _params[iPar-1];
-      pp->xx = 0.0;
-      if      (pp->isCrd()) {
-        _QQ(iPar,iPar) = _sigCrd0 * _sigCrd0; 
-      }
-      else if (pp->type == bncParam::RECCLK) {
-        _QQ(iPar,iPar) = _sigClk0 * _sigClk0; 
-      }
-      else if (pp->type == bncParam::TROPO) {
-        _QQ(iPar,iPar) = _sigTrp0 * _sigTrp0; 
-      }
-      else if (pp->type == bncParam::GALILEO_OFFSET) {
-        _QQ(iPar,iPar) = _sigGalileoOffset0 * _sigGalileoOffset0; 
-      }
-    }
+    reset();
   }
 
Index: /trunk/BNC/bncmodel.h
===================================================================
--- /trunk/BNC/bncmodel.h	(revision 3106)
+++ /trunk/BNC/bncmodel.h	(revision 3107)
@@ -93,4 +93,5 @@
 
  private:
+  void   reset();
   void   cmpEle(t_satData* satData);
   void   addAmb(t_satData* satData);
@@ -138,4 +139,5 @@
   bool                  _usePhase;
   bool                  _estTropo;
+  bool                  _useGalileo;
   QByteArray            _log;
   QFile*                _nmeaFile;
