From 56d1994b8c08a85649e92ca8a6616f301e2ab60e Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 30 Apr 2019 11:18:09 +0200 Subject: [PATCH] ctb file frame header back in --- slsReceiverSoftware/include/BinaryFile.h | 6 +-- .../include/BinaryFileStatic.h | 41 +++++++--------- slsReceiverSoftware/include/GeneralData.h | 8 +--- slsReceiverSoftware/src/BinaryFile.cpp | 48 +++++++------------ slsReceiverSoftware/src/DataProcessor.cpp | 2 +- 5 files changed, 37 insertions(+), 68 deletions(-) diff --git a/slsReceiverSoftware/include/BinaryFile.h b/slsReceiverSoftware/include/BinaryFile.h index 5ff32d86b..8d9324df7 100755 --- a/slsReceiverSoftware/include/BinaryFile.h +++ b/slsReceiverSoftware/include/BinaryFile.h @@ -33,12 +33,11 @@ class BinaryFile : private virtual slsDetectorDefs, public File, public BinaryFi * @param dr pointer to dynamic range * @param portno pointer to udp port number for logging * @param smode pointer to silent mode - * @param hwenable header writer enable (ctb) */ BinaryFile(int ind, uint32_t* maxf, int* nd, char* fname, char* fpath, uint64_t* findex, bool* owenable, int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno, - bool* smode, bool hwenable); + bool* smode); /** * Destructor @@ -117,8 +116,5 @@ class BinaryFile : private virtual slsDetectorDefs, public File, public BinaryFi /** Number of actual packets caught in file */ uint64_t numActualPacketsInFile; - /** Header writer enable */ - bool headerWriteEnable; - }; diff --git a/slsReceiverSoftware/include/BinaryFileStatic.h b/slsReceiverSoftware/include/BinaryFileStatic.h index 2b67d7bfc..b528f8d73 100755 --- a/slsReceiverSoftware/include/BinaryFileStatic.h +++ b/slsReceiverSoftware/include/BinaryFileStatic.h @@ -100,7 +100,6 @@ class BinaryFileStatic { * @param fd pointer to file handle * @param fname master file name * @param owenable overwrite enable - * @param hwenable header write enable * @param dr dynamic range * @param tenE ten giga enable * @param size image size @@ -115,7 +114,7 @@ class BinaryFileStatic { * @param version version of software for binary writing * @returns 0 for success and 1 for fail */ - static int CreateMasterDataFile(FILE*& fd, std::string fname, bool owenable, bool hwenable, + static int CreateMasterDataFile(FILE*& fd, std::string fname, bool owenable, uint32_t dr, bool tenE, uint32_t size, uint32_t nPixelsX, uint32_t nPixelsY, uint64_t nf, uint32_t maxf, @@ -136,24 +135,6 @@ class BinaryFileStatic { return 1; } time_t t = time(0); - char header[MAX_STR_LENGTH]; - strcpy(header, - "#Frame Header\n" - "Frame Number : 8 bytes\n" - "SubFrame Number/ExpLength : 4 bytes\n" - "Packet Number : 4 bytes\n" - "Bunch ID : 8 bytes\n" - "Timestamp : 8 bytes\n" - "Module Id : 2 bytes\n" - "Row : 2 bytes\n" - "Column : 2 bytes\n" - "Reserved : 2 bytes\n" - "Debug : 4 bytes\n" - "Round Robin Number : 2 bytes\n" - "Detector Type : 1 byte\n" - "Header Version : 1 byte\n" - "Packets Caught Mask : 64 bytes\n"); - char message[MAX_MASTER_FILE_LENGTH]; sprintf(message, "Version : %.1f\n" @@ -170,7 +151,21 @@ class BinaryFileStatic { "Period (ns) : %lld\n" "Timestamp : %s\n\n" - "%s" + "#Frame Header\n" + "Frame Number : 8 bytes\n" + "SubFrame Number/ExpLength : 4 bytes\n" + "Packet Number : 4 bytes\n" + "Bunch ID : 8 bytes\n" + "Timestamp : 8 bytes\n" + "Module Id : 2 bytes\n" + "Row : 2 bytes\n" + "Column : 2 bytes\n" + "Reserved : 2 bytes\n" + "Debug : 4 bytes\n" + "Round Robin Number : 2 bytes\n" + "Detector Type : 1 byte\n" + "Header Version : 1 byte\n" + "Packets Caught Mask : 64 bytes\n" , version, dr, @@ -184,9 +179,7 @@ class BinaryFileStatic { (long long int)subexposuretime, (long long int)subperiod, (long long int)acquisitionPeriod, - ctime(&t), - (hwenable ? header : "") - ); + ctime(&t)); if (strlen(message) > MAX_MASTER_FILE_LENGTH) { FILE_LOG(logERROR) << "Master File Size " << strlen(message) << " is greater than max str size " << MAX_MASTER_FILE_LENGTH; diff --git a/slsReceiverSoftware/include/GeneralData.h b/slsReceiverSoftware/include/GeneralData.h index 5d184cd0a..0fa1d0e95 100755 --- a/slsReceiverSoftware/include/GeneralData.h +++ b/slsReceiverSoftware/include/GeneralData.h @@ -87,9 +87,6 @@ public: /** default udp socket buffer size */ uint32_t defaultUdpSocketBufferSize; - /** header write enable */ - bool headerWriteEnable; - @@ -117,8 +114,7 @@ public: nPixelsYComplete(0), imageSizeComplete(0), standardheader(false), - defaultUdpSocketBufferSize(RECEIVE_SOCKET_BUFFER_SIZE), - headerWriteEnable(true) + defaultUdpSocketBufferSize(RECEIVE_SOCKET_BUFFER_SIZE) {}; /** Destructor */ @@ -257,7 +253,6 @@ public: FILE_LOG(level) << "Complete Image Size: " << imageSizeComplete; FILE_LOG(level) << "Standard Header: " << standardheader; FILE_LOG(level) << "UDP Socket Buffer Size: " << defaultUdpSocketBufferSize; - FILE_LOG(level) << "Header Write Enable: " << headerWriteEnable; }; }; @@ -581,7 +576,6 @@ public: fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header); defaultFifoDepth = 2500; standardheader = true; - headerWriteEnable = false; }; /** diff --git a/slsReceiverSoftware/src/BinaryFile.cpp b/slsReceiverSoftware/src/BinaryFile.cpp index 2f86ca12b..038253c69 100755 --- a/slsReceiverSoftware/src/BinaryFile.cpp +++ b/slsReceiverSoftware/src/BinaryFile.cpp @@ -16,12 +16,11 @@ FILE* BinaryFile::masterfd = nullptr; BinaryFile::BinaryFile(int ind, uint32_t* maxf, int* nd, char* fname, char* fpath, uint64_t* findex, bool* owenable, int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno, - bool* smode, bool hwenable): + bool* smode): File(ind, maxf, nd, fname, fpath, findex, owenable, dindex, nunits, nf, dr, portno, smode), filefd(nullptr), numFramesInFile(0), - numActualPacketsInFile(0), - headerWriteEnable(hwenable) + numActualPacketsInFile(0) { #ifdef VERBOSE PrintMembers(); @@ -80,11 +79,6 @@ int BinaryFile::WriteToFile(char* buffer, int buffersize, uint64_t fnum, uint32_ // write to file int ret = 0; - // remove header for ctb - if (!headerWriteEnable) { - buffersize -= sizeof(sls_receiver_header); - buffer += sizeof(sls_receiver_header); - } // contiguous bitset if (sizeof(sls_bitset) == sizeof(bitset_storage)) { @@ -93,30 +87,22 @@ int BinaryFile::WriteToFile(char* buffer, int buffersize, uint64_t fnum, uint32_ // not contiguous bitset else { + // write detector header + ret = BinaryFileStatic::WriteDataFile(filefd, buffer, sizeof(sls_detector_header)); - if (headerWriteEnable) { - // write detector header - ret = BinaryFileStatic::WriteDataFile(filefd, buffer, sizeof(sls_detector_header)); - - // get contiguous representation of bit mask - bitset_storage storage; - memset(storage, 0 , sizeof(bitset_storage)); - sls_bitset bits = *(sls_bitset*)(buffer + sizeof(sls_detector_header)); - for (int i = 0; i < MAX_NUM_PACKETS; ++i) - storage[i >> 3] |= (bits[i] << (i & 7)); - // write bitmask - ret += BinaryFileStatic::WriteDataFile(filefd, (char*)storage, sizeof(bitset_storage)); + // get contiguous representation of bit mask + bitset_storage storage; + memset(storage, 0 , sizeof(bitset_storage)); + sls_bitset bits = *(sls_bitset*)(buffer + sizeof(sls_detector_header)); + for (int i = 0; i < MAX_NUM_PACKETS; ++i) + storage[i >> 3] |= (bits[i] << (i & 7)); + // write bitmask + ret += BinaryFileStatic::WriteDataFile(filefd, (char*)storage, sizeof(bitset_storage)); - // write data - ret += BinaryFileStatic::WriteDataFile(filefd, - buffer + sizeof(sls_detector_header), buffersize - sizeof(sls_receiver_header)); - } - - else { - // write only data - ret += BinaryFileStatic::WriteDataFile(filefd, buffer, buffersize); - } - } + // write data + ret += BinaryFileStatic::WriteDataFile(filefd, + buffer + sizeof(sls_detector_header), buffersize - sizeof(sls_receiver_header)); +} // if write error if (ret != buffersize) { @@ -141,7 +127,7 @@ int BinaryFile::CreateMasterFile(bool en, uint32_t size, FILE_LOG(logINFO) << "Master File: " << masterFileName; } return BinaryFileStatic::CreateMasterDataFile(masterfd, masterFileName, - *overWriteEnable, headerWriteEnable, + *overWriteEnable, *dynamicRange, en, size, nx, ny, *numImages, *maxFramesPerFile, at, st, sp, ap, BINARY_WRITER_VERSION); } diff --git a/slsReceiverSoftware/src/DataProcessor.cpp b/slsReceiverSoftware/src/DataProcessor.cpp index 3e1217ad2..a39865bd6 100755 --- a/slsReceiverSoftware/src/DataProcessor.cpp +++ b/slsReceiverSoftware/src/DataProcessor.cpp @@ -235,7 +235,7 @@ void DataProcessor::SetupFileWriter(bool fwe, int* nd, uint32_t* maxf, default: file = new BinaryFile(index, maxf, nd, fname, fpath, findex, owenable, - dindex, nunits, nf, dr, portno, silentMode, generalData->headerWriteEnable); + dindex, nunits, nf, dr, portno, silentMode); break; } }