mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 15:00:02 +02:00
some changes on the eiger receiver side
This commit is contained in:
parent
90f5fb39db
commit
d133d7eb8f
@ -19,16 +19,24 @@
|
|||||||
#define HEADER_SIZE_NUM_PACKETS 1
|
#define HEADER_SIZE_NUM_PACKETS 1
|
||||||
|
|
||||||
|
|
||||||
//all max frames defined in sls_receiver_defs.h. 20000 gotthard, 100000 for short gotthard, 1000 for moench
|
//all max frames defined in sls_receiver_defs.h. 20000 gotthard, 100000 for short gotthard, 1000 for moench, eiger 20000
|
||||||
|
|
||||||
|
|
||||||
#define GOTTHARD_FIFO_SIZE 25000 //cannot be less than max jobs per thread = 1000
|
#define GOTTHARD_FIFO_SIZE 25000 //cannot be less than max jobs per thread = 1000
|
||||||
/*#define GOTTHARD_ALIGNED_FRAME_SIZE 4096*/
|
/*#define GOTTHARD_ALIGNED_FRAME_SIZE 4096*/
|
||||||
#define GOTTHARD_PACKETS_PER_FRAME 2
|
#define GOTTHARD_PACKETS_PER_FRAME 2
|
||||||
#define GOTTHARD_ONE_PACKET_SIZE 1286
|
#define GOTTHARD_ONE_PACKET_SIZE 1286
|
||||||
#define GOTTHARD_BUFFER_SIZE (GOTTHARD_ONE_PACKET_SIZE*GOTTHARD_PACKETS_PER_FRAME) //1286*2
|
#define GOTTHARD_BUFFER_SIZE (GOTTHARD_ONE_PACKET_SIZE*GOTTHARD_PACKETS_PER_FRAME) //1286*2
|
||||||
#define GOTTHARD_DATA_BYTES (1280*GOTTHARD_PACKETS_PER_FRAME) //1280*2
|
#define GOTTHARD_DATA_BYTES (1280*GOTTHARD_PACKETS_PER_FRAME) //1280*2
|
||||||
|
|
||||||
|
#define GOTTHARD_FRAME_INDEX_MASK 0xFFFFFFFE
|
||||||
|
#define GOTTHARD_FRAME_INDEX_OFFSET 1
|
||||||
|
#define GOTTHARD_PACKET_INDEX_MASK 0x1
|
||||||
|
|
||||||
|
#define GOTTHARD_PIXELS_IN_ROW 1280
|
||||||
|
#define GOTTHARD_PIXELS_IN_COL 1
|
||||||
|
|
||||||
|
|
||||||
#define GOTTHARD_SHORT_PACKETS_PER_FRAME 1
|
#define GOTTHARD_SHORT_PACKETS_PER_FRAME 1
|
||||||
#define GOTTHARD_SHORT_BUFFER_SIZE 518
|
#define GOTTHARD_SHORT_BUFFER_SIZE 518
|
||||||
#define GOTTHARD_SHORT_DATABYTES 512
|
#define GOTTHARD_SHORT_DATABYTES 512
|
||||||
@ -39,13 +47,6 @@
|
|||||||
#define GOTTHARD_SHORT_PIXELS_IN_COL 1
|
#define GOTTHARD_SHORT_PIXELS_IN_COL 1
|
||||||
|
|
||||||
|
|
||||||
#define GOTTHARD_FRAME_INDEX_MASK 0xFFFFFFFE
|
|
||||||
#define GOTTHARD_FRAME_INDEX_OFFSET 1
|
|
||||||
#define GOTTHARD_PACKET_INDEX_MASK 0x1
|
|
||||||
|
|
||||||
#define GOTTHARD_PIXELS_IN_ROW 1280
|
|
||||||
#define GOTTHARD_PIXELS_IN_COL 1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define MOENCH_FIFO_SIZE 2500 //cannot be less than max jobs per thread = 1000
|
#define MOENCH_FIFO_SIZE 2500 //cannot be less than max jobs per thread = 1000
|
||||||
@ -55,18 +56,29 @@
|
|||||||
#define MOENCH_BUFFER_SIZE (MOENCH_ONE_PACKET_SIZE*MOENCH_PACKETS_PER_FRAME) //1286*40
|
#define MOENCH_BUFFER_SIZE (MOENCH_ONE_PACKET_SIZE*MOENCH_PACKETS_PER_FRAME) //1286*40
|
||||||
#define MOENCH_DATA_BYTES (1280*MOENCH_PACKETS_PER_FRAME) //1280*40
|
#define MOENCH_DATA_BYTES (1280*MOENCH_PACKETS_PER_FRAME) //1280*40
|
||||||
|
|
||||||
|
#define MOENCH_FRAME_INDEX_MASK 0xFFFFFF00
|
||||||
|
#define MOENCH_FRAME_INDEX_OFFSET 8
|
||||||
|
#define MOENCH_PACKET_INDEX_MASK 0xFF
|
||||||
|
|
||||||
#define MOENCH_BYTES_PER_ADC (40*2)
|
#define MOENCH_BYTES_PER_ADC (40*2)
|
||||||
#define MOENCH_PIXELS_IN_ONE_ROW 160
|
#define MOENCH_PIXELS_IN_ONE_ROW 160
|
||||||
#define MOENCH_BYTES_IN_ONE_ROW (MOENCH_PIXELS_IN_ONE_ROW*2)
|
#define MOENCH_BYTES_IN_ONE_ROW (MOENCH_PIXELS_IN_ONE_ROW*2)
|
||||||
|
|
||||||
|
|
||||||
#define MOENCH_FRAME_INDEX_MASK 0xFFFFFF00
|
|
||||||
#define MOENCH_FRAME_INDEX_OFFSET 8
|
|
||||||
#define MOENCH_PACKET_INDEX_MASK 0xFF
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define EIGER_FIFO_SIZE 2500 //cannot be less than max jobs per thread = 1000
|
||||||
|
/*#define EIGER_ALIGNED_FRAME_SIZE 65536*/
|
||||||
|
#define EIGER_PACKETS_PER_FRAME 1 //default for 16B
|
||||||
|
#define EIGER_ONE_PACKET_SIZE 1040 //default for 16B
|
||||||
|
#define EIGER_BUFFER_SIZE (EIGER_ONE_PACKET_SIZE*EIGER_PACKETS_PER_FRAME) //1040*1 //default for 16B
|
||||||
|
#define EIGER_DATA_BYTES (1032*EIGER_PACKETS_PER_FRAME) //1280*40 //default for 16B
|
||||||
|
|
||||||
|
#define EIGER_FRAME_INDEX_MASK 0xFFFFFF00
|
||||||
|
#define EIGER_FRAME_INDEX_OFFSET 8
|
||||||
|
#define EIGER_PACKET_INDEX_MASK 0xFF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//#define THIS_SOFTWARE_VERSION 0x20120919
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -19,6 +19,7 @@ typedef int int32_t;
|
|||||||
#define MAX_FRAMES_PER_FILE 20000
|
#define MAX_FRAMES_PER_FILE 20000
|
||||||
#define SHORT_MAX_FRAMES_PER_FILE 100000
|
#define SHORT_MAX_FRAMES_PER_FILE 100000
|
||||||
#define MOENCH_MAX_FRAMES_PER_FILE 1000
|
#define MOENCH_MAX_FRAMES_PER_FILE 1000
|
||||||
|
#define EIGER_MAX_FRAMES_PER_FILE 20000
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -798,9 +798,9 @@ int slsReceiverTCPIPInterface::start_receiver(){
|
|||||||
|
|
||||||
// send answer
|
// send answer
|
||||||
socket->SendDataOnly(&ret,sizeof(ret));
|
socket->SendDataOnly(&ret,sizeof(ret));
|
||||||
if(ret==FAIL)
|
if(ret==FAIL){
|
||||||
socket->SendDataOnly(mess,sizeof(mess));
|
socket->SendDataOnly(mess,sizeof(mess));
|
||||||
cout<<"ret of start receiver:"<<ret<<endl;
|
}
|
||||||
//return ok/fail
|
//return ok/fail
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -227,29 +227,43 @@ int slsReceiverUDPFunctions::setDetectorType(detectorType det){
|
|||||||
|
|
||||||
//moench variables
|
//moench variables
|
||||||
if(myDetectorType == GOTTHARD){
|
if(myDetectorType == GOTTHARD){
|
||||||
fifosize = GOTTHARD_FIFO_SIZE;
|
fifosize = GOTTHARD_FIFO_SIZE;
|
||||||
bufferSize = GOTTHARD_BUFFER_SIZE;
|
packetsPerFrame = GOTTHARD_PACKETS_PER_FRAME;
|
||||||
packetsPerFrame = GOTTHARD_PACKETS_PER_FRAME;
|
onePacketSize = GOTTHARD_ONE_PACKET_SIZE;
|
||||||
maxPacketsPerFile = MAX_FRAMES_PER_FILE * GOTTHARD_PACKETS_PER_FRAME;
|
bufferSize = GOTTHARD_BUFFER_SIZE;
|
||||||
frameIndexMask = GOTTHARD_FRAME_INDEX_MASK;
|
maxPacketsPerFile = MAX_FRAMES_PER_FILE * GOTTHARD_PACKETS_PER_FRAME;
|
||||||
frameIndexOffset = GOTTHARD_FRAME_INDEX_OFFSET;
|
frameIndexMask = GOTTHARD_FRAME_INDEX_MASK;
|
||||||
packetIndexMask = GOTTHARD_PACKET_INDEX_MASK;
|
frameIndexOffset = GOTTHARD_FRAME_INDEX_OFFSET;
|
||||||
|
packetIndexMask = GOTTHARD_PACKET_INDEX_MASK;
|
||||||
}else if(myDetectorType == MOENCH){
|
}else if(myDetectorType == MOENCH){
|
||||||
fifosize = MOENCH_FIFO_SIZE;
|
fifosize = MOENCH_FIFO_SIZE;
|
||||||
bufferSize = MOENCH_BUFFER_SIZE;
|
packetsPerFrame = MOENCH_PACKETS_PER_FRAME;
|
||||||
packetsPerFrame = MOENCH_PACKETS_PER_FRAME;
|
onePacketSize = MOENCH_ONE_PACKET_SIZE;
|
||||||
maxPacketsPerFile = MOENCH_MAX_FRAMES_PER_FILE * MOENCH_PACKETS_PER_FRAME;
|
bufferSize = MOENCH_BUFFER_SIZE;
|
||||||
frameIndexMask = MOENCH_FRAME_INDEX_MASK;
|
maxPacketsPerFile = MOENCH_MAX_FRAMES_PER_FILE * MOENCH_PACKETS_PER_FRAME;
|
||||||
frameIndexOffset = MOENCH_FRAME_INDEX_OFFSET;
|
frameIndexMask = MOENCH_FRAME_INDEX_MASK;
|
||||||
packetIndexMask = MOENCH_PACKET_INDEX_MASK;
|
frameIndexOffset = MOENCH_FRAME_INDEX_OFFSET;
|
||||||
|
packetIndexMask = MOENCH_PACKET_INDEX_MASK;
|
||||||
}
|
}
|
||||||
else if(myDetectorType == EIGER){
|
else if(myDetectorType == EIGER){
|
||||||
|
#ifndef EIGERSLS
|
||||||
|
cout << "SLS Eiger Receiver" << endl;
|
||||||
|
fifosize = EIGER_FIFO_SIZE;
|
||||||
|
packetsPerFrame = EIGER_PACKETS_PER_FRAME;
|
||||||
|
onePacketSize = EIGER_ONE_PACKET_SIZE;
|
||||||
|
bufferSize = EIGER_BUFFER_SIZE;
|
||||||
|
maxPacketsPerFile = EIGER_MAX_FRAMES_PER_FILE * EIGER_PACKETS_PER_FRAME;
|
||||||
|
frameIndexMask = EIGER_FRAME_INDEX_MASK;
|
||||||
|
frameIndexOffset = EIGER_FRAME_INDEX_OFFSET;
|
||||||
|
packetIndexMask = EIGER_PACKET_INDEX_MASK;
|
||||||
|
#else
|
||||||
|
cout << "Heiner's Receiver" << endl;
|
||||||
if(receiver == NULL)
|
if(receiver == NULL)
|
||||||
receiver = EigerReceiver::create();
|
receiver = EigerReceiver::create();
|
||||||
receiver->setFileName(fileName);
|
receiver->setFileName(fileName);
|
||||||
}
|
#endif
|
||||||
|
|
||||||
onePacketSize = bufferSize/packetsPerFrame;
|
}
|
||||||
latestData = new char[bufferSize];
|
latestData = new char[bufferSize];
|
||||||
|
|
||||||
|
|
||||||
@ -322,7 +336,7 @@ void slsReceiverUDPFunctions::resetTotalFramesCaught(){
|
|||||||
/*file parameters*/
|
/*file parameters*/
|
||||||
|
|
||||||
char* slsReceiverUDPFunctions::getFilePath(){
|
char* slsReceiverUDPFunctions::getFilePath(){
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->getFilePath();
|
return receiver->getFilePath();
|
||||||
else
|
else
|
||||||
return filePath;
|
return filePath;
|
||||||
@ -333,7 +347,7 @@ char* slsReceiverUDPFunctions::setFilePath(char c[]){
|
|||||||
//check if filepath exists
|
//check if filepath exists
|
||||||
struct stat st;
|
struct stat st;
|
||||||
if(stat(c,&st) == 0){
|
if(stat(c,&st) == 0){
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
receiver->setFilePath(c);
|
receiver->setFilePath(c);
|
||||||
else
|
else
|
||||||
strcpy(filePath,c);
|
strcpy(filePath,c);
|
||||||
@ -347,7 +361,7 @@ char* slsReceiverUDPFunctions::setFilePath(char c[]){
|
|||||||
|
|
||||||
|
|
||||||
char* slsReceiverUDPFunctions::getFileName(){
|
char* slsReceiverUDPFunctions::getFileName(){
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->getFileName();
|
return receiver->getFileName();
|
||||||
else
|
else
|
||||||
return fileName;
|
return fileName;
|
||||||
@ -355,7 +369,7 @@ char* slsReceiverUDPFunctions::getFileName(){
|
|||||||
|
|
||||||
char* slsReceiverUDPFunctions::setFileName(char c[]){
|
char* slsReceiverUDPFunctions::setFileName(char c[]){
|
||||||
if(strlen(c)){
|
if(strlen(c)){
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
receiver->setFileName(c);
|
receiver->setFileName(c);
|
||||||
else
|
else
|
||||||
strcpy(fileName,c);
|
strcpy(fileName,c);
|
||||||
@ -385,13 +399,13 @@ int slsReceiverUDPFunctions::setFrameIndexNeeded(int i){
|
|||||||
|
|
||||||
int slsReceiverUDPFunctions::setEnableFileWrite(int i){
|
int slsReceiverUDPFunctions::setEnableFileWrite(int i){
|
||||||
if(i!=-1){
|
if(i!=-1){
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
receiver->setEnableFileWrite(i);
|
receiver->setEnableFileWrite(i);
|
||||||
else
|
else
|
||||||
enableFileWrite=i;
|
enableFileWrite=i;
|
||||||
|
|
||||||
}
|
}
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->getEnableFileWrite();
|
return receiver->getEnableFileWrite();
|
||||||
else
|
else
|
||||||
return enableFileWrite;
|
return enableFileWrite;
|
||||||
@ -402,13 +416,13 @@ int slsReceiverUDPFunctions::setEnableFileWrite(int i){
|
|||||||
|
|
||||||
int slsReceiverUDPFunctions::enableOverwrite(int i){
|
int slsReceiverUDPFunctions::enableOverwrite(int i){
|
||||||
if(i!=-1){
|
if(i!=-1){
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
receiver->setEnableOverwrite(i);
|
receiver->setEnableOverwrite(i);
|
||||||
else
|
else
|
||||||
overwrite=i;
|
overwrite=i;
|
||||||
|
|
||||||
}
|
}
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->getEnableOverwrite();
|
return receiver->getEnableOverwrite();
|
||||||
else
|
else
|
||||||
return overwrite;
|
return overwrite;
|
||||||
@ -421,7 +435,7 @@ int slsReceiverUDPFunctions::enableOverwrite(int i){
|
|||||||
/*other parameters*/
|
/*other parameters*/
|
||||||
|
|
||||||
slsReceiverDefs::runStatus slsReceiverUDPFunctions::getStatus(){
|
slsReceiverDefs::runStatus slsReceiverUDPFunctions::getStatus(){
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->getStatus();
|
return receiver->getStatus();
|
||||||
else
|
else
|
||||||
return status;
|
return status;
|
||||||
@ -430,14 +444,14 @@ slsReceiverDefs::runStatus slsReceiverUDPFunctions::getStatus(){
|
|||||||
|
|
||||||
char* slsReceiverUDPFunctions::setDetectorHostname(char c[]){
|
char* slsReceiverUDPFunctions::setDetectorHostname(char c[]){
|
||||||
if(strlen(c)){
|
if(strlen(c)){
|
||||||
if(myDetectorType == EIGER){
|
if(receiver != NULL){
|
||||||
if(receiver->getDetectorHostname()== NULL)
|
if(receiver->getDetectorHostname()== NULL)
|
||||||
receiver->initialize(c);
|
receiver->initialize(c);
|
||||||
}else
|
}else
|
||||||
strcpy(detHostname,c);
|
strcpy(detHostname,c);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->getDetectorHostname();
|
return receiver->getDetectorHostname();
|
||||||
else
|
else
|
||||||
return detHostname;
|
return detHostname;
|
||||||
@ -456,13 +470,13 @@ void slsReceiverUDPFunctions::setUDPPortNo(int p){
|
|||||||
|
|
||||||
int32_t slsReceiverUDPFunctions::setNumberOfFrames(int32_t fnum){
|
int32_t slsReceiverUDPFunctions::setNumberOfFrames(int32_t fnum){
|
||||||
if(fnum >= 0){
|
if(fnum >= 0){
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
receiver->setNumberOfFrames(fnum);
|
receiver->setNumberOfFrames(fnum);
|
||||||
else
|
else
|
||||||
numberOfFrames = fnum;
|
numberOfFrames = fnum;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->getNumberOfFrames();
|
return receiver->getNumberOfFrames();
|
||||||
else
|
else
|
||||||
return numberOfFrames;
|
return numberOfFrames;
|
||||||
@ -470,13 +484,13 @@ int32_t slsReceiverUDPFunctions::setNumberOfFrames(int32_t fnum){
|
|||||||
|
|
||||||
int32_t slsReceiverUDPFunctions::setScanTag(int32_t stag){
|
int32_t slsReceiverUDPFunctions::setScanTag(int32_t stag){
|
||||||
if(stag >= 0){
|
if(stag >= 0){
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
receiver->setScanTag(stag);
|
receiver->setScanTag(stag);
|
||||||
else
|
else
|
||||||
scanTag = stag;
|
scanTag = stag;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->getScanTag();
|
return receiver->getScanTag();
|
||||||
else
|
else
|
||||||
return scanTag;
|
return scanTag;
|
||||||
@ -484,13 +498,13 @@ int32_t slsReceiverUDPFunctions::setScanTag(int32_t stag){
|
|||||||
|
|
||||||
int32_t slsReceiverUDPFunctions::setDynamicRange(int32_t dr){
|
int32_t slsReceiverUDPFunctions::setDynamicRange(int32_t dr){
|
||||||
if(dr >= 0){
|
if(dr >= 0){
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
receiver->setDynamicRange(dr);
|
receiver->setDynamicRange(dr);
|
||||||
else
|
else
|
||||||
dynamicRange = dr;
|
dynamicRange = dr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->getDynamicRange();
|
return receiver->getDynamicRange();
|
||||||
else
|
else
|
||||||
return dynamicRange;
|
return dynamicRange;
|
||||||
@ -541,7 +555,7 @@ int64_t slsReceiverUDPFunctions::setAcquisitionPeriod(int64_t index){
|
|||||||
if(index >= 0){
|
if(index >= 0){
|
||||||
if(index != acquisitionPeriod){
|
if(index != acquisitionPeriod){
|
||||||
acquisitionPeriod = index;
|
acquisitionPeriod = index;
|
||||||
if(myDetectorType != EIGER)
|
if(receiver != NULL)
|
||||||
setupFifoStructure();
|
setupFifoStructure();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -658,6 +672,10 @@ void slsReceiverUDPFunctions::setupFilter(){
|
|||||||
|
|
||||||
|
|
||||||
void slsReceiverUDPFunctions::setupFifoStructure(){
|
void slsReceiverUDPFunctions::setupFifoStructure(){
|
||||||
|
|
||||||
|
if(receiver != NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
int64_t i;
|
int64_t i;
|
||||||
int oldn = numJobsPerThread;
|
int oldn = numJobsPerThread;
|
||||||
|
|
||||||
@ -688,6 +706,8 @@ void slsReceiverUDPFunctions::setupFifoStructure(){
|
|||||||
fifosize = GOTTHARD_FIFO_SIZE;
|
fifosize = GOTTHARD_FIFO_SIZE;
|
||||||
if(myDetectorType == MOENCH)
|
if(myDetectorType == MOENCH)
|
||||||
fifosize = MOENCH_FIFO_SIZE;
|
fifosize = MOENCH_FIFO_SIZE;
|
||||||
|
else if(myDetectorType == EIGER)
|
||||||
|
fifosize = EIGER_FIFO_SIZE;
|
||||||
|
|
||||||
if(fifosize % numJobsPerThread)
|
if(fifosize % numJobsPerThread)
|
||||||
fifosize = (fifosize/numJobsPerThread)+1;
|
fifosize = (fifosize/numJobsPerThread)+1;
|
||||||
@ -1212,7 +1232,7 @@ void slsReceiverUDPFunctions::closeFile(int ithr){
|
|||||||
|
|
||||||
int slsReceiverUDPFunctions::startReceiver(char message[]){
|
int slsReceiverUDPFunctions::startReceiver(char message[]){
|
||||||
|
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->startReceiver(message);
|
return receiver->startReceiver(message);
|
||||||
|
|
||||||
|
|
||||||
@ -1276,7 +1296,7 @@ int slsReceiverUDPFunctions::startReceiver(char message[]){
|
|||||||
|
|
||||||
int slsReceiverUDPFunctions::stopReceiver(){
|
int slsReceiverUDPFunctions::stopReceiver(){
|
||||||
|
|
||||||
if(myDetectorType == EIGER)
|
if(receiver != NULL)
|
||||||
return receiver->stopReceiver();
|
return receiver->stopReceiver();
|
||||||
|
|
||||||
|
|
||||||
@ -1309,7 +1329,7 @@ int slsReceiverUDPFunctions::stopReceiver(){
|
|||||||
|
|
||||||
void slsReceiverUDPFunctions::startReadout(){
|
void slsReceiverUDPFunctions::startReadout(){
|
||||||
|
|
||||||
if(myDetectorType == EIGER){
|
if(receiver != NULL){
|
||||||
receiver->stopReceiver();
|
receiver->stopReceiver();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user