Index: trunk/BNC/RTCM/RTCM2.cpp
===================================================================
--- trunk/BNC/RTCM/RTCM2.cpp	(revision 209)
+++ trunk/BNC/RTCM/RTCM2.cpp	(revision 210)
@@ -30,4 +30,5 @@
 #include "RTCM2.h"
 
+#include "../bncutils.h"
 
 using namespace std;
@@ -1063,4 +1064,8 @@
   _buffer.append(buffer, bufLen);
 
+  int    refWeek;
+  double refSecs;
+  gpsWeekAndSec(refWeek, refSecs);
+
   while(true) {
     PP.getPacket(_buffer);
@@ -1070,4 +1075,8 @@
       ObsBlock.extract(PP);
       if (!ObsBlock.valid()) continue;
+
+      int    epochWeek;
+      double epochSecs;
+      ObsBlock.resolveEpoch(refWeek, refSecs, epochWeek, epochSecs);
         
       for (int iSat=0; iSat < ObsBlock.nSat; iSat++) {
@@ -1076,6 +1085,6 @@
 
           obs->SVPRN          = ObsBlock.PRN[iSat];
-          obs->GPSWeek        = 1390;
-          obs->GPSWeeks       = ObsBlock.secs;
+          obs->GPSWeek        = epochWeek;
+          obs->GPSWeeks       = (int) epochSecs;
           obs->sec            = ObsBlock.secs;
           obs->pCodeIndicator = 0;
Index: trunk/BNC/bncutils.cpp
===================================================================
--- trunk/BNC/bncutils.cpp	(revision 209)
+++ trunk/BNC/bncutils.cpp	(revision 210)
@@ -53,2 +53,18 @@
   return QDateTime(date,time);
 }
+
+
+void gpsWeekAndSec(int& week, double& sec) {
+
+  QDate date = QDate::currentDate();
+  QTime time = QTime::currentTime();
+
+  double deltat = date.toJulianDay() - 2400000.5 - 44244.0 +
+           ((( time.msec() / 1000.0 
+             + time.second() ) / 60.0
+             + time.minute()  ) / 60.0
+             + time.hour()     ) / 24.0;
+
+  week = (int) floor(deltat/7.0);
+  sec  = (deltat - (week)*7.0)*86400.0;
+}
Index: trunk/BNC/bncutils.h
===================================================================
--- trunk/BNC/bncutils.h	(revision 209)
+++ trunk/BNC/bncutils.h	(revision 210)
@@ -10,3 +10,5 @@
 QDateTime dateAndTimeFromGPSweek(int GPSWeek, double GPSWeeks);
 
+void gpsWeekAndSec(int& week, double& sec);
+
 #endif
