diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 13ec4fad8..e581f44c0 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -4904,15 +4904,15 @@ uint32_t multiSlsDetector::readRegister(uint32_t addr){ } -int multiSlsDetector::setBit(int addr, int n) { - int ret1, ret=-100; +uint32_t multiSlsDetector::setBit(uint32_t addr, int n) { + uint32_t ret, ret1; for (int i=0; inumberOfDetectors; ++i) { if (detectors[i]) { ret1=detectors[i]->setBit(addr,n); if(detectors[i]->getErrorMask()) setErrorMask(getErrorMask()|(1<numberOfDetectors; ++i) { if (detectors[i]) { ret1=detectors[i]->clearBit(addr,n); if(detectors[i]->getErrorMask()) setErrorMask(getErrorMask()|(1<31) { std::cout << "Bit number out of Range" << std:: endl; setErrorMask((getErrorMask())|(REGISER_WRITE_READ)); } // normal bit range + //TODO! (Erik) Check for errors! cannot use value since reg is 32bits else { - int val = readRegister(addr); - if (val != -1) { - writeRegister(addr,val | 1<31) { std::cout << "Bit number out of Range" << std:: endl; setErrorMask((getErrorMask())|(REGISER_WRITE_READ)); @@ -2466,10 +2465,8 @@ int slsDetector::clearBit(int addr, int n) { // normal bit range else { - int val = readRegister(addr); - if (val != -1) { - writeRegister(addr,val & ~(1<