mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 06:50:02 +02:00
file index sent along with zmq stream
This commit is contained in:
parent
e1c7176c00
commit
0ae706d9a5
@ -23,8 +23,9 @@ class DataStreamer : private virtual slsReceiverDefs, public ThreadObject {
|
|||||||
* @param f address of Fifo pointer
|
* @param f address of Fifo pointer
|
||||||
* @param dr pointer to dynamic range
|
* @param dr pointer to dynamic range
|
||||||
* @param sEnable pointer to short frame enable
|
* @param sEnable pointer to short frame enable
|
||||||
|
* @param fi pointer to file index
|
||||||
*/
|
*/
|
||||||
DataStreamer(Fifo*& f, uint32_t* dr, int* sEnable);
|
DataStreamer(Fifo*& f, uint32_t* dr, int* sEnable, uint64_t* fi);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destructor
|
* Destructor
|
||||||
@ -198,6 +199,9 @@ class DataStreamer : private virtual slsReceiverDefs, public ThreadObject {
|
|||||||
/** Pointer to short frame enable */
|
/** Pointer to short frame enable */
|
||||||
int* shortFrameEnable;
|
int* shortFrameEnable;
|
||||||
|
|
||||||
|
/** Pointer to file index */
|
||||||
|
uint64_t* fileIndex;
|
||||||
|
|
||||||
/** Aquisition Started flag */
|
/** Aquisition Started flag */
|
||||||
bool acquisitionStartedFlag;
|
bool acquisitionStartedFlag;
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ public:
|
|||||||
* @param dummy true if end of acquistion else false
|
* @param dummy true if end of acquistion else false
|
||||||
* @returns 0 if error, else 1
|
* @returns 0 if error, else 1
|
||||||
*/
|
*/
|
||||||
int SendHeaderData ( int index, bool dummy, uint32_t jsonversion, uint32_t dynamicrange = 0,
|
int SendHeaderData ( int index, bool dummy, uint32_t jsonversion, uint32_t dynamicrange = 0, uint64_t fileIndex = 0,
|
||||||
uint32_t npixelsx = 0, uint32_t npixelsy = 0,
|
uint32_t npixelsx = 0, uint32_t npixelsy = 0,
|
||||||
uint64_t acqIndex = 0, uint64_t fIndex = 0, char* fname = NULL,
|
uint64_t acqIndex = 0, uint64_t fIndex = 0, char* fname = NULL,
|
||||||
uint64_t frameNumber = 0, uint32_t expLength = 0, uint32_t packetNumber = 0,
|
uint64_t frameNumber = 0, uint32_t expLength = 0, uint32_t packetNumber = 0,
|
||||||
@ -261,8 +261,9 @@ public:
|
|||||||
const char* jsonHeaderFormat =
|
const char* jsonHeaderFormat =
|
||||||
"{"
|
"{"
|
||||||
"\"jsonversion\":%u, "
|
"\"jsonversion\":%u, "
|
||||||
"\"bitmode\":%d, "
|
"\"bitmode\":%u, "
|
||||||
"\"shape\":[%d, %d], "
|
"\"fileIndex\":%llu, "
|
||||||
|
"\"shape\":[%u, %u], "
|
||||||
"\"acqIndex\":%llu, "
|
"\"acqIndex\":%llu, "
|
||||||
"\"fIndex\":%llu, "
|
"\"fIndex\":%llu, "
|
||||||
"\"fname\":\"%s\", "
|
"\"fname\":\"%s\", "
|
||||||
@ -283,7 +284,7 @@ public:
|
|||||||
"\"version\":%u"
|
"\"version\":%u"
|
||||||
"}\n\0";
|
"}\n\0";
|
||||||
int length = sprintf(buf, jsonHeaderFormat,
|
int length = sprintf(buf, jsonHeaderFormat,
|
||||||
jsonversion, dynamicrange, npixelsx, npixelsy,
|
jsonversion, dynamicrange, fileIndex, npixelsx, npixelsy,
|
||||||
acqIndex, fIndex, (fname == NULL)? "":fname, dummy?0:1,
|
acqIndex, fIndex, (fname == NULL)? "":fname, dummy?0:1,
|
||||||
frameNumber, expLength, packetNumber, bunchId, timestamp,
|
frameNumber, expLength, packetNumber, bunchId, timestamp,
|
||||||
modId, xCoord, yCoord, zCoord, debug, roundRNumber,
|
modId, xCoord, yCoord, zCoord, debug, roundRNumber,
|
||||||
|
@ -26,13 +26,14 @@ pthread_mutex_t DataStreamer::Mutex = PTHREAD_MUTEX_INITIALIZER;
|
|||||||
bool DataStreamer::SilentMode(false);
|
bool DataStreamer::SilentMode(false);
|
||||||
|
|
||||||
|
|
||||||
DataStreamer::DataStreamer(Fifo*& f, uint32_t* dr, int* sEnable) :
|
DataStreamer::DataStreamer(Fifo*& f, uint32_t* dr, int* sEnable, uint64_t* fi) :
|
||||||
ThreadObject(NumberofDataStreamers),
|
ThreadObject(NumberofDataStreamers),
|
||||||
generalData(0),
|
generalData(0),
|
||||||
fifo(f),
|
fifo(f),
|
||||||
zmqSocket(0),
|
zmqSocket(0),
|
||||||
dynamicRange(dr),
|
dynamicRange(dr),
|
||||||
shortFrameEnable(sEnable),
|
shortFrameEnable(sEnable),
|
||||||
|
fileIndex(fi),
|
||||||
acquisitionStartedFlag(false),
|
acquisitionStartedFlag(false),
|
||||||
measurementStartedFlag(false),
|
measurementStartedFlag(false),
|
||||||
firstAcquisitionIndex(0),
|
firstAcquisitionIndex(0),
|
||||||
@ -270,7 +271,7 @@ int DataStreamer::SendHeader(sls_detector_header* header, bool dummy) {
|
|||||||
uint64_t frameIndex = header->frameNumber - firstMeasurementIndex;
|
uint64_t frameIndex = header->frameNumber - firstMeasurementIndex;
|
||||||
uint64_t acquisitionIndex = header->frameNumber - firstAcquisitionIndex;
|
uint64_t acquisitionIndex = header->frameNumber - firstAcquisitionIndex;
|
||||||
|
|
||||||
return zmqSocket->SendHeaderData(index, dummy, SLS_DETECTOR_JSON_HEADER_VERSION, *dynamicRange,
|
return zmqSocket->SendHeaderData(index, dummy, SLS_DETECTOR_JSON_HEADER_VERSION, *dynamicRange, *fileIndex,
|
||||||
generalData->nPixelsX_Streamer, generalData->nPixelsY_Streamer,
|
generalData->nPixelsX_Streamer, generalData->nPixelsY_Streamer,
|
||||||
acquisitionIndex, frameIndex, fileNametoStream,
|
acquisitionIndex, frameIndex, fileNametoStream,
|
||||||
header->frameNumber, header->expLength, header->packetNumber, header->bunchId, header->timestamp,
|
header->frameNumber, header->expLength, header->packetNumber, header->bunchId, header->timestamp,
|
||||||
|
@ -209,7 +209,7 @@ int UDPStandardImplementation::setDataStreamEnable(const bool enable) {\
|
|||||||
if (enable) {
|
if (enable) {
|
||||||
bool error = false;
|
bool error = false;
|
||||||
for ( int i = 0; i < numThreads; ++i ) {
|
for ( int i = 0; i < numThreads; ++i ) {
|
||||||
dataStreamer.push_back(new DataStreamer(fifo[i], &dynamicRange, &shortFrameEnable));
|
dataStreamer.push_back(new DataStreamer(fifo[i], &dynamicRange, &shortFrameEnable, &fileIndex));
|
||||||
dataStreamer[i]->SetGeneralData(generalData);
|
dataStreamer[i]->SetGeneralData(generalData);
|
||||||
// check again
|
// check again
|
||||||
if (streamingPort == 0)
|
if (streamingPort == 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user