mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 01:58:00 +02:00
added error mask properly inherited by base; mask exist only for cannot connect to detector, receiver and could not configure mac
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@452 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
@ -93,7 +93,7 @@ int multiSlsDetector::initSharedMemory(int id=0) {
|
||||
|
||||
|
||||
|
||||
multiSlsDetector::multiSlsDetector(int id) : slsDetectorUtils(), shmId(-1),errorMask(0)
|
||||
multiSlsDetector::multiSlsDetector(int id) : slsDetectorUtils(), shmId(-1)
|
||||
{
|
||||
while (shmId<0) {
|
||||
shmId=initSharedMemory(id);
|
||||
@ -3869,3 +3869,41 @@ int multiSlsDetector::setFrameIndex(int index){
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
string multiSlsDetector::getErrorMessage(int &critical){
|
||||
|
||||
int64_t multiMask,slsMask=0;
|
||||
string retval="";
|
||||
char sNumber[100];
|
||||
critical=0;
|
||||
|
||||
multiMask = getErrorMask();
|
||||
if(multiMask){
|
||||
for (int idet=0; idet<thisMultiDetector->numberOfDetectors; idet++) {
|
||||
if (detectors[idet]) {
|
||||
//if the detector has error
|
||||
if(multiMask&(1<<idet)){
|
||||
//append detector id
|
||||
sprintf(sNumber,"%d",idet);
|
||||
retval.append("Detector " + string(sNumber)+string(":\n"));
|
||||
//get sls det error mask
|
||||
slsMask=detectors[idet]->getErrorMask();
|
||||
#ifdef VERYVERBOSE
|
||||
//append sls det error mask
|
||||
sprintf(sNumber,"0x%x",slsMask);
|
||||
retval.append("Error Mask " + string(sNumber)+string("\n"));
|
||||
#endif
|
||||
//get the error critical level
|
||||
if((slsMask>0xFFFFFFFF)|critical)
|
||||
critical = 1;
|
||||
//append error message
|
||||
retval.append(errorDefs::getErrorMessage(slsMask));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
@ -1134,22 +1134,13 @@ class multiSlsDetector : public slsDetectorUtils {
|
||||
|
||||
int fillModuleMask(int *mM);
|
||||
|
||||
|
||||
/**
|
||||
Sets multi error mask
|
||||
@param multi error mask to be set to
|
||||
/returns multi error mask
|
||||
*/
|
||||
int setErrorMask(int i=-1){errorMask=i;return getErrorMask();}
|
||||
|
||||
/**returns multi error mask */
|
||||
int getErrorMask(){return errorMask;}
|
||||
|
||||
/**
|
||||
clears error mask
|
||||
/returns error mask
|
||||
/**checks error mask and returns error message if it exists
|
||||
* @param myDet is the multidetector object
|
||||
* @param critical is 1 if any of the messages is critical
|
||||
/returns error message else an empty string
|
||||
*/
|
||||
int clearErrorMask(){errorMask=0;return errorMask;}
|
||||
string getErrorMessage(int &critical);
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
@ -1163,9 +1154,6 @@ class multiSlsDetector : public slsDetectorUtils {
|
||||
/** Shared memory structure */
|
||||
sharedMultiSlsDetector *thisMultiDetector;
|
||||
|
||||
/** Error Mask for each detector*/
|
||||
int errorMask;
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
Reference in New Issue
Block a user