Index: trunk/FACT++/src/ftm.cc
===================================================================
--- trunk/FACT++/src/ftm.cc	(revision 10731)
+++ trunk/FACT++/src/ftm.cc	(revision 10732)
@@ -154,4 +154,5 @@
 
     uint16_t fCounter;
+    uint16_t fTimeStamp;
 
     bool fReportsDisabled;
@@ -162,6 +163,6 @@
             return;
 
-        if (fHeader.fState == FTM::kFtmRunning)
-            fDynamicData.fOnTimeCounter = lrint(Time().UnixTime()-fStartTime);
+        //if (fHeader.fState == FTM::kFtmRunning)
+        //    fDynamicData.fOnTimeCounter = lrint(Time().UnixTime()-fStartTime);
 
         fDynamicData.fTempSensor[0] = (23. + (6.*rand()/RAND_MAX-3))*10;
@@ -177,5 +178,5 @@
         fHeader.fDataSize=sizeof(FTM::DynamicData)/2+1;
         fHeader.fTriggerCounter = fCounter++;
-        fHeader.fTimeStamp = lrint(Time().UnixTime());
+        fHeader.fTimeStamp = fTimeStamp++;//lrint(Time().UnixTime());
 
         fBufHeader      = fHeader.HtoN();
@@ -192,5 +193,5 @@
         fHeader.fDataSize=sizeof(FTM::StaticData)/2+1;
         fHeader.fTriggerCounter = fCounter++;
-        fHeader.fTimeStamp = lrint(Time().UnixTime());
+        fHeader.fTimeStamp = fTimeStamp;//lrint(Time().UnixTime());
 
         for (int i=0; i<4; i++)
@@ -245,5 +246,5 @@
                 fHeader.fDataSize=sizeof(FTM::FtuList)/2+1;
                 fHeader.fTriggerCounter = fCounter++;
-                fHeader.fTimeStamp = lrint(Time().UnixTime());
+                fHeader.fTimeStamp = fTimeStamp;//lrint(Time().UnixTime());
 
                 fFtuList[1].fPingAddr = ((rand()&1)<<9) | 1;
@@ -330,4 +331,7 @@
                 fStartTime = Time().UnixTime();
 
+                fCounter = 0;
+                fTimeStamp = 0;
+
                 fBufCommand.resize(5);
                 AsyncRead(ba::buffer(fBufCommand));
@@ -336,4 +340,7 @@
             case kCmdStopRun:
                 fHeader.fState = FTM::kFtmIdle;
+
+                fCounter = 0;
+                fTimeStamp = 0;
 
                 fBufCommand.resize(5);
@@ -362,5 +369,5 @@
                 fHeader.fDataSize=2;
                 fHeader.fTriggerCounter = fCounter++;
-                fHeader.fTimeStamp = lrint(Time().UnixTime());
+                fHeader.fTimeStamp = fTimeStamp;//lrint(Time().UnixTime());
 
                 fBufHeader = fHeader.HtoN();
