Index: /trunk/BNC/bnccaster.cpp
===================================================================
--- /trunk/BNC/bnccaster.cpp	(revision 2029)
+++ /trunk/BNC/bnccaster.cpp	(revision 2030)
@@ -252,15 +252,4 @@
   _threads.push_back(getThread);
 
-  bncPPPthread* PPPthread = getThread->PPPthread();
-  if (PPPthread) {
-    connect(this, SIGNAL(newEpochData(QList<p_obs>)),
-	    PPPthread, SLOT(slotNewEpochData(QList<p_obs>)));
-    connect(((bncApp*)qApp), SIGNAL(newEphGPS(gpsephemeris)),
-	    PPPthread, SLOT(slotNewEphGPS(gpsephemeris)));
-    connect(((bncApp*)qApp), SIGNAL(newCorrections(QList<QString>)),
-	    PPPthread, SLOT(slotNewCorrections(QList<QString>)));
-    PPPthread->start();
-  }
-
   getThread->start();
 }
@@ -302,6 +291,4 @@
     bool first = true;
     QList<p_obs> allObs = _epochs->values(sec);
-
-    emit newEpochData(allObs);
 
     QListIterator<p_obs> it(allObs);
Index: /trunk/BNC/bnccaster.h
===================================================================
--- /trunk/BNC/bnccaster.h	(revision 2029)
+++ /trunk/BNC/bnccaster.h	(revision 2030)
@@ -51,5 +51,4 @@
    void getThreadsFinished();   
    void newMessage(QByteArray msg, bool showOnScreen);
-   void newEpochData(QList<p_obs>);
 
  private slots:
Index: /trunk/BNC/bncgetthread.cpp
===================================================================
--- /trunk/BNC/bncgetthread.cpp	(revision 2029)
+++ /trunk/BNC/bncgetthread.cpp	(revision 2030)
@@ -332,4 +332,12 @@
 
   _latencyChecker = new latencyChecker(_staID);
+
+  if (_PPPthread) {
+    connect(((bncApp*)qApp), SIGNAL(newEphGPS(gpsephemeris)),
+	    _PPPthread, SLOT(slotNewEphGPS(gpsephemeris)));
+    connect(((bncApp*)qApp), SIGNAL(newCorrections(QList<QString>)),
+	    _PPPthread, SLOT(slotNewCorrections(QList<QString>)));
+    _PPPthread->start();
+  }
 
   msleep(100); //sleep 0.1 sec
@@ -491,4 +499,10 @@
         }
       
+        // PPP Client
+        // ----------
+        if (_PPPthread) {
+          _PPPthread->putNewObs(obs);
+        }
+
         // Emit new observation signal
         // ---------------------------
Index: /trunk/BNC/bncgetthread.h
===================================================================
--- /trunk/BNC/bncgetthread.h	(revision 2029)
+++ /trunk/BNC/bncgetthread.h	(revision 2030)
@@ -73,5 +73,4 @@
    QByteArray longitude() const {return _longitude;}
    QByteArray ntripVersion() const {return _ntripVersion;}
-   bncPPPthread* PPPthread() {return _PPPthread;}
 
  signals:
Index: /trunk/BNC/bncpppthread.cpp
===================================================================
--- /trunk/BNC/bncpppthread.cpp	(revision 2029)
+++ /trunk/BNC/bncpppthread.cpp	(revision 2030)
@@ -107,30 +107,36 @@
 // 
 ////////////////////////////////////////////////////////////////////////////
-void bncPPPthread::slotNewEpochData(QList<p_obs> obsList) {
-  QMutexLocker locker(&_mutex);
-  QListIterator<p_obs> it(obsList);
-
-  delete _data;
-  _data = new t_data();
-
-  while (it.hasNext()) {
-    p_obs          pp  = it.next();
-    t_obsInternal* obs = &(pp->_o);
-    QByteArray staID = QByteArray(obs->StatID); 
-    if (staID == _staID) {
-      if (_data->tt.undef()) {
-        _data->tt.set(obs->GPSWeek, obs->GPSWeeks);
-      }
-      ++_data->numSat;
-      _data->prn[_data->numSat] = 
-          QString("%1%2").arg(obs->satSys).arg(obs->satNum, 2, 10, QChar('0'));
-      _data->C1[_data->numSat] = obs->C1;
-      _data->C2[_data->numSat] = obs->C2;
-      _data->P1[_data->numSat] = obs->P1;
-      _data->P2[_data->numSat] = obs->P2;
-      _data->L1[_data->numSat] = obs->L1;
-      _data->L2[_data->numSat] = obs->L2;
-    }
-  }
+void bncPPPthread::putNewObs(p_obs pp) {
+
+  QMutexLocker locker(&_mutex);
+
+  t_obsInternal* obs = &(pp->_o);
+
+  t_time tt(obs->GPSWeek, obs->GPSWeeks);
+
+  QString prn = 
+        QString("%1%2").arg(obs->satSys).arg(obs->satNum, 2, 10, QChar('0'));
+
+  cout << tt.timestr(1) << " " << prn.toAscii().data() << endl;
+  cout.flush();
+
+///  delete _data;
+///  _data = new t_data();
+///
+///    QByteArray staID = QByteArray(obs->StatID); 
+///    if (staID == _staID) {
+///      if (_data->tt.undef()) {
+///      }
+///      ++_data->numSat;
+///      _data->prn[_data->numSat] = 
+///          
+///      _data->C1[_data->numSat] = obs->C1;
+///      _data->C2[_data->numSat] = obs->C2;
+///      _data->P1[_data->numSat] = obs->P1;
+///      _data->P2[_data->numSat] = obs->P2;
+///      _data->L1[_data->numSat] = obs->L1;
+///      _data->L2[_data->numSat] = obs->L2;
+///    }
+///  }
 }
 
Index: /trunk/BNC/bncpppthread.h
===================================================================
--- /trunk/BNC/bncpppthread.h	(revision 2029)
+++ /trunk/BNC/bncpppthread.h	(revision 2030)
@@ -73,4 +73,5 @@
  public:
   void terminate();
+  void putNewObs(p_obs pp);
 
  signals:
@@ -82,5 +83,4 @@
 
  public slots:
-  void slotNewEpochData(QList<p_obs> obsList);
   void slotNewEphGPS(gpsephemeris gpseph);
   void slotNewCorrections(QList<QString> corrList);
