refactor receiver client interface, moved defs into one sls_detector_defs.h

This commit is contained in:
2018-10-11 12:25:18 +02:00
parent d0950ba001
commit 5a356534e6
56 changed files with 1155 additions and 2386 deletions

View File

@ -56,7 +56,7 @@ add_library(slsReceiverShared SHARED
)
set(PUBLICHEADERS
../slsSupportLib/include/sls_receiver_defs.h
../slsSupportLib/include/sls_detector_defs.h
../slsSupportLib/include/ansi.h
../slsSupportLib/include/sls_receiver_funcs.h
../slsSupportLib/include/MySocketTCP.h

View File

@ -27,7 +27,7 @@ LIBZMQ = -L$(LIBZMQDIR) -Wl,-rpath=$(LIBZMQDIR) -lzmq
SRC_CLNT = ThreadObject.cpp Listener.cpp DataProcessor.cpp DataStreamer.cpp Fifo.cpp File.cpp BinaryFile.cpp slsReceiverImplementation.cpp slsReceiverTCPIPInterface.cpp slsReceiver.cpp slsReceiverUsers.cpp $(COMMONDIR)/utilities.cpp
DEPSINCLUDES = $(COMMONDIR)/ansi.h $(COMMONDIR)/sls_receiver_defs.h $(COMMONDIR)/sls_receiver_funcs.h $(COMMONDIR)/GeneralData.h $(INCDIR)/circularFifo.h $(COMMONDIR)/genericSocket.h $(COMMONDIR)/logger.h $(INCDIR)/receiver_defs.h $(COMMONDIR)/utilities.h $(COMMONDIR)/ZmqSocket.h $(INCDIR)/BinaryFileStatic.h $(INCDIR)/HDF5FileStatic.h $(COMMONDIR)/sls_receiver_exceptions.h
DEPSINCLUDES = $(COMMONDIR)/ansi.h $(COMMONDIR)/sls_detector_defs.h $(COMMONDIR)/sls_receiver_funcs.h $(COMMONDIR)/GeneralData.h $(INCDIR)/circularFifo.h $(COMMONDIR)/genericSocket.h $(COMMONDIR)/logger.h $(INCDIR)/receiver_defs.h $(COMMONDIR)/utilities.h $(COMMONDIR)/ZmqSocket.h $(INCDIR)/BinaryFileStatic.h $(INCDIR)/HDF5FileStatic.h $(COMMONDIR)/sls_receiver_exceptions.h
ifeq ($(HDF5),yes)

View File

@ -6,4 +6,4 @@ Revision: 840
Branch: refactor
Last Changed Author: Dhanya_Thattil
Last Changed Rev: 4039
Last Changed Date: 2018-10-02 10:40:58.000000002 +0200 ./include/sls_receiver_defs.h
Last Changed Date: 2018-10-02 10:40:58.000000002 +0200

View File

@ -14,7 +14,7 @@
#include <string>
class BinaryFile : private virtual slsReceiverDefs, public File, public BinaryFileStatic {
class BinaryFile : private virtual slsDetectorDefs, public File, public BinaryFileStatic {
public:
/**

View File

@ -18,7 +18,7 @@ class DataStreamer;
#include <vector>
class DataProcessor : private virtual slsReceiverDefs, public ThreadObject {
class DataProcessor : private virtual slsDetectorDefs, public ThreadObject {
public:
/**

View File

@ -16,7 +16,7 @@ class ZmqSocket;
#include <vector>
class DataStreamer : private virtual slsReceiverDefs, public ThreadObject {
class DataStreamer : private virtual slsDetectorDefs, public ThreadObject {
public:
/**

View File

@ -9,12 +9,12 @@
*@short constructs the fifo structure
*/
#include "sls_receiver_defs.h"
#include "sls_detector_defs.h"
#include "logger.h"
#include "circularFifo.h"
class Fifo : private virtual slsReceiverDefs {
class Fifo : private virtual slsDetectorDefs {
public:
/**

View File

@ -8,13 +8,13 @@
*@short sets/gets properties for the file, creates/closes the file and writes data to it
*/
#include "sls_receiver_defs.h"
#include "sls_detector_defs.h"
#include "logger.h"
#include <string>
class File : private virtual slsReceiverDefs {
class File : private virtual slsDetectorDefs {
public:
/**

View File

@ -7,7 +7,7 @@
*@short abstract for setting/getting properties of detector data
*/
#include "sls_receiver_defs.h"
#include "sls_detector_defs.h"
#include "receiver_defs.h"
#include <math.h> //ceil
@ -19,7 +19,7 @@ class GeneralData {
public:
/** DetectorType */
slsReceiverDefs::detectorType myDetectorType;
slsDetectorDefs::detectorType myDetectorType;
/** Number of Pixels in x axis */
uint32_t nPixelsX;
@ -92,7 +92,7 @@ public:
/** Cosntructor */
GeneralData():
myDetectorType(slsReceiverDefs::GENERIC),
myDetectorType(slsDetectorDefs::GENERIC),
nPixelsX(0),
nPixelsY(0),
emptyHeader(0),
@ -160,7 +160,7 @@ public:
* Set ROI
* @param i ROI
*/
virtual void SetROI(std::vector<slsReceiverDefs::ROI> i) {
virtual void SetROI(std::vector<slsDetectorDefs::ROI> i) {
cprintf(RED,"This is a generic function that should be overloaded by a derived class\n");
};
@ -170,7 +170,7 @@ public:
* @param i pointer to a vector of ROI pointers
* @returns adc configured
*/
virtual const int GetAdcConfigured(int index, std::vector<slsReceiverDefs::ROI>* i) const{
virtual const int GetAdcConfigured(int index, std::vector<slsDetectorDefs::ROI>* i) const{
cprintf(RED,"This is a generic function that should be overloaded by a derived class\n");
return 0;
};
@ -216,7 +216,7 @@ public:
*/
virtual void Print() const {
FILE_LOG(logDEBUG) << "\n\nDetector Data Variables:";
FILE_LOG(logDEBUG) << "myDetectorType: " << slsReceiverDefs::getDetectorType(myDetectorType);
FILE_LOG(logDEBUG) << "myDetectorType: " << slsDetectorDefs::getDetectorType(myDetectorType);
FILE_LOG(logDEBUG) << "Pixels X: " << nPixelsX;
FILE_LOG(logDEBUG) << "Pixels Y: " << nPixelsY;
FILE_LOG(logDEBUG) << "Empty Header: " << emptyHeader;
@ -253,7 +253,7 @@ private:
/** Constructor */
GotthardData(){
myDetectorType = slsReceiverDefs::GOTTHARD;
myDetectorType = slsDetectorDefs::GOTTHARD;
nPixelsX = 1280;
nPixelsY = 1;
headerSizeinPacket = 4;
@ -265,7 +265,7 @@ private:
frameIndexOffset = 1;
packetIndexMask = 1;
maxFramesPerFile = MAX_FRAMES_PER_FILE;
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_receiver_header);
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
defaultFifoDepth = 50000;
};
@ -323,7 +323,7 @@ private:
* Set ROI
* @param i ROI
*/
virtual void SetROI(std::vector<slsReceiverDefs::ROI> i) {
virtual void SetROI(std::vector<slsDetectorDefs::ROI> i) {
// all adcs
if(!i.size()) {
nPixelsX = 1280;
@ -335,7 +335,7 @@ private:
frameIndexOffset = 1;
packetIndexMask = 1;
maxFramesPerFile = MAX_FRAMES_PER_FILE;
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_receiver_header);
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
defaultFifoDepth = 50000;
nPixelsXComplete = 0;
nPixelsYComplete = 0;
@ -353,7 +353,7 @@ private:
frameIndexOffset = 0;
packetIndexMask = 0;
maxFramesPerFile = SHORT_MAX_FRAMES_PER_FILE;
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_receiver_header);
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
defaultFifoDepth = 25000;
nPixelsXComplete = 1280;
nPixelsYComplete = 1;
@ -367,7 +367,7 @@ private:
* @param i pointer to a vector of ROI
* @returns adc configured
*/
virtual const int GetAdcConfigured(int index, std::vector<slsReceiverDefs::ROI>* i) const{
virtual const int GetAdcConfigured(int index, std::vector<slsDetectorDefs::ROI>* i) const{
int adc = -1;
// single adc
if(i->size()) {
@ -407,7 +407,7 @@ class PropixData : public GeneralData {
/** Constructor */
PropixData(){
myDetectorType = slsReceiverDefs::PROPIX;
myDetectorType = slsDetectorDefs::PROPIX;
nPixelsX = 22;
nPixelsY = 22;
headerSizeinPacket = 4;
@ -419,7 +419,7 @@ class PropixData : public GeneralData {
frameIndexOffset = 1;
packetIndexMask = 1;
maxFramesPerFile = MAX_FRAMES_PER_FILE;
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_receiver_header);
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
defaultFifoDepth = 50000;
};
};
@ -434,7 +434,7 @@ class Moench02Data : public GeneralData {
/** Constructor */
Moench02Data(){
myDetectorType = slsReceiverDefs::MOENCH;
myDetectorType = slsDetectorDefs::MOENCH;
nPixelsX = 160;
nPixelsY = 160;
headerSizeinPacket = 4;
@ -446,7 +446,7 @@ class Moench02Data : public GeneralData {
frameIndexOffset = 8;
packetIndexMask = 0xFF;
maxFramesPerFile = MOENCH_MAX_FRAMES_PER_FILE;
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_receiver_header);
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
defaultFifoDepth = 2500;
};
@ -466,7 +466,7 @@ class Moench03Data : public GeneralData {
/** Constructor */
Moench03Data(){
myDetectorType = slsReceiverDefs::MOENCH;
myDetectorType = slsDetectorDefs::MOENCH;
nPixelsX = 400;
nPixelsY = 400;
headerSizeinPacket = 22;
@ -478,7 +478,7 @@ class Moench03Data : public GeneralData {
frameIndexOffset = (6+8);
packetIndexMask = 0xFFFFFFFF;
maxFramesPerFile = JFRAU_MAX_FRAMES_PER_FILE;
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_receiver_header);
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
defaultFifoDepth = 2500;
};
};
@ -506,7 +506,7 @@ private:
/** Constructor */
JCTBData(){
myDetectorType = slsReceiverDefs::JUNGFRAUCTB;
myDetectorType = slsDetectorDefs::JUNGFRAUCTB;
nPixelsX = 400;
nPixelsY = 400;
headerSizeinPacket = 22;
@ -516,7 +516,7 @@ private:
imageSize = nPixelsX * nPixelsY * 2;
frameIndexMask = 0xFFFFFF;
maxFramesPerFile = JFCTB_MAX_FRAMES_PER_FILE;
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_receiver_header);
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
defaultFifoDepth = 2500;
};
@ -578,17 +578,17 @@ class JungfrauData : public GeneralData {
/** Constructor */
JungfrauData(){
myDetectorType = slsReceiverDefs::JUNGFRAU;
myDetectorType = slsDetectorDefs::JUNGFRAU;
nPixelsX = (256*4);
nPixelsY = 512;
emptyHeader = 6;
headerSizeinPacket = emptyHeader + sizeof(slsReceiverDefs::sls_detector_header);
headerSizeinPacket = emptyHeader + sizeof(slsDetectorDefs::sls_detector_header);
dataSize = 8192;
packetSize = headerSizeinPacket + dataSize;
packetsPerFrame = 128;
imageSize = dataSize*packetsPerFrame;
maxFramesPerFile = JFRAU_MAX_FRAMES_PER_FILE;
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_receiver_header);
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
defaultFifoDepth = 2500;
standardheader = true;
defaultUdpSocketBufferSize = (2000 * 1024 * 1024);
@ -603,16 +603,16 @@ class EigerData : public GeneralData {
/** Constructor */
EigerData(){
myDetectorType = slsReceiverDefs::EIGER;
myDetectorType = slsDetectorDefs::EIGER;
nPixelsX = (256*2);
nPixelsY = 256;
headerSizeinPacket = sizeof(slsReceiverDefs::sls_detector_header);
headerSizeinPacket = sizeof(slsDetectorDefs::sls_detector_header);
dataSize = 1024;
packetSize = headerSizeinPacket + dataSize;
packetsPerFrame = 256;
imageSize = dataSize*packetsPerFrame;
maxFramesPerFile = EIGER_MAX_FRAMES_PER_FILE;
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_receiver_header);
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
defaultFifoDepth = 100;
threadsPerReceiver = 2;
headerPacketSize = 40;

View File

@ -19,7 +19,7 @@
#endif
class HDF5File : private virtual slsReceiverDefs, public File, public HDF5FileStatic {
class HDF5File : private virtual slsDetectorDefs, public File, public HDF5FileStatic {
public:
/**

View File

@ -13,7 +13,7 @@
#ifndef H5_NO_NAMESPACE
using namespace H5;
#endif
#include "sls_receiver_defs.h"
#include "sls_detector_defs.h"
#include "logger.h"
#include <iostream>
@ -24,7 +24,7 @@ using namespace H5;
#include <sstream>
#include <cstring> //memset
class HDF5FileStatic: public virtual slsReceiverDefs {
class HDF5FileStatic: public virtual slsDetectorDefs {
public:

View File

@ -15,7 +15,7 @@ class GeneralData;
class Fifo;
class genericSocket;
class Listener : private virtual slsReceiverDefs, public ThreadObject {
class Listener : private virtual slsDetectorDefs, public ThreadObject {
public:
/**

View File

@ -7,14 +7,14 @@
*@short creates/destroys a thread
*/
#include "sls_receiver_defs.h"
#include "sls_detector_defs.h"
#include "logger.h"
#include <pthread.h>
#include <semaphore.h>
#include <string>
class ThreadObject : private virtual slsReceiverDefs {
class ThreadObject : private virtual slsDetectorDefs {
public:
/**

View File

@ -7,7 +7,6 @@
* modified by the sls detetor group
* */
//#include "sls_receiver_defs.h"
#include <semaphore.h>
#include <vector>
#include <iostream>

View File

@ -1,6 +1,6 @@
#pragma once
#include "sls_receiver_defs.h"
#include "sls_detector_defs.h"
#include <stdint.h>
#define MAX_DIMENSIONS 2

View File

@ -8,14 +8,14 @@
class slsReceiverTCPIPInterface;
#include "sls_receiver_defs.h"
#include "sls_detector_defs.h"
/**
*@short creates the UDP and TCP class objects
*/
class slsReceiver : private virtual slsReceiverDefs {
class slsReceiver : private virtual slsDetectorDefs {
public:
/**

View File

@ -6,7 +6,7 @@
/**
* @short does all the functions for a receiver, set/get parameters, start/stop etc.
*/
#include "sls_receiver_defs.h"
#include "sls_detector_defs.h"
#include "receiver_defs.h"
#include "logger.h"
@ -19,7 +19,7 @@ class Fifo;
#include <exception>
#include <vector>
class slsReceiverImplementation: private virtual slsReceiverDefs {
class slsReceiverImplementation: private virtual slsDetectorDefs {
public:
@ -346,7 +346,7 @@ class slsReceiverImplementation: private virtual slsReceiverDefs {
* Set File Format
* @param f fileformat binary or hdf5
*/
void setFileFormat(slsReceiverDefs::fileFormat f);
void setFileFormat(slsDetectorDefs::fileFormat f);
/**
* Set File Name Prefix (without frame index, file index and extension (_d0_f000000000000_8.raw))

View File

@ -5,7 +5,7 @@
***********************************************/
#include "sls_receiver_defs.h"
#include "sls_detector_defs.h"
#include "receiver_defs.h"
class MySocketTCP;
@ -18,7 +18,7 @@ class slsReceiverImplementation;
*@short interface between receiver and client
*/
class slsReceiverTCPIPInterface : private virtual slsReceiverDefs {
class slsReceiverTCPIPInterface : private virtual slsDetectorDefs {
public:

View File

@ -37,7 +37,7 @@ void BinaryFile::PrintMembers() {
FILE_LOG(logINFO) << "Number of Frames in File: " << numFramesInFile;
}
slsReceiverDefs::fileFormat BinaryFile::GetFileType() {
slsDetectorDefs::fileFormat BinaryFile::GetFileType() {
return BINARY;
}

View File

@ -116,7 +116,7 @@ void HDF5File::SetNumberofPixels(uint32_t nx, uint32_t ny) {
}
slsReceiverDefs::fileFormat HDF5File::GetFileType() {
slsDetectorDefs::fileFormat HDF5File::GetFileType() {
return HDF5;
}

View File

@ -1,7 +1,7 @@
/* A simple server in the internet domain using TCP
The port number is passed as an argument */
#include "sls_receiver_defs.h"
#include "sls_detector_defs.h"
#include "slsReceiverUsers.h"
#include <iostream>
@ -40,8 +40,8 @@ void AcquisitionFinished(uint64_t frames, void*p){
void GetData(char* metadata, char* datapointer, uint32_t datasize, void* p){
slsReceiverDefs::sls_receiver_header* header = (slsReceiverDefs::sls_receiver_header*)metadata;
slsReceiverDefs::sls_detector_header detectorHeader = header->detHeader;
slsDetectorDefs::sls_receiver_header* header = (slsDetectorDefs::sls_receiver_header*)metadata;
slsDetectorDefs::sls_detector_header detectorHeader = header->detHeader;
PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.row,
"#### %d GetData: ####\n"
@ -89,9 +89,9 @@ int main(int argc, char *argv[]) {
}
int ret = slsReceiverDefs::OK;
int ret = slsDetectorDefs::OK;
slsReceiverUsers *receiver = new slsReceiverUsers(argc, argv, ret);
if(ret==slsReceiverDefs::FAIL){
if(ret==slsDetectorDefs::FAIL){
delete receiver;
cprintf(BLUE,"Exiting [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
exit(EXIT_FAILURE);
@ -140,7 +140,7 @@ int main(int argc, char *argv[]) {
//start tcp server thread
if (receiver->start() == slsReceiverDefs::FAIL){
if (receiver->start() == slsDetectorDefs::FAIL){
delete receiver;
cprintf(BLUE,"Exiting [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
exit(EXIT_FAILURE);

View File

@ -169,7 +169,7 @@ bool slsReceiverImplementation::getGapPixelsEnable() const {
}
/***file parameters***/
slsReceiverDefs::fileFormat slsReceiverImplementation::getFileFormat() const{
slsDetectorDefs::fileFormat slsReceiverImplementation::getFileFormat() const{
FILE_LOG(logDEBUG) << __AT__ << " starting";
return fileFormatType;
}
@ -211,7 +211,7 @@ uint32_t slsReceiverImplementation::getFramesPerFile() const{
return framesPerFile;
}
slsReceiverDefs::frameDiscardPolicy slsReceiverImplementation::getFrameDiscardPolicy() const{
slsDetectorDefs::frameDiscardPolicy slsReceiverImplementation::getFrameDiscardPolicy() const{
FILE_LOG(logDEBUG) << __AT__ << " starting";
return frameDiscardMode;
}
@ -305,7 +305,7 @@ char *slsReceiverImplementation::getEthernetInterface() const{
/***acquisition parameters***/
std::vector<slsReceiverDefs::ROI> slsReceiverImplementation::getROI() const{
std::vector<slsDetectorDefs::ROI> slsReceiverImplementation::getROI() const{
FILE_LOG(logDEBUG) << __AT__ << " starting";
return roi;
}
@ -370,7 +370,7 @@ uint32_t slsReceiverImplementation::getFifoDepth() const{
}
/***receiver status***/
slsReceiverDefs::runStatus slsReceiverImplementation::getStatus() const{
slsDetectorDefs::runStatus slsReceiverImplementation::getStatus() const{
FILE_LOG(logDEBUG) << __AT__ << " starting";
return status;}
@ -615,7 +615,7 @@ int slsReceiverImplementation::setUDPSocketBufferSize(const uint32_t s) {
/***acquisition parameters***/
int slsReceiverImplementation::setROI(const std::vector<slsReceiverDefs::ROI> i) {
int slsReceiverImplementation::setROI(const std::vector<slsDetectorDefs::ROI> i) {
if (myDetectorType != GOTTHARD) {
cprintf(RED, "Error: Can not set ROI for this detector\n");
return FAIL;

File diff suppressed because it is too large Load Diff

View File

@ -6,9 +6,9 @@ slsReceiverUsers::slsReceiverUsers(int argc, char *argv[], int &success) {
try {
slsReceiver* r = new slsReceiver(argc, argv);
receiver = r;
success = slsReceiverDefs::OK;
success = slsDetectorDefs::OK;
} catch (...) {
success = slsReceiverDefs::FAIL;
success = slsDetectorDefs::FAIL;
}
}