From dae5a41b9ece3c3aedee1460f795b944e0f46f50 Mon Sep 17 00:00:00 2001 From: "www@jspc55" Date: Tue, 1 Jul 2014 14:13:22 +0200 Subject: [PATCH] unpacker.cxx v2 format --- tools/unpacker/unpacker.cxx | 39 +++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/tools/unpacker/unpacker.cxx b/tools/unpacker/unpacker.cxx index 269a877..e7df3d1 100644 --- a/tools/unpacker/unpacker.cxx +++ b/tools/unpacker/unpacker.cxx @@ -83,12 +83,34 @@ signed analyzeData(hadaq::RawSubevent* sub, unsigned ix, unsigned datalen, unsig unsigned RocEnd = ix + datalen -1; while(1) { unsigned sensorHead = sub->Data(ix++); - unsigned sensorId = (source << 16)|(sub->Data(ix++)>>16); - unsigned sensorStatus = sub->Data(ix++); - unsigned sensorError = sub->Data(ix++); - unsigned sensorDebug = sub->Data(ix++); - unsigned mySensor = getSensor(sensorId); - ix += 2; //Skip time + unsigned sensorId = 0x0; + unsigned sensorStatus = 0x0; + unsigned external = 0x0; + unsigned internal_fr_num = 0x0; + unsigned mySensor = 0x0; + unsigned sensorError = 0x0; + unsigned sensorDebug = 0x0; + + if (sub->Data(ix)>>16 == 0xf002){ + // Version 2 + ix++; + sensorId = sub->Data(ix++); + sensorStatus = sub->Data(ix++); + ix += 2; // skip reserved words + external = sub->Data(ix++); + internal_fr_num = sub->Data(ix++); + sensorError = 0x0; + sensorDebug = 0x0; + } + else{ + sensorId = (source << 16)|(sub->Data(ix++)>>16); + sensorStatus = sub->Data(ix++); + sensorError = sub->Data(ix++); + sensorDebug = sub->Data(ix++); + ix += 2; //Skip time + } + + mySensor = getSensor(sensorId); #if DEBUG>=1 printf("Head\t%08x\tID\t%08x\tStatus\t%08x\tError\t%08x\tDebug\t%08x\n", @@ -232,7 +254,7 @@ void writeResults() { if (!cvt) { printf("couldn't open a pipe; quitting\n"); exit(1); - } + } fprintf(cvt, "set terminal png size 800,400 font \",9\";\n"); fprintf(cvt, "set palette model RGB;\n"); fprintf(cvt, "set xrange [0:1152];\n"); @@ -260,7 +282,8 @@ void writeResults() { hitrates[2], hitrates[3]); fprintf(cvt, "set output '%s/%s_%08x.png';\n",picPath,mySystem,sensors[i]); - fprintf(cvt, "plot '-' matrix with image\n"); + printf("set output '%s/%s_%08x.png';\n",picPath,mySystem,sensors[i]); + fprintf(cvt, "plot '-' matrix with image\n"); for(unsigned r = 0; r < 576; r++) { for(unsigned c = 0; c < 1152; c++) { -- 2.43.0