]> jspc29.x-matter.uni-frankfurt.de Git - mvdsensorcontrol.git/commitdiff
Debugged
authorwww@jspc55 <www@jspc55>
Tue, 1 Jul 2014 14:12:39 +0000 (16:12 +0200)
committerwww@jspc55 <www@jspc55>
Tue, 1 Jul 2014 14:12:39 +0000 (16:12 +0200)
tools/unpacker/unpacker.cxx

index e7df3d1cf8a340ea2fb2b0897b5289e1dfdc0b79..7e2d0739abe71179625d45e6625e5b9a205909b6 100644 (file)
@@ -6,7 +6,7 @@ signed   analyzeData(hadaq::RawSubevent* sub, unsigned ix, unsigned datalen, uns
 unsigned getSensor(unsigned sensorId);
 void     writeResults();
 
-#define DEBUG 0
+#define DEBUG 2
 #define MAX_SENSORS 12
 
 unsigned pixelMap[MAX_SENSORS][576][1152] = {{0}};
@@ -81,6 +81,7 @@ signed analyzeData(hadaq::RawSubevent* sub, unsigned ix, unsigned datalen, unsig
   if (source == 0x5555)   return -32;
   if (datalen == 0)       return -33;
   unsigned RocEnd       = ix + datalen -1;
+  int v2 = 0;
   while(1) {
     unsigned sensorHead   = sub->Data(ix++);
     unsigned sensorId = 0x0;
@@ -101,6 +102,7 @@ signed analyzeData(hadaq::RawSubevent* sub, unsigned ix, unsigned datalen, unsig
       internal_fr_num   = sub->Data(ix++);
       sensorError  = 0x0;
       sensorDebug  = 0x0;
+      v2 = 1;
     }
     else{
       sensorId     = (source << 16)|(sub->Data(ix++)>>16);
@@ -108,6 +110,7 @@ signed analyzeData(hadaq::RawSubevent* sub, unsigned ix, unsigned datalen, unsig
       sensorError  = sub->Data(ix++);
       sensorDebug  = sub->Data(ix++);
       ix += 2;  //Skip time
+      v2 = 0;
     }
     
     mySensor     = getSensor(sensorId);
@@ -160,8 +163,15 @@ signed analyzeData(hadaq::RawSubevent* sub, unsigned ix, unsigned datalen, unsig
 
       while(1) {
         for(unsigned i = 0; i<=1; i++) {
-          if(i==0) d = sub->Data(ix) >> 16;
-          else     d = sub->Data(ix++);
+          
+          if (v2==1){
+            if(i==0) d = (sub->Data(ix) << 16) >> 16;
+            else     d = sub->Data(ix++) >> 16;
+          }
+          else{
+            if(i==0) d = sub->Data(ix) >> 16;
+            else     d = sub->Data(ix++);
+          }
           
           if(statecnt-- == 0) {
             ovf      += (d >> 15) & 1;