mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-20 00:37:12 +02:00
jungfrau: switching between 2 and 1 interface, implementation for server required when firmware done
This commit is contained in:
@ -217,6 +217,14 @@ public:
|
||||
cprintf(RED,"setImageSize is a generic function that should be overloaded by a derived class\n");
|
||||
};
|
||||
|
||||
/**
|
||||
* set number of interfaces (jungfrau)
|
||||
* @param number of interfaces
|
||||
*/
|
||||
virtual void SetNumberofInterfaces(const int n) {
|
||||
cprintf(RED,"SetNumberofInterfaces is a generic function that should be overloaded by a derived class\n");
|
||||
}
|
||||
|
||||
/**
|
||||
* Print all variables
|
||||
*/
|
||||
@ -508,14 +516,38 @@ class JungfrauData : public GeneralData {
|
||||
dataSize = 8192;
|
||||
packetSize = headerSizeinPacket + dataSize;
|
||||
packetsPerFrame = 128;
|
||||
imageSize = dataSize*packetsPerFrame;
|
||||
imageSize = dataSize * packetsPerFrame;
|
||||
maxFramesPerFile = JFRAU_MAX_FRAMES_PER_FILE;
|
||||
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
|
||||
defaultFifoDepth = 2500;
|
||||
standardheader = true;
|
||||
defaultUdpSocketBufferSize = (2000 * 1024 * 1024);
|
||||
defaultUdpSocketBufferSize = (1000 * 1024 * 1024);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* set number of interfaces (jungfrau)
|
||||
* @param number of interfaces
|
||||
*/
|
||||
void SetNumberofInterfaces(const int n) {
|
||||
// 2 interfaces
|
||||
if (n == 2) {
|
||||
nPixelsY = 256;
|
||||
packetsPerFrame = 64;
|
||||
imageSize = dataSize * packetsPerFrame;
|
||||
threadsPerReceiver = 2;
|
||||
defaultUdpSocketBufferSize = (500 * 1024 * 1024);
|
||||
|
||||
}
|
||||
// 1 interface
|
||||
else {
|
||||
nPixelsY = 512;
|
||||
packetsPerFrame = 128;
|
||||
imageSize = dataSize * packetsPerFrame;
|
||||
threadsPerReceiver = 1;
|
||||
defaultUdpSocketBufferSize = (1000 * 1024 * 1024);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
@ -163,17 +163,29 @@ class slsReceiverImplementation: private virtual slsDetectorDefs {
|
||||
uint32_t getUDPPortNumber() const;
|
||||
|
||||
/**
|
||||
* Get Second UDP Port Number (eiger specific)
|
||||
* Get Second UDP Port Number (eiger/jungfrau specific)
|
||||
* @return second udp port number
|
||||
*/
|
||||
uint32_t getUDPPortNumber2() const;
|
||||
|
||||
/**
|
||||
* Get Ehernet Interface
|
||||
* @ethernet interface. eg. eth0 or "" if listening to all
|
||||
* @return ethernet interface. eg. eth0 or "" if listening to all
|
||||
*/
|
||||
std::string getEthernetInterface() const;
|
||||
|
||||
/**
|
||||
* Get Ehernet Interface 2 (jungfrau specific)
|
||||
* @return ethernet interface 2. eg. eth0 or "" if listening to all
|
||||
*/
|
||||
std::string getEthernetInterface2() const;
|
||||
|
||||
/**
|
||||
* Get number of UDP Interfaces (jungfrau specific)
|
||||
* @return number of udp interfaces. Options (1-2)
|
||||
*/
|
||||
int getNumberofUDPInterfaces() const;
|
||||
|
||||
|
||||
//***acquisition parameters***
|
||||
/**
|
||||
@ -422,7 +434,7 @@ class slsReceiverImplementation: private virtual slsDetectorDefs {
|
||||
void setUDPPortNumber(const uint32_t i);
|
||||
|
||||
/**
|
||||
* Set Second UDP Port Number (eiger specific)
|
||||
* Set Second UDP Port Number (eiger/jungfrau specific)
|
||||
* @return second udp port number
|
||||
*/
|
||||
void setUDPPortNumber2(const uint32_t i);
|
||||
@ -433,6 +445,19 @@ class slsReceiverImplementation: private virtual slsDetectorDefs {
|
||||
*/
|
||||
void setEthernetInterface(const char* c);
|
||||
|
||||
/**
|
||||
* Set second Ethernet Interface to listen to (jungfrau specific)
|
||||
* @param c second ethernet inerface eg. eth0 (max of 1000 characters)
|
||||
*/
|
||||
void setEthernetInterface2(const char* c);
|
||||
|
||||
/**
|
||||
* Set number of UDP Interfaces (jungfrau specific)
|
||||
* @param n number of udp interfaces. Options (1-2)
|
||||
* @return OK or FAIL for fifo structure creation
|
||||
*/
|
||||
int setNumberofUDPInterfaces(const int n);
|
||||
|
||||
/** (not saved in client shared memory)
|
||||
* Set UDP Socket Buffer Size
|
||||
* @param s UDP Socket Buffer Size
|
||||
@ -591,9 +616,9 @@ class slsReceiverImplementation: private virtual slsDetectorDefs {
|
||||
|
||||
/**
|
||||
* Set detector position id and construct filewriter
|
||||
* @param i position id
|
||||
* @param id position id
|
||||
*/
|
||||
void setDetectorPositionId(const int i);
|
||||
void setDetectorPositionId(const int id);
|
||||
|
||||
//***acquisition functions***
|
||||
/**
|
||||
@ -800,8 +825,10 @@ private:
|
||||
bool silentMode;
|
||||
|
||||
//***connection parameters***
|
||||
/** Number of UDP Interfaces */
|
||||
int numUDPInterfaces;
|
||||
/** Ethernet Interface */
|
||||
char eth[MAX_STR_LENGTH];
|
||||
char eth[MAX_NUMBER_OF_LISTENING_THREADS][MAX_STR_LENGTH];
|
||||
/** Server UDP Port Number*/
|
||||
uint32_t udpPortNum[MAX_NUMBER_OF_LISTENING_THREADS];
|
||||
/** udp socket buffer size */
|
||||
|
Reference in New Issue
Block a user