two acquires at the same tiem should not be possile. using shared memory to set flag, made all connect use the standard connectControl etc

This commit is contained in:
Dhanya Maliakal
2015-11-20 16:28:48 +01:00
parent a1bd54b16b
commit c097dfc8b3
18 changed files with 474 additions and 205 deletions

View File

@ -199,7 +199,7 @@ multiSlsDetector::multiSlsDetector(int id) : slsDetectorUtils(), shmId(-1)
}
thisMultiDetector->receiver_read_freq = 0;
thisMultiDetector->acquiringFlag = false;
thisMultiDetector->alreadyExisting=1;
}
@ -5145,4 +5145,27 @@ int multiSlsDetector::pulsePixelNMove(int n,int x,int y) {
return ret;
}
int multiSlsDetector::pulseChip(int n) {
int ret=-100,ret1;
for (int idet=0; idet<thisMultiDetector->numberOfDetectors; idet++)
if (detectors[idet]){
ret1=detectors[idet]->pulsePixelNMove(n);
if(detectors[idet]->getErrorMask())
setErrorMask(getErrorMask()|(1<<idet));
if(ret==-100)
ret=ret1;
else if (ret!=ret1)
ret=-1;
}
return ret;
}
void multiSlsDetector::setAcquiringFlag(bool b){
thisMultiDetector->acquiringFlag = b;
}
bool multiSlsDetector::getAcquiringFlag(){
return thisMultiDetector->acquiringFlag;
}

View File

@ -194,6 +194,9 @@ class multiSlsDetector : public slsDetectorUtils {
/* Receiver read frequency */
int receiver_read_freq;
/** flag for acquiring */
bool acquiringFlag;
};
@ -1321,9 +1324,24 @@ class multiSlsDetector : public slsDetectorUtils {
*/
int pulsePixelNMove(int n=0,int x=0,int y=0);
/**
Pulse Chip
\param n is number of times to pulse
\returns OK or FAIL
*/
int pulseChip(int n=0);
/**
Set acquiring flag in shared memory
\param b acquiring flag
*/
void setAcquiringFlag(bool b=false);
/**
Get acquiring flag from shared memory
\returns acquiring flag
*/
bool getAcquiringFlag();