fifo fill level included

This commit is contained in:
Dhanya Maliakal
2017-05-18 16:01:35 +02:00
parent 4aa73c607f
commit 781fea0a96
10 changed files with 67 additions and 16 deletions

View File

@ -13,6 +13,8 @@
#include <string>
class Fifo;
class BinaryFile : private virtual slsReceiverDefs, public File, public BinaryFileStatic {
public:
@ -33,11 +35,12 @@ class BinaryFile : private virtual slsReceiverDefs, public File, public BinaryFi
* @param nf pointer to number of images in acquisition
* @param dr pointer to dynamic range
* @param portno pointer to udp port number for logging
* @param fifo for logging fill level
*/
BinaryFile(int ind, uint32_t maxf, const uint32_t* ppf,
int* nd, char* fname, char* fpath, uint64_t* findex,
bool* frindexenable, bool* owenable,
int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno);
int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno, Fifo*& f);
/**
* Destructor

View File

@ -61,6 +61,12 @@ class Fifo : private virtual slsReceiverDefs {
*/
void PopAddressToStream(char*& address);
/**
* Get Maximum Level filled in Fifo Bound
* and reset this value for next intake
*/
int GetMaxLevelForFifoBound();
private:
/**
@ -94,4 +100,6 @@ class Fifo : private virtual slsReceiverDefs {
/** Circular Fifo pointing to addresses of to be streamed data in memory */
CircularFifo<char>* fifoStream;
int status_fifoBound;
};

View File

@ -13,6 +13,8 @@
#include <string>
class Fifo;
class File : private virtual slsReceiverDefs {
public:
@ -33,11 +35,12 @@ class File : private virtual slsReceiverDefs {
* @param nf pointer to number of images in acquisition
* @param dr pointer to dynamic range
* @param portno pointer to udp port number for logging
* @param fifo for logging fill level
*/
File(int ind, uint32_t maxf, const uint32_t* ppf,
int* nd, char* fname, char* fpath, uint64_t* findex,
bool* frindexenable, bool* owenable,
int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno);
int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno, Fifo*& f);
/**
* Destructor
@ -91,6 +94,13 @@ class File : private virtual slsReceiverDefs {
*/
void SetPacketsPerFrame(const uint32_t* ppf);
/**
* Set Fifo for logging fill level
* @param f fifo reference
*/
void SetFifo(Fifo*& f);
/**
* Create file
* @param fnum current frame index to include in file name
@ -218,5 +228,8 @@ class File : private virtual slsReceiverDefs {
/** UDP Port Number for logging */
uint32_t* udpPortNumber;
/** Fifo structure for logging fill level*/
Fifo* fifo;
};

View File

@ -19,6 +19,8 @@
#endif
#include <string>
class Fifo;
class HDF5File : private virtual slsReceiverDefs, public File, public HDF5FileStatic {
public:
@ -41,12 +43,13 @@ class HDF5File : private virtual slsReceiverDefs, public File, public HDF5FileSt
* @param portno pointer to udp port number for logging
* @param nx number of pixels in x direction
* @param ny number of pixels in y direction
* @param fifo for logging fill level
*/
HDF5File(int ind, uint32_t maxf, const uint32_t* ppf,
int* nd, char* fname, char* fpath, uint64_t* findex,
bool* frindexenable, bool* owenable,
int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno,
uint32_t nx, uint32_t ny);
uint32_t nx, uint32_t ny, Fifo*& f);
/**
* Destructor