diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index cb54e8117..fe1b64347 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -1510,7 +1510,7 @@ slsDetectorDefs::runStatus multiSlsDetector::getRunStatus() { setErrorMask(getErrorMask()|(1<<0)); } - for (int i=0; inumberOfDetectors; i++) { + for (int i=1; inumberOfDetectors; i++) { s1=detectors[i]->getRunStatus(); if(detectors[i]->getErrorMask()) setErrorMask(getErrorMask()|(1<status,status); } +void write_istatus_sm(int i) { + stdata->istatus=i; +} +int read_istatus_sm() { + return stdata->istatus; +} + void write_stop_sm(int v) { stdata->stop=v; } diff --git a/slsDetectorSoftware/mythenDetectorServer/sharedmemory.h b/slsDetectorSoftware/mythenDetectorServer/sharedmemory.h index 8a5d89083..d50eb5047 100755 --- a/slsDetectorSoftware/mythenDetectorServer/sharedmemory.h +++ b/slsDetectorSoftware/mythenDetectorServer/sharedmemory.h @@ -33,6 +33,7 @@ struct statusdata { int runnumber; int stop; + int istatus; char status[20]; } ; @@ -44,4 +45,8 @@ void write_status_sm(char *status); void write_stop_sm(int v); void write_runnumber_sm(int v); +void write_istatus_sm(int v); + +int read_istatus_sm(); + #endif diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 5aeba44af..a97372688 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -3191,6 +3191,7 @@ slsDetectorDefs::runStatus slsDetector::getRunStatus(){ int fnum=F_GET_RUN_STATUS; int ret=FAIL; char mess[100]; + strcpy(mess,"aaaaa"); runStatus retval=ERROR; #ifdef VERBOSE std::cout<< "Getting status "<< std::endl; @@ -3199,12 +3200,16 @@ slsDetectorDefs::runStatus slsDetector::getRunStatus(){ if (stopSocket) { if (stopSocket->Connect()>=0) { stopSocket->SendDataOnly(&fnum,sizeof(fnum)); - stopSocket->ReceiveDataOnly(&ret,sizeof(ret)); + cout << stopSocket->ReceiveDataOnly(&ret,sizeof(ret)) ; + + cout << "________:::____________" << ret << endl; + if (ret==FAIL) { stopSocket->ReceiveDataOnly(mess,sizeof(mess)); std::cout<< "Detector returned error: " << mess << std::endl; } else { - stopSocket->ReceiveDataOnly(&retval,sizeof(retval)); + stopSocket->ReceiveDataOnly(&retval,sizeof(retval)); + cout << "____________________" << retval << endl; } stopSocket->Disconnect(); }