From 210bcb081d61c81d81c1a8a51f68f42c0353dd15 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Fri, 20 Oct 2017 10:49:02 +0200 Subject: [PATCH] xcoord should not be hardcoded for this version for eiger and jungfrau --- slsReceiverSoftware/include/GeneralData.h | 10 ++++++++-- slsReceiverSoftware/include/Listener.h | 3 --- slsReceiverSoftware/src/DataProcessor.cpp | 5 +++-- slsReceiverSoftware/src/Listener.cpp | 11 +---------- 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/slsReceiverSoftware/include/GeneralData.h b/slsReceiverSoftware/include/GeneralData.h index dcf335bf8..b7e081788 100644 --- a/slsReceiverSoftware/include/GeneralData.h +++ b/slsReceiverSoftware/include/GeneralData.h @@ -78,6 +78,9 @@ public: /** Streaming (for ROI - mainly short Gotthard) - Image size (in bytes) */ uint32_t imageSize_Streamer; + /** if standard header implemented in firmware */ + bool standardheader; + @@ -103,7 +106,8 @@ public: headerPacketSize(0), nPixelsX_Streamer(0), nPixelsY_Streamer(0), - imageSize_Streamer(0) + imageSize_Streamer(0), + standardheader(false) {}; /** Destructor */ @@ -197,6 +201,7 @@ public: FILE_LOG(logDEBUG) << "Streamer Pixels X: " << nPixelsX_Streamer; FILE_LOG(logDEBUG) << "Streamer Pixels Y: " << nPixelsY_Streamer; FILE_LOG(logDEBUG) << "Streamer Image Size: " << imageSize_Streamer; + FILE_LOG(logDEBUG) << "Standard Header: " << standardheader; }; }; @@ -492,7 +497,7 @@ class JungfrauData : public GeneralData { nPixelsX_Streamer = nPixelsX; nPixelsY_Streamer = nPixelsY; imageSize_Streamer = imageSize; - + standardheader = true; }; }; @@ -520,6 +525,7 @@ class EigerData : public GeneralData { nPixelsX_Streamer = nPixelsX; nPixelsY_Streamer = nPixelsY; imageSize_Streamer = imageSize; + standardheader = true; }; /** diff --git a/slsReceiverSoftware/include/Listener.h b/slsReceiverSoftware/include/Listener.h index 575add7e1..217ea41e8 100644 --- a/slsReceiverSoftware/include/Listener.h +++ b/slsReceiverSoftware/include/Listener.h @@ -290,9 +290,6 @@ class Listener : private virtual slsReceiverDefs, public ThreadObject { /** Listening buffer for one packet - might be removed when we can peek and eiger fnum is in header */ char* listeningPacket; - /** if the standard header is implemented in firmware */ - bool standardheader; - /** if the udp socket is connected */ bool udpSocketAlive; diff --git a/slsReceiverSoftware/src/DataProcessor.cpp b/slsReceiverSoftware/src/DataProcessor.cpp index 0969b8702..42e40a84b 100644 --- a/slsReceiverSoftware/src/DataProcessor.cpp +++ b/slsReceiverSoftware/src/DataProcessor.cpp @@ -369,8 +369,9 @@ void DataProcessor::ProcessAnImage(char* buf) { } - // fix x coord that is currently not provided by detector - header->xCoord = xcoord; + // x coord for those not having standard header + if (!generalData->standardheader) + header->xCoord = xcoord; if (file) file->WriteToFile(buf, generalData->imageSize + sizeof(sls_detector_header), fnum-firstMeasurementIndex, nump); diff --git a/slsReceiverSoftware/src/Listener.cpp b/slsReceiverSoftware/src/Listener.cpp index f1737af05..a80456a5b 100644 --- a/slsReceiverSoftware/src/Listener.cpp +++ b/slsReceiverSoftware/src/Listener.cpp @@ -60,16 +60,6 @@ Listener::Listener(detectorType dtype, Fifo*& f, runStatus* s, uint32_t* portno, } NumberofListeners++; FILE_LOG (logDEBUG) << "Number of Listeners: " << NumberofListeners; - - switch(myDetectorType){ - case JUNGFRAU: - case EIGER: - standardheader = true; - break; - default: - standardheader = false; - break; - } } @@ -345,6 +335,7 @@ uint32_t Listener::ListenToAnImage(char* buf) { bool isHeaderEmpty = true; sls_detector_header* old_header = 0; sls_detector_header* new_header = 0; + bool standardheader = generalData->standardheader; //reset to -1