From ed1135566a1334926a574d0b4526e2f8acecaca8 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 28 Jun 2018 18:30:34 +0200 Subject: [PATCH] slsReceiver: maximum frames per file written to master files for both binary and hdf5, note the version number change for these master file format --- slsReceiverSoftware/include/BinaryFileStatic.h | 4 ++++ slsReceiverSoftware/include/HDF5FileStatic.h | 6 ++++++ slsReceiverSoftware/include/receiver_defs.h | 4 ++-- slsReceiverSoftware/src/BinaryFile.cpp | 2 +- slsReceiverSoftware/src/HDF5File.cpp | 3 ++- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/slsReceiverSoftware/include/BinaryFileStatic.h b/slsReceiverSoftware/include/BinaryFileStatic.h index 78091d55c..f597938dd 100644 --- a/slsReceiverSoftware/include/BinaryFileStatic.h +++ b/slsReceiverSoftware/include/BinaryFileStatic.h @@ -106,6 +106,7 @@ class BinaryFileStatic { * @param nPixelsX number of pixels in x direction * @param nPixelsY number of pixels in y direction * @param nf number of images + * @param maxf maximum frames per file * @param acquisitionTime acquisition time * @param acquisitionPeriod acquisition period * @param subexposuretime sub exposure time @@ -116,6 +117,7 @@ class BinaryFileStatic { static int CreateMasterDataFile(FILE*& fd, string fname, bool owenable, uint32_t dr, bool tenE, uint32_t size, uint32_t nPixelsX, uint32_t nPixelsY, uint64_t nf, + uint32_t maxf, uint64_t acquisitionTime, uint64_t subexposuretime, uint64_t subperiod, uint64_t acquisitionPeriod, double version) { @@ -139,6 +141,7 @@ class BinaryFileStatic { "Image Size : %d bytes\n" "x : %d pixels\n" "y : %d pixels\n" + "Max. Frames Per File : %u\n" "Total Frames : %lld\n" "Exptime (ns) : %lld\n" "SubExptime (ns) : %lld\n" @@ -167,6 +170,7 @@ class BinaryFileStatic { size, nPixelsX, nPixelsY, + maxf, (long long int)nf, (long long int)acquisitionTime, (long long int)subexposuretime, diff --git a/slsReceiverSoftware/include/HDF5FileStatic.h b/slsReceiverSoftware/include/HDF5FileStatic.h index 240ca7849..7e80757ed 100644 --- a/slsReceiverSoftware/include/HDF5FileStatic.h +++ b/slsReceiverSoftware/include/HDF5FileStatic.h @@ -230,6 +230,7 @@ public: * @param nx number of pixels in x direction * @param ny number of pixels in y direction * @param nf number of images + * @param maxf maximum frames per file * @param acquisitionTime acquisition time * @param subexposuretime sub exposure time * @param subperiod sub period @@ -240,6 +241,7 @@ public: static int CreateMasterDataFile(H5File*& fd, string fname, bool owenable, uint32_t dr, bool tenE, uint32_t size, uint32_t nPixelsx, uint32_t nPixelsy, uint64_t nf, + uint32_t maxf, uint64_t acquisitionTime, uint64_t subexposuretime, uint64_t subperiod, uint64_t acquisitionPeriod, double version) { @@ -304,6 +306,10 @@ public: dataset = group5.createDataSet ( "number of pixels in y axis", PredType::NATIVE_INT, dataspace ); dataset.write ( &nPixelsy, PredType::NATIVE_INT); + //Maximum frames per file + dataset = group5.createDataSet ( "maximum frames per file", PredType::NATIVE_INT, dataspace ); + dataset.write ( &maxf, PredType::NATIVE_INT); + //Total Frames dataset = group5.createDataSet ( "total frames", PredType::STD_U64LE, dataspace ); dataset.write ( &nf, PredType::STD_U64LE); diff --git a/slsReceiverSoftware/include/receiver_defs.h b/slsReceiverSoftware/include/receiver_defs.h index b77d5b579..0a18e88fe 100755 --- a/slsReceiverSoftware/include/receiver_defs.h +++ b/slsReceiverSoftware/include/receiver_defs.h @@ -28,8 +28,8 @@ #define MAX_CHUNKED_IMAGES 1 //versions -#define HDF5_WRITER_VERSION 1.0 //1 decimal places -#define BINARY_WRITER_VERSION 1.0 //1 decimal places +#define HDF5_WRITER_VERSION 2.0 //1 decimal places +#define BINARY_WRITER_VERSION 2.0 //1 decimal places //parameters to calculate fifo depth diff --git a/slsReceiverSoftware/src/BinaryFile.cpp b/slsReceiverSoftware/src/BinaryFile.cpp index 6c1286a65..096792e5d 100644 --- a/slsReceiverSoftware/src/BinaryFile.cpp +++ b/slsReceiverSoftware/src/BinaryFile.cpp @@ -99,7 +99,7 @@ int BinaryFile::CreateMasterFile(bool en, uint32_t size, } return BinaryFileStatic::CreateMasterDataFile(masterfd, masterFileName, *overWriteEnable, - *dynamicRange, en, size, nx, ny, *numImages, + *dynamicRange, en, size, nx, ny, *numImages, *maxFramesPerFile, at, st, sp, ap, BINARY_WRITER_VERSION); } return OK; diff --git a/slsReceiverSoftware/src/HDF5File.cpp b/slsReceiverSoftware/src/HDF5File.cpp index a9b91e929..746b10c9a 100644 --- a/slsReceiverSoftware/src/HDF5File.cpp +++ b/slsReceiverSoftware/src/HDF5File.cpp @@ -185,7 +185,8 @@ int HDF5File::CreateMasterFile(bool en, uint32_t size, pthread_mutex_lock(&Mutex); int ret = HDF5FileStatic::CreateMasterDataFile(masterfd, masterFileName, *overWriteEnable, - *dynamicRange, en, size, nx, ny, *numImages, at, st, sp, ap, + *dynamicRange, en, size, nx, ny, *numImages, *maxFramesPerFile, + at, st, sp, ap, HDF5_WRITER_VERSION); pthread_mutex_unlock(&Mutex); return ret;