replacing ReceiverReadTimer, Frequency calibratePedestal

This commit is contained in:
Erik Frojdh 2018-05-25 11:44:39 +02:00
parent 7702865409
commit ad14381ab4

View File

@ -3423,7 +3423,8 @@ int multiSlsDetector::exitServer()
return ival; return ival;
} }
int multiSlsDetector::callDetectorMemeber(int (slsDetector::*somefunc)(int), int value){ int multiSlsDetector::callDetectorMemeber(int (slsDetector::*somefunc)(int), int value)
{
int ret = -100, ret1; int ret = -100, ret1;
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet) for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet)
if (detectors[idet]) { if (detectors[idet]) {
@ -3439,8 +3440,6 @@ int multiSlsDetector::callDetectorMemeber(int (slsDetector::*somefunc)(int), int
return ret; return ret;
} }
string multiSlsDetector::callDetectorMemeber(string (slsDetector::*somefunc)()) string multiSlsDetector::callDetectorMemeber(string (slsDetector::*somefunc)())
{ {
string concatenatedValue, firstValue; string concatenatedValue, firstValue;
@ -6151,59 +6150,17 @@ int64_t multiSlsDetector::clearAllErrorMask()
int multiSlsDetector::calibratePedestal(int frames) int multiSlsDetector::calibratePedestal(int frames)
{ {
int ret = -100, ret1; return callDetectorMemeber(&slsDetector::calibratePedestal, frames);
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet) {
if (detectors[idet]) {
ret1 = detectors[idet]->calibratePedestal(frames);
if (detectors[idet]->getErrorMask())
setErrorMask(getErrorMask() | (1 << idet));
if (ret == -100)
ret = ret1;
else if (ret != ret1)
ret = -1;
}
}
return ret;
} }
int multiSlsDetector::setReadReceiverFrequency(int freq) int multiSlsDetector::setReadReceiverFrequency(int freq)
{ {
int ret = -100, ret1; return callDetectorMemeber(&slsDetector::setReadReceiverFrequency, freq);
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet) {
if (detectors[idet]) {
ret1 = detectors[idet]->setReadReceiverFrequency(freq);
if (detectors[idet]->getErrorMask())
setErrorMask(getErrorMask() | (1 << idet));
if (ret == -100)
ret = ret1;
else if (ret != ret1)
ret = -1;
}
}
return ret;
} }
int multiSlsDetector::setReceiverReadTimer(int time_in_ms) int multiSlsDetector::setReceiverReadTimer(int time_in_ms)
{ {
int ret = -100, ret1; return callDetectorMemeber(&slsDetector::setReceiverReadTimer, time_in_ms);
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet) {
if (detectors[idet]) {
ret1 = detectors[idet]->setReceiverReadTimer(time_in_ms);
if (detectors[idet]->getErrorMask())
setErrorMask(getErrorMask() | (1 << idet));
if (ret == -100)
ret = ret1;
else if (ret != ret1)
ret = -1;
}
}
return ret;
} }
int multiSlsDetector::enableDataStreamingToClient(int enable) int multiSlsDetector::enableDataStreamingToClient(int enable)