mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-09 11:30:43 +02:00
can set zmqport from receiver
This commit is contained in:
parent
68b1959a85
commit
e3667f6827
@ -192,7 +192,8 @@ enum networkParameter {
|
|||||||
DETECTOR_TXN_DELAY_FRAME, /**< transmission delay of a whole frame for all the ports */
|
DETECTOR_TXN_DELAY_FRAME, /**< transmission delay of a whole frame for all the ports */
|
||||||
FLOW_CONTROL_10G, /**< flow control for 10GbE */
|
FLOW_CONTROL_10G, /**< flow control for 10GbE */
|
||||||
FLOW_CONTROL_WR_PTR, /**< memory write pointer for flow control */
|
FLOW_CONTROL_WR_PTR, /**< memory write pointer for flow control */
|
||||||
FLOW_CONTROL_RD_PTR /**< memory read pointer for flow control */
|
FLOW_CONTROL_RD_PTR, /**< memory read pointer for flow control */
|
||||||
|
RECEIVER_STREAMING_PORT /**< receiever streaming TCP(ZMQ) port */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3432,6 +3432,13 @@ string multiSlsDetector::getNetworkParameter(networkParameter p) {
|
|||||||
*/
|
*/
|
||||||
string multiSlsDetector::setNetworkParameter(networkParameter p, string s){
|
string multiSlsDetector::setNetworkParameter(networkParameter p, string s){
|
||||||
|
|
||||||
|
// disable data streaming before changing zmq port (but only if they were on)
|
||||||
|
/*int prev_streaming = 0;*/
|
||||||
|
if (p == RECEIVER_STREAMING_PORT) {
|
||||||
|
/*prev_streaming = getStreamingSocketsCreatedInClient();*/
|
||||||
|
enableDataStreamingFromReceiver(0);
|
||||||
|
}
|
||||||
|
|
||||||
if (s.find('+')==string::npos) {
|
if (s.find('+')==string::npos) {
|
||||||
|
|
||||||
if(!threadpool){
|
if(!threadpool){
|
||||||
@ -3441,6 +3448,8 @@ string multiSlsDetector::setNetworkParameter(networkParameter p, string s){
|
|||||||
string* sret[thisMultiDetector->numberOfDetectors];
|
string* sret[thisMultiDetector->numberOfDetectors];
|
||||||
for(int idet=0; idet<thisMultiDetector->numberOfDetectors; idet++){
|
for(int idet=0; idet<thisMultiDetector->numberOfDetectors; idet++){
|
||||||
if(detectors[idet]){
|
if(detectors[idet]){
|
||||||
|
if (p == RECEIVER_STREAMING_PORT)
|
||||||
|
s.append("multi\0");
|
||||||
sret[idet]=new string("error");
|
sret[idet]=new string("error");
|
||||||
Task* task = new Task(new func2_t <string,slsDetector,networkParameter,string,string>(&slsDetector::setNetworkParameter,
|
Task* task = new Task(new func2_t <string,slsDetector,networkParameter,string,string>(&slsDetector::setNetworkParameter,
|
||||||
detectors[idet],p,s,sret[idet]));
|
detectors[idet],p,s,sret[idet]));
|
||||||
@ -3481,7 +3490,11 @@ string multiSlsDetector::setNetworkParameter(networkParameter p, string s){
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
//enable data streaming if it was on
|
||||||
|
if (p == RECEIVER_STREAMING_PORT && prev_streaming)
|
||||||
|
enableDataStreamingFromReceiver(1);
|
||||||
|
*/
|
||||||
return getNetworkParameter(p);
|
return getNetworkParameter(p);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -5245,8 +5258,15 @@ int multiSlsDetector::createReceivingDataSockets(const bool destroy){
|
|||||||
cprintf(MAGENTA,"Going to create data sockets\n");
|
cprintf(MAGENTA,"Going to create data sockets\n");
|
||||||
|
|
||||||
for(int i=0;i<numSockets; ++i){
|
for(int i=0;i<numSockets; ++i){
|
||||||
uint32_t portnum = DEFAULT_ZMQ_PORTNO +
|
uint32_t portnum;
|
||||||
(i/numSocketsPerDetector)*numSocketsPerDetector + (i%numSocketsPerDetector);
|
sscanf(detectors[i/numSocketsPerDetector]->getReceiverStreamingPort().c_str(),"%d",&portnum);
|
||||||
|
if (portnum == 0) {
|
||||||
|
portnum = DEFAULT_ZMQ_PORTNO +
|
||||||
|
(i/numSocketsPerDetector)*numSocketsPerDetector + (i%numSocketsPerDetector); // *num and /num is not same cuz its integers
|
||||||
|
}else{
|
||||||
|
portnum += (i%numSocketsPerDetector);
|
||||||
|
}
|
||||||
|
|
||||||
zmqSocket[i] = new ZmqSocket(detectors[i/numSocketsPerDetector]->getReceiver().c_str(), portnum);
|
zmqSocket[i] = new ZmqSocket(detectors[i/numSocketsPerDetector]->getReceiver().c_str(), portnum);
|
||||||
if (zmqSocket[i]->IsError()) {
|
if (zmqSocket[i]->IsError()) {
|
||||||
cprintf(RED, "Error: Could not create Zmq socket on port %d\n", portnum);
|
cprintf(RED, "Error: Could not create Zmq socket on port %d\n", portnum);
|
||||||
@ -5708,7 +5728,7 @@ int multiSlsDetector::getStreamingSocketsCreatedInClient() {
|
|||||||
int multiSlsDetector::enableDataStreamingFromReceiver(int enable){
|
int multiSlsDetector::enableDataStreamingFromReceiver(int enable){
|
||||||
|
|
||||||
if(enable >= 0){
|
if(enable >= 0){
|
||||||
if(dataSocketsStarted != enable){
|
/*if(dataSocketsStarted != enable){*/
|
||||||
//destroy data threads
|
//destroy data threads
|
||||||
if(dataSocketsStarted)
|
if(dataSocketsStarted)
|
||||||
createReceivingDataSockets(true);
|
createReceivingDataSockets(true);
|
||||||
@ -5723,7 +5743,7 @@ int multiSlsDetector::enableDataStreamingFromReceiver(int enable){
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
/*}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -777,6 +777,7 @@ int slsDetector::initializeDetectorSize(detectorType type) {
|
|||||||
thisDetector->acquiringFlag = false;
|
thisDetector->acquiringFlag = false;
|
||||||
thisDetector->flippedData[0] = 0;
|
thisDetector->flippedData[0] = 0;
|
||||||
thisDetector->flippedData[1] = 0;
|
thisDetector->flippedData[1] = 0;
|
||||||
|
thisDetector->zmqport = 0;
|
||||||
|
|
||||||
for (int ia=0; ia<MAX_ACTIONS; ia++) {
|
for (int ia=0; ia<MAX_ACTIONS; ia++) {
|
||||||
strcpy(thisDetector->actionScript[ia],"none");
|
strcpy(thisDetector->actionScript[ia],"none");
|
||||||
@ -5837,7 +5838,6 @@ int slsDetector::exitServer(){
|
|||||||
|
|
||||||
string slsDetector::setNetworkParameter(networkParameter index, string value) {
|
string slsDetector::setNetworkParameter(networkParameter index, string value) {
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
switch (index) {
|
switch (index) {
|
||||||
case DETECTOR_MAC:
|
case DETECTOR_MAC:
|
||||||
return setDetectorMAC(value);
|
return setDetectorMAC(value);
|
||||||
@ -5855,19 +5855,22 @@ string slsDetector::setNetworkParameter(networkParameter index, string value) {
|
|||||||
return getReceiverUDPPort();
|
return getReceiverUDPPort();
|
||||||
case RECEIVER_UDP_PORT2:
|
case RECEIVER_UDP_PORT2:
|
||||||
sscanf(value.c_str(),"%d",&i);
|
sscanf(value.c_str(),"%d",&i);
|
||||||
if(thisDetector->myDetectorType == EIGER)
|
if(thisDetector->myDetectorType == EIGER) {
|
||||||
setReceiverUDPPort2(i);
|
setReceiverUDPPort2(i);
|
||||||
else
|
|
||||||
setReceiverUDPPort(i);
|
|
||||||
if(thisDetector->myDetectorType == EIGER)
|
|
||||||
return getReceiverUDPPort2();
|
return getReceiverUDPPort2();
|
||||||
|
} else {
|
||||||
|
setReceiverUDPPort(i);
|
||||||
return getReceiverUDPPort();
|
return getReceiverUDPPort();
|
||||||
|
}
|
||||||
case DETECTOR_TXN_DELAY_LEFT:
|
case DETECTOR_TXN_DELAY_LEFT:
|
||||||
case DETECTOR_TXN_DELAY_RIGHT:
|
case DETECTOR_TXN_DELAY_RIGHT:
|
||||||
case DETECTOR_TXN_DELAY_FRAME:
|
case DETECTOR_TXN_DELAY_FRAME:
|
||||||
case FLOW_CONTROL_10G:
|
case FLOW_CONTROL_10G:
|
||||||
sscanf(value.c_str(),"%d",&i);
|
sscanf(value.c_str(),"%d",&i);
|
||||||
return setDetectorNetworkParameter(index, i);
|
return setDetectorNetworkParameter(index, i);
|
||||||
|
case RECEIVER_STREAMING_PORT:
|
||||||
|
setReceiverStreamingPort(value);
|
||||||
|
return getReceiverStreamingPort();
|
||||||
default:
|
default:
|
||||||
return (char*)("unknown network parameter");
|
return (char*)("unknown network parameter");
|
||||||
}
|
}
|
||||||
@ -5877,34 +5880,29 @@ string slsDetector::setNetworkParameter(networkParameter index, string value) {
|
|||||||
|
|
||||||
|
|
||||||
string slsDetector::getNetworkParameter(networkParameter index) {
|
string slsDetector::getNetworkParameter(networkParameter index) {
|
||||||
|
ostringstream ss;string s;
|
||||||
switch (index) {
|
switch (index) {
|
||||||
case DETECTOR_MAC:
|
case DETECTOR_MAC:
|
||||||
return getDetectorMAC();
|
return getDetectorMAC();
|
||||||
break;
|
|
||||||
case DETECTOR_IP:
|
case DETECTOR_IP:
|
||||||
return getDetectorIP();
|
return getDetectorIP();
|
||||||
break;
|
|
||||||
case RECEIVER_HOSTNAME:
|
case RECEIVER_HOSTNAME:
|
||||||
return getReceiver();
|
return getReceiver();
|
||||||
break;
|
|
||||||
case RECEIVER_UDP_IP:
|
case RECEIVER_UDP_IP:
|
||||||
return getReceiverUDPIP();
|
return getReceiverUDPIP();
|
||||||
break;
|
|
||||||
case RECEIVER_UDP_MAC:
|
case RECEIVER_UDP_MAC:
|
||||||
return getReceiverUDPMAC();
|
return getReceiverUDPMAC();
|
||||||
break;
|
|
||||||
case RECEIVER_UDP_PORT:
|
case RECEIVER_UDP_PORT:
|
||||||
return getReceiverUDPPort();
|
return getReceiverUDPPort();
|
||||||
break;
|
|
||||||
case RECEIVER_UDP_PORT2:
|
case RECEIVER_UDP_PORT2:
|
||||||
return getReceiverUDPPort2();
|
return getReceiverUDPPort2();
|
||||||
break;
|
|
||||||
case DETECTOR_TXN_DELAY_LEFT:
|
case DETECTOR_TXN_DELAY_LEFT:
|
||||||
case DETECTOR_TXN_DELAY_RIGHT:
|
case DETECTOR_TXN_DELAY_RIGHT:
|
||||||
case DETECTOR_TXN_DELAY_FRAME:
|
case DETECTOR_TXN_DELAY_FRAME:
|
||||||
case FLOW_CONTROL_10G:
|
case FLOW_CONTROL_10G:
|
||||||
return setDetectorNetworkParameter(index, -1);
|
return setDetectorNetworkParameter(index, -1);
|
||||||
|
case RECEIVER_STREAMING_PORT:
|
||||||
|
return getReceiverStreamingPort();
|
||||||
default:
|
default:
|
||||||
return (char*)("unknown network parameter");
|
return (char*)("unknown network parameter");
|
||||||
}
|
}
|
||||||
@ -5984,6 +5982,7 @@ string slsDetector::setReceiver(string receiverIP){
|
|||||||
std::cout << "file path:" << fileIO::getFilePath() << endl;
|
std::cout << "file path:" << fileIO::getFilePath() << endl;
|
||||||
std::cout << "file name:" << fileIO::getFileName() << endl;
|
std::cout << "file name:" << fileIO::getFileName() << endl;
|
||||||
std::cout << "file index:" << fileIO::getFileIndex() << endl;
|
std::cout << "file index:" << fileIO::getFileIndex() << endl;
|
||||||
|
std::cout << "file format:" << fileIO::getFileFormat() << endl;
|
||||||
pthread_mutex_lock(&ms);
|
pthread_mutex_lock(&ms);
|
||||||
std::cout << "write enable:" << parentDet->enableWriteToFileMask() << endl;
|
std::cout << "write enable:" << parentDet->enableWriteToFileMask() << endl;
|
||||||
std::cout << "overwrite enable:" << parentDet->enableOverwriteMask() << endl;
|
std::cout << "overwrite enable:" << parentDet->enableOverwriteMask() << endl;
|
||||||
@ -5992,7 +5991,10 @@ string slsDetector::setReceiver(string receiverIP){
|
|||||||
std::cout << "frame period:" << thisDetector->timerValue[FRAME_PERIOD] << endl;
|
std::cout << "frame period:" << thisDetector->timerValue[FRAME_PERIOD] << endl;
|
||||||
std::cout << "frame number:" << thisDetector->timerValue[FRAME_NUMBER] << endl;
|
std::cout << "frame number:" << thisDetector->timerValue[FRAME_NUMBER] << endl;
|
||||||
std::cout << "dynamic range:" << thisDetector->dynamicRange << endl << endl;
|
std::cout << "dynamic range:" << thisDetector->dynamicRange << endl << endl;
|
||||||
|
std::cout << "flippeddatax:" << thisDetector->flippedData[d] << endl;
|
||||||
std::cout << "10GbE:" << thisDetector->tenGigaEnable << endl << endl;
|
std::cout << "10GbE:" << thisDetector->tenGigaEnable << endl << endl;
|
||||||
|
std::cout << "streaming port:" << thisDetector->zmqport << endl;
|
||||||
|
|
||||||
//std::cout << "dataStreaming:" << enableDataStreamingFromReceiver(-1) << endl << endl;
|
//std::cout << "dataStreaming:" << enableDataStreamingFromReceiver(-1) << endl << endl;
|
||||||
/** enable compresison, */
|
/** enable compresison, */
|
||||||
#endif
|
#endif
|
||||||
@ -6034,6 +6036,7 @@ string slsDetector::setReceiver(string receiverIP){
|
|||||||
enableTenGigabitEthernet(thisDetector->tenGigaEnable);
|
enableTenGigabitEthernet(thisDetector->tenGigaEnable);
|
||||||
|
|
||||||
// data streaming
|
// data streaming
|
||||||
|
setReceiverStreamingPort(getReceiverStreamingPort());
|
||||||
int clientSockets = parentDet->getStreamingSocketsCreatedInClient();
|
int clientSockets = parentDet->getStreamingSocketsCreatedInClient();
|
||||||
int recSockets = enableDataStreamingFromReceiver(-1);
|
int recSockets = enableDataStreamingFromReceiver(-1);
|
||||||
if(clientSockets != recSockets) {
|
if(clientSockets != recSockets) {
|
||||||
@ -6144,6 +6147,42 @@ int slsDetector::setReceiverUDPPort2(int udpport){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int slsDetector::setReceiverStreamingPort(string port) {
|
||||||
|
int defaultport = 0;
|
||||||
|
int numsockets = (thisDetector->myDetectorType == EIGER) ? 2:1;
|
||||||
|
int arg = 0;
|
||||||
|
|
||||||
|
//multi command, calculate individual ports
|
||||||
|
size_t found = port.find("multi");
|
||||||
|
if(found != string::npos) {
|
||||||
|
port.erase(found,5);
|
||||||
|
sscanf(port.c_str(),"%d",&defaultport);
|
||||||
|
arg = defaultport + (posId * numsockets);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
sscanf(port.c_str(),"%d",&arg);
|
||||||
|
|
||||||
|
// send to receiver
|
||||||
|
int fnum=F_SET_RECEIVER_STREAMING_PORT;
|
||||||
|
int ret = FAIL;
|
||||||
|
int retval=-1;
|
||||||
|
if(thisDetector->receiverOnlineFlag==ONLINE_FLAG){
|
||||||
|
#ifdef VERBOSE
|
||||||
|
std::cout << "Sending receiver streaming port to receiver " << arg << std::endl;
|
||||||
|
#endif
|
||||||
|
if (connectData() == OK){
|
||||||
|
ret=thisReceiver->sendInt(fnum,retval,arg);
|
||||||
|
disconnectData();
|
||||||
|
}
|
||||||
|
if(ret!=FAIL)
|
||||||
|
thisDetector->zmqport = retval;
|
||||||
|
if(ret==FORCE_UPDATE)
|
||||||
|
updateReceiver();
|
||||||
|
}
|
||||||
|
|
||||||
|
return thisDetector->zmqport;
|
||||||
|
}
|
||||||
|
|
||||||
string slsDetector::setDetectorNetworkParameter(networkParameter index, int delay){
|
string slsDetector::setDetectorNetworkParameter(networkParameter index, int delay){
|
||||||
int fnum = F_SET_NETWORK_PARAMETER;
|
int fnum = F_SET_NETWORK_PARAMETER;
|
||||||
int ret = FAIL;
|
int ret = FAIL;
|
||||||
@ -8156,6 +8195,9 @@ int slsDetector::updateReceiverNoWait() {
|
|||||||
parentDet->enableOverwriteMask(ind);
|
parentDet->enableOverwriteMask(ind);
|
||||||
pthread_mutex_unlock(&ms);
|
pthread_mutex_unlock(&ms);
|
||||||
|
|
||||||
|
// streaming port
|
||||||
|
n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind));
|
||||||
|
thisDetector->zmqport = ind;
|
||||||
|
|
||||||
if (!n) printf("n: %d\n", n);
|
if (!n) printf("n: %d\n", n);
|
||||||
|
|
||||||
|
@ -269,7 +269,8 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
|
|||||||
bool acquiringFlag;
|
bool acquiringFlag;
|
||||||
/** flipped data across x or y axis */
|
/** flipped data across x or y axis */
|
||||||
int flippedData[2];
|
int flippedData[2];
|
||||||
|
/** tcp port between receiver and gui (only data) */
|
||||||
|
int zmqport;
|
||||||
|
|
||||||
} sharedSlsDetector;
|
} sharedSlsDetector;
|
||||||
|
|
||||||
@ -1720,6 +1721,8 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
|
|||||||
string getReceiverUDPPort() {ostringstream ss; ss << thisDetector->receiverUDPPort; string s = ss.str(); return s;};
|
string getReceiverUDPPort() {ostringstream ss; ss << thisDetector->receiverUDPPort; string s = ss.str(); return s;};
|
||||||
/** returns the receiver UDP2 for Eiger IP address \sa sharedSlsDetector */
|
/** returns the receiver UDP2 for Eiger IP address \sa sharedSlsDetector */
|
||||||
string getReceiverUDPPort2() {ostringstream ss; ss << thisDetector->receiverUDPPort2; string s = ss.str(); return s;};
|
string getReceiverUDPPort2() {ostringstream ss; ss << thisDetector->receiverUDPPort2; string s = ss.str(); return s;};
|
||||||
|
/** returns the zmq port \sa sharedSlsDetector */
|
||||||
|
string getReceiverStreamingPort() {ostringstream ss; ss << thisDetector->zmqport; string s = ss.str(); return s;};
|
||||||
|
|
||||||
/** validates the format of detector MAC address and sets it \sa sharedSlsDetector */
|
/** validates the format of detector MAC address and sets it \sa sharedSlsDetector */
|
||||||
string setDetectorMAC(string detectorMAC);
|
string setDetectorMAC(string detectorMAC);
|
||||||
@ -1735,6 +1738,8 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
|
|||||||
int setReceiverUDPPort(int udpport);
|
int setReceiverUDPPort(int udpport);
|
||||||
/** sets the receiver udp port2 for Eiger \sa sharedSlsDetector */
|
/** sets the receiver udp port2 for Eiger \sa sharedSlsDetector */
|
||||||
int setReceiverUDPPort2(int udpport);
|
int setReceiverUDPPort2(int udpport);
|
||||||
|
/** sets the zmq port in client and receiver (includes "multi" at the end if it should calculate individual ports \sa sharedSlsDetector */
|
||||||
|
int setReceiverStreamingPort(string port);
|
||||||
/** sets the transmission delay for left or right port or for an entire frame*/
|
/** sets the transmission delay for left or right port or for an entire frame*/
|
||||||
string setDetectorNetworkParameter(networkParameter index, int delay);
|
string setDetectorNetworkParameter(networkParameter index, int delay);
|
||||||
|
|
||||||
|
@ -386,6 +386,11 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) {
|
|||||||
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdNetworkParameter;
|
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdNetworkParameter;
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
|
descrToFuncMap[i].m_pFuncName="zmqport"; //
|
||||||
|
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdNetworkParameter;
|
||||||
|
i++;
|
||||||
|
|
||||||
|
|
||||||
descrToFuncMap[i].m_pFuncName="configuremac"; //
|
descrToFuncMap[i].m_pFuncName="configuremac"; //
|
||||||
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdConfigureMac;
|
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdConfigureMac;
|
||||||
i++;
|
i++;
|
||||||
@ -2936,6 +2941,12 @@ string slsDetectorCommand::cmdNetworkParameter(int narg, char *args[], int actio
|
|||||||
if (!(sscanf(args[1],"%d",&i)))
|
if (!(sscanf(args[1],"%d",&i)))
|
||||||
return ("cannot parse argument") + string(args[1]);
|
return ("cannot parse argument") + string(args[1]);
|
||||||
}
|
}
|
||||||
|
}else if (cmd=="zmqport") {
|
||||||
|
t=RECEIVER_STREAMING_PORT;
|
||||||
|
if (action==PUT_ACTION){
|
||||||
|
if (!(sscanf(args[1],"%d",&i)))
|
||||||
|
return ("cannot parse argument") + string(args[1]);
|
||||||
|
}
|
||||||
}else return ("unknown network parameter")+cmd;
|
}else return ("unknown network parameter")+cmd;
|
||||||
|
|
||||||
if (action==PUT_ACTION)
|
if (action==PUT_ACTION)
|
||||||
@ -2961,6 +2972,7 @@ string slsDetectorCommand::helpNetworkParameter(int narg, char *args[], int acti
|
|||||||
os << "txndelay_right port \n sets detector transmission delay of the right port"<< std::endl;
|
os << "txndelay_right port \n sets detector transmission delay of the right port"<< std::endl;
|
||||||
os << "txndelay_frame port \n sets detector transmission delay of the entire frame"<< std::endl;
|
os << "txndelay_frame port \n sets detector transmission delay of the entire frame"<< std::endl;
|
||||||
os << "flowcontrol_10g port \n sets flow control for 10g for eiger"<< std::endl;
|
os << "flowcontrol_10g port \n sets flow control for 10g for eiger"<< std::endl;
|
||||||
|
os << "zmqport port \n sets zmq port (data from receiver to client); setting via multidetector command calculates port for individual detectors"<< std::endl;
|
||||||
}
|
}
|
||||||
if (action==GET_ACTION || action==HELP_ACTION) {
|
if (action==GET_ACTION || action==HELP_ACTION) {
|
||||||
os << "detectormac \n gets detector mac "<< std::endl;
|
os << "detectormac \n gets detector mac "<< std::endl;
|
||||||
@ -2973,6 +2985,7 @@ string slsDetectorCommand::helpNetworkParameter(int narg, char *args[], int acti
|
|||||||
os << "txndelay_right \n gets detector transmission delay of the right port"<< std::endl;
|
os << "txndelay_right \n gets detector transmission delay of the right port"<< std::endl;
|
||||||
os << "txndelay_frame \n gets detector transmission delay of the entire frame"<< std::endl;
|
os << "txndelay_frame \n gets detector transmission delay of the entire frame"<< std::endl;
|
||||||
os << "flowcontrol_10g \n gets flow control for 10g for eiger"<< std::endl;
|
os << "flowcontrol_10g \n gets flow control for 10g for eiger"<< std::endl;
|
||||||
|
os << "zmqport \n gets zmq port (data from receiver to client)"<< std::endl;
|
||||||
}
|
}
|
||||||
return os.str();
|
return os.str();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user