in between

This commit is contained in:
2018-04-06 17:48:10 +02:00
parent 753290b228
commit 8cf6e0cbd6
10 changed files with 170 additions and 102 deletions

View File

@ -24,8 +24,9 @@ class DataStreamer : private virtual slsReceiverDefs, public ThreadObject {
* @param dr pointer to dynamic range
* @param sEnable pointer to short frame enable
* @param fi pointer to file index
* @param fd flipped data enable for x and y dimensions
*/
DataStreamer(Fifo*& f, uint32_t* dr, int* sEnable, uint64_t* fi);
DataStreamer(Fifo*& f, uint32_t* dr, int* sEnable, uint64_t* fi, int* fd);
/**
* Destructor
@ -229,5 +230,8 @@ class DataStreamer : private virtual slsReceiverDefs, public ThreadObject {
/** Complete buffer used for roi, eg. shortGotthard */
char* completeBuffer;
/** flipped data across both dimensions enable */
int* flippedData;
};

View File

@ -276,7 +276,7 @@ public:
uint64_t bunchId = 0, uint64_t timestamp = 0,
uint16_t modId = 0, uint16_t xCoord = 0, uint16_t yCoord = 0, uint16_t zCoord = 0,
uint32_t debug = 0, uint16_t roundRNumber = 0,
uint8_t detType = 0, uint8_t version = 0) {
uint8_t detType = 0, uint8_t version = 0, int* flippedData = 0) {
char buf[MAX_STR_LENGTH] = "";
@ -305,14 +305,23 @@ public:
"\"debug\":%u, "
"\"roundRNumber\":%u, "
"\"detType\":%u, "
"\"version\":%u"
"\"version\":%u, "
//additional stuff
"\"flippedDataX\":%u"
"}\n\0";
int length = sprintf(buf, jsonHeaderFormat,
jsonversion, dynamicrange, fileIndex, npixelsx, npixelsy, imageSize,
acqIndex, fIndex, (fname == NULL)? "":fname, dummy?0:1,
frameNumber, expLength, packetNumber, bunchId, timestamp,
frameNumber, expLength, packetNumber, bunchId, timestamp,
modId, xCoord, yCoord, zCoord, debug, roundRNumber,
detType, version);
detType, version,
//additional stuff
((flippedData == 0 ) ? 0 :flippedData[0])
);
#ifdef VERBOSE
//if(!index)
FILE_LOG(logINFO) << index << ": Streamer: buf:" << buf;

View File

@ -26,7 +26,7 @@ pthread_mutex_t DataStreamer::Mutex = PTHREAD_MUTEX_INITIALIZER;
bool DataStreamer::SilentMode(false);
DataStreamer::DataStreamer(Fifo*& f, uint32_t* dr, int* sEnable, uint64_t* fi) :
DataStreamer::DataStreamer(Fifo*& f, uint32_t* dr, int* sEnable, uint64_t* fi, int* fd) :
ThreadObject(NumberofDataStreamers),
generalData(0),
fifo(f),
@ -38,7 +38,8 @@ DataStreamer::DataStreamer(Fifo*& f, uint32_t* dr, int* sEnable, uint64_t* fi) :
measurementStartedFlag(false),
firstAcquisitionIndex(0),
firstMeasurementIndex(0),
completeBuffer(0)
completeBuffer(0),
flippedData(fd)
{
if(ThreadObject::CreateThread()){
pthread_mutex_lock(&Mutex);
@ -285,7 +286,8 @@ int DataStreamer::SendHeader(sls_detector_header* header, uint32_t size, uint32_
header->frameNumber, header->expLength, header->packetNumber, header->bunchId, header->timestamp,
header->modId, header->xCoord, header->yCoord, header->zCoord,
header->debug, header->roundRNumber,
header->detType, header->version
header->detType, header->version,
flippedData
);
}

View File

@ -218,7 +218,7 @@ int UDPStandardImplementation::setDataStreamEnable(const bool enable) {
if (enable) {
bool error = false;
for ( int i = 0; i < numThreads; ++i ) {
dataStreamer.push_back(new DataStreamer(fifo[i], &dynamicRange, &shortFrameEnable, &fileIndex));
dataStreamer.push_back(new DataStreamer(fifo[i], &dynamicRange, &shortFrameEnable, &fileIndex, flippedData));
dataStreamer[i]->SetGeneralData(generalData);
if (dataStreamer[i]->CreateZmqSockets(&numThreads, streamingPort, streamingSrcIP) == FAIL) {
error = true;