Merge branch '3.0.1' into developer

This commit is contained in:
Dhanya Maliakal 2017-11-21 14:15:59 +01:00
commit 2067f47f34
3 changed files with 44 additions and 19 deletions

View File

@ -3733,10 +3733,12 @@ string multiSlsDetector::setNetworkParameter(networkParameter p, string s){
case RECEIVER_STREAMING_PORT:
prev_streaming = enableDataStreamingFromReceiver();
enableDataStreamingFromReceiver(0);
enableDataStreamingToClient(0);
break;
case CLIENT_STREAMING_PORT:
prev_streaming = enableDataStreamingToClient();
enableDataStreamingToClient(0);
enableDataStreamingFromReceiver(0);
break;
case RECEIVER_STREAMING_SRC_IP:
prev_streaming = enableDataStreamingFromReceiver();
@ -3807,9 +3809,11 @@ string multiSlsDetector::setNetworkParameter(networkParameter p, string s){
switch (p) {
case RECEIVER_STREAMING_PORT:
enableDataStreamingFromReceiver(1);
enableDataStreamingToClient(1);
break;
case CLIENT_STREAMING_PORT:
enableDataStreamingToClient(1);
enableDataStreamingFromReceiver(1);
break;
case RECEIVER_STREAMING_SRC_IP:
enableDataStreamingFromReceiver(1);

View File

@ -8764,6 +8764,8 @@ int slsDetector::setReceiverReadTimer(int time_in_ms){
int slsDetector::enableDataStreamingFromReceiver(int enable){
if (enable >= 0) {
int fnum=F_STREAM_DATA_FROM_RECEIVER;
int ret = FAIL;
int retval=-1;
@ -8778,17 +8780,19 @@ int slsDetector::enableDataStreamingFromReceiver(int enable){
ret=thisReceiver->sendInt(fnum,retval,arg);
disconnectData();
}
if(ret==FAIL)
if(ret==FAIL) {
retval = -1;
cout << "could not set data streaming in receiver to " << enable <<" Returned:" << retval << endl;
setErrorMask((getErrorMask())|(DATA_STREAMING));
} else {
thisDetector->receiver_datastream = retval;
if(ret==FORCE_UPDATE)
updateReceiver();
}
if ((enable > 0) && (retval != enable)){
cout << "could not set data streaming in receiver to " << enable <<" Returned:" << retval << endl;
setErrorMask((getErrorMask())|(DATA_STREAMING));
}
return retval;
}
return thisDetector->receiver_datastream;
}

View File

@ -2338,6 +2338,15 @@ string slsDetectorCommand::cmdAcquire(int narg, char *args[], int action) {
myDet->setOnline(ONLINE_FLAG);
int r_online = myDet->setReceiverOnline(ONLINE_FLAG);
// switch off data streaming to prevent extra images in zmq gui buffer
if (r_online == ONLINE_FLAG) {
if (myDet->enableDataStreamingFromReceiver() != 0) {
if (myDet->enableDataStreamingFromReceiver(0) != 0) {
std::cout << "Error: Unable to switch off data streaming in receiver. If GUI on, extra image(s) in zmq GUI buffer" << std::endl;
}
}
}
if(myDet->acquire() == FAIL)
return string("acquire unsuccessful");
if(r_online){
@ -5934,10 +5943,18 @@ string slsDetectorCommand::cmdReceiver(int narg, char *args[], int action) {
myDet->setOnline(ONLINE_FLAG);
myDet->setReceiverOnline(ONLINE_FLAG);
int r_online = myDet->setReceiverOnline(ONLINE_FLAG);
if(cmd=="receiver"){
if (action==PUT_ACTION) {
// switch off data streaming to prevent extra images in zmq gui buffer
if (r_online == ONLINE_FLAG) {
if (myDet->enableDataStreamingFromReceiver() != 0) {
if (myDet->enableDataStreamingFromReceiver(0) != 0) {
std::cout << "Error: Unable to switch off data streaming in receiver. If GUI on, extra image(s) in zmq GUI buffer" << std::endl;
}
}
}
if(!strcasecmp(args[1],"start"))
myDet->startReceiver();
else if(!strcasecmp(args[1],"stop"))