eiger server: interrupt subframe, quad change flipping, registers set left and right separately

This commit is contained in:
2019-07-29 15:19:46 +02:00
parent 58e6338f9c
commit d981e1b8e5
18 changed files with 325 additions and 54 deletions

View File

@ -9761,6 +9761,9 @@ int slsDetector::setQuad(int val) {
int ret = FAIL;
int retval = -1;
#ifdef VERBOSE
std::cout<<"Setting Quad to " <<val << std::endl;
#endif
// set row column header in detector
if (val >= 0) {
if (thisDetector->onlineFlag==ONLINE_FLAG) {
@ -9803,3 +9806,32 @@ int slsDetector::setQuad(int val) {
}
return retval;
}
int slsDetector::setInterruptSubframe(int val) {
int fnum = F_INTERRUPT_SUBFRAME;
int ret = FAIL;
int retval = -1;
#ifdef VERBOSE
std::cout<<"Setting Interrupt Sub frame to " <<val << std::endl;
#endif
if (thisDetector->onlineFlag==ONLINE_FLAG) {
if (connectControl() == OK){
controlSocket->SendDataOnly(&fnum,sizeof(fnum));
controlSocket->SendDataOnly(&val,sizeof(val));
controlSocket->ReceiveDataOnly(&ret,sizeof(ret));
if (ret==FAIL){
char mess[MAX_STR_LENGTH] = {};
controlSocket->ReceiveDataOnly(mess,sizeof(mess));
std::cout<< "Detector returned error: " << mess << std::endl;
setErrorMask((getErrorMask())|(SOME_ERROR));
}
controlSocket->ReceiveDataOnly(&retval,sizeof(retval));
disconnectControl();
if (ret==FORCE_UPDATE)
updateDetector();
}
}
return retval;
}