Index: trunk/BNC/src/PPP/filter.cpp
===================================================================
--- trunk/BNC/src/PPP/filter.cpp	(revision 5744)
+++ trunk/BNC/src/PPP/filter.cpp	(revision 5747)
@@ -7,8 +7,7 @@
 #include "filter.h"
 #include "parlist.h"
-#include "ambres.h"
 #include "obspool.h"
-#include "kalman.h"
 #include "station.h"
+#include "pppClient.h"
 
 using namespace BNC;
@@ -31,5 +30,4 @@
 t_irc t_filter::processEpoch(t_obsPool* obsPool) {
 
-  _ambFixRate = 0.0;
   _numSat     = 0;
 
@@ -42,5 +40,5 @@
   t_obsPool::t_epoch* epoch = obsPool->lastEpoch();
   if (!epoch) {
-    return t_irc::failure;
+    return failure;
   }
   vector<t_satObs*>& obsVector = epoch->obsVector();
@@ -113,96 +111,13 @@
     const vector<t_lc::type>& LCsHlp = (ipc == 0 ? LCsCode : LCsPhase);
     if (LCsHlp.size() > 0) {
-      if ( processLC(LCsHlp, obsVector) != t_irc::success ) {
-        return t_irc::failure;
-      }
-    }
-  }
-
-  // Copy Float Solution
-  // -------------------
-  _QFix = _QFlt;
-  _xFix = _xFlt;
-
-  _ambFixRate = 0.0;
-
-  // Constrain ZD Ambiguities
-  // ------------------------
-  if (LCsPhase.size() > 0) {  
-    Matrix         HH(LCsPhase.size(), params.size());  HH = 0.0;
-    ColumnVector   hh(LCsPhase.size());                 hh = 0.0;
-    DiagonalMatrix Sl(LCsPhase.size());                 Sl = 1.e-4;
-    for (unsigned iLC = 0; iLC < LCsPhase.size(); iLC++) {
-      const t_param* ambPar = 0;
-      for (unsigned iPar = 0; iPar < params.size(); iPar++) {
-        const t_param* par = params[iPar];
-        if (par->type() == t_param::amb && par->tLC() == LCsPhase[iLC] && 
-            par->indexOld() != -1 && !par->ambResetCandidate()) {
-          if (ambPar == 0 || ambPar->ambEleSat() < par->ambEleSat()) {
-            ambPar = par;
-          }
-        }
-      }
-      if (ambPar) {
-        HH[iLC][ambPar->indexNew()] = 1.0; 
-        hh[iLC]                     = xFltOld[ambPar->indexOld()];
-      }
-    }
-    kalman(_QFix, _xFix, HH, hh, Sl);
-  }
-
-  // Ambiguity Resolution
-  // --------------------
-  if (OPT->ambres()) {
-    if (ambLCs.size() > 1) {
-      t_ambres::ambres(_epoTime, ambLCs, _parlist, _QFix, _xFix, true);
-    }
-    _ambFixRate = t_ambres::ambres(_epoTime, ambLCs, _parlist, _QFix, _xFix, false);
-
-    // Check/Print Fixed Residuals
-    // ---------------------------
-    bool checkResOK = true;
-    string epoTimeStr = string(_epoTime);
-    for (unsigned ii = 0; ii < OPT->LCs().size(); ii++) {
-      const t_lc::type& tLC = OPT->LCs()[ii];
-      for (unsigned iObs = 0; iObs < obsVector.size(); iObs++) {
-        const t_satObs* obs = obsVector[iObs];
-        if (obs->isValid() && !obs->outlier()) {
-          ColumnVector AA(params.size());
-          for (unsigned iPar = 0; iPar < params.size(); iPar++) {
-            const t_param* par = params[iPar];
-            AA[iPar] = par->partial(_epoTime, obs, tLC);
-          }
-          double ll = obs->obsValue(tLC) - obs->cmpValue(tLC) - DotProduct(_x0, AA);
-          double vv = DotProduct(AA, _xFix) - ll;
-
-          bool outlier = false;
-          if (fabs(vv) > (t_lc::includesCode(tLC) ? 1.5 * OPT->maxResCode() : 1.5 * OPT->maxResPhase())) {
-            outlier    = true;
-            checkResOK = false;
-          }
-
-          if (OPT->logLevel() > 1) {
-            LOG << epoTimeStr << " XRES " 
-                << left << setw(3) << t_lc::toString(tLC) << right << ' ' 
-                << obs->prn().toString() << ' ' 
-                << setw(8) << setprecision(4) << vv;
-            if (outlier) {
-              LOG << " outlier AR";
-            }
-            LOG << endl;
-          }
-        }
-      }
-    }
-    if (!checkResOK || _ambFixRate < OPT->ambresMinFixRate()) {
-      _ambFixRate = 0.0;
-      _xFix = _xFlt;
-      _QFix = _QFlt;
-    }
-  }
-
-  _parlist->printResult(_epoTime, _QFix, _xFix, _ambFixRate);
-
-  return t_irc::success;
+      if ( processLC(LCsHlp, obsVector) != success ) {
+        return failure;
+      }
+    }
+  }
+
+  _parlist->printResult(_epoTime, _QFlt, _xFlt, 0);
+
+  return success;
 }
 
@@ -216,6 +131,6 @@
   // Detect Cycle Slips
   // ------------------
-  if (detectCycleSlips(LCs, obsVector) != t_irc::success) {
-    return t_irc::failure;
+  if (detectCycleSlips(LCs, obsVector) != success) {
+    return failure;
   }
 
@@ -280,5 +195,5 @@
     // -----------------------------------------------
     if (iObs+1 < OPT->minobs()) {
-      return t_irc::failure;
+      return failure;
     }
     AA = AA.Rows(1, iObs+1);
@@ -361,5 +276,5 @@
   }
 
-  return t_irc::success;
+  return success;
 }
 
@@ -430,5 +345,5 @@
   }
 
-  return t_irc::success;
+  return success;
 }
 
@@ -437,5 +352,5 @@
 t_irc t_filter::resetAmb(t_prn prn, const vector<t_satObs*>& obsVector,
                          SymmetricMatrix* QSav, ColumnVector* xSav) {
-  t_irc irc = t_irc::failure;
+  t_irc irc = failure;
   vector<t_param*>& params = _parlist->params();
   for (unsigned iPar = 0; iPar < params.size(); iPar++) {
@@ -463,5 +378,5 @@
       }
       _x0[ind] = par->x0();
-      irc = t_irc::success;
+      irc = success;
     }
   }
Index: trunk/BNC/src/PPP/obspool.cpp
===================================================================
--- trunk/BNC/src/PPP/obspool.cpp	(revision 5744)
+++ trunk/BNC/src/PPP/obspool.cpp	(revision 5747)
@@ -46,5 +46,5 @@
 // Constructor
 /////////////////////////////////////////////////////////////////////////////
-t_obsPool::t_epoch::t_epoch(const t_time& epoTime, vector<t_satObs*>& obsVector) {
+t_obsPool::t_epoch::t_epoch(const bncTime& epoTime, vector<t_satObs*>& obsVector) {
   _epoTime   = epoTime;
   for (unsigned ii = 0; ii < obsVector.size(); ii++) {
@@ -92,5 +92,5 @@
 //
 /////////////////////////////////////////////////////////////////////////////
-void t_obsPool::putEpoch(const t_time& epoTime, vector<t_satObs*>& obsVector) {
+void t_obsPool::putEpoch(const bncTime& epoTime, vector<t_satObs*>& obsVector) {
   const unsigned MAXSIZE = 2;
   _epochs.push_back(new t_epoch(epoTime, obsVector));
Index: trunk/BNC/src/PPP/ppp.h
===================================================================
--- trunk/BNC/src/PPP/ppp.h	(revision 5744)
+++ trunk/BNC/src/PPP/ppp.h	(revision 5747)
@@ -3,4 +3,5 @@
 
 #include <string>
+#include <vector>
 
 #include "bncconst.h"
Index: trunk/BNC/src/PPP/windup.h
===================================================================
--- trunk/BNC/src/PPP/windup.h	(revision 5744)
+++ trunk/BNC/src/PPP/windup.h	(revision 5747)
@@ -6,5 +6,5 @@
 
 #include "ppp.h"
-#include "bncTime.h"
+#include "bnctime.h"
 
 namespace BNC {
