eiger bug fix: quad gap pixels

This commit is contained in:
2019-08-14 17:49:09 +02:00
parent 8e2b89d488
commit ba0c6ff286
8 changed files with 72 additions and 32 deletions

View File

@ -17,7 +17,7 @@ const std::string DataStreamer::TypeName = "DataStreamer";
DataStreamer::DataStreamer(int ind, Fifo* f, uint32_t* dr, ROI* r,
uint64_t* fi, int fd, char* ajh, int* nd, bool* gpEnable) :
uint64_t* fi, int fd, char* ajh, int* nd, bool* gpEnable, bool* qe) :
ThreadObject(ind),
runningFlag(0),
generalData(nullptr),
@ -34,7 +34,8 @@ DataStreamer::DataStreamer(int ind, Fifo* f, uint32_t* dr, ROI* r,
firstAcquisitionIndex(0),
firstMeasurementIndex(0),
completeBuffer(nullptr),
gapPixelsEnable(gpEnable)
gapPixelsEnable(gpEnable),
quadEnable(qe)
{
numDet[0] = nd[0];
numDet[1] = nd[1];
@ -263,7 +264,7 @@ int DataStreamer::SendHeader(sls_receiver_header* rheader, uint32_t size, uint32
header.modId, header.row, header.column, header.reserved,
header.debug, header.roundRNumber,
header.detType, header.version,
*gapPixelsEnable ? 1 : 0, flippedDataX,
*gapPixelsEnable ? 1 : 0, flippedDataX, *quadEnable,
additionJsonHeader
);
}

View File

@ -793,7 +793,7 @@ int slsReceiverImplementation::setNumberofUDPInterfaces(const int n) {
}
dataStreamer.push_back(sls::make_unique<DataStreamer>(
i, fifo[i].get(), &dynamicRange, &roi, &fileIndex,
fd, additionalJsonHeader, (int*)nd, &gapPixelsEnable));
fd, additionalJsonHeader, (int*)nd, &gapPixelsEnable, &quadEnable));
dataStreamer[i]->SetGeneralData(generalData);
dataStreamer[i]->CreateZmqSockets(
&numThreads, streamingPort, streamingSrcIP);
@ -945,7 +945,7 @@ int slsReceiverImplementation::setDataStreamEnable(const bool enable) {
}
dataStreamer.push_back(sls::make_unique<DataStreamer>(
i, fifo[i].get(), &dynamicRange, &roi, &fileIndex,
fd, additionalJsonHeader, (int*)nd, &gapPixelsEnable));
fd, additionalJsonHeader, (int*)nd, &gapPixelsEnable, &quadEnable));
dataStreamer[i]->SetGeneralData(generalData);
dataStreamer[i]->CreateZmqSockets(
&numThreads, streamingPort, streamingSrcIP);
@ -1370,7 +1370,7 @@ void slsReceiverImplementation::stopReceiver() {
dataProcessor[0]->EndofAcquisition(anycaught, maxIndexCaught);
}
// wait for the processes (DataStreamer) to be done
// wait for the processes (dataStreamer) to be done
running = true;
while (running) {
running = false;