slsReceiver, slsDetector, eiger and jungfrau server: client checks firmware and software an dreceiver compatibility for each time shared memory is cleaned up

This commit is contained in:
2018-05-28 19:11:34 +02:00
parent 4d4e4a4ce7
commit cf8b0de433
36 changed files with 633 additions and 105 deletions

View File

@ -21,7 +21,8 @@ receiverInterface::~receiverInterface(){}
int receiverInterface::sendString(int fnum, char retval[], char arg[]){
int ret = slsDetectorDefs::FAIL;
char mess[MAX_STR_LENGTH] = "";
char mess[MAX_STR_LENGTH];
memset(mess, 0, MAX_STR_LENGTH);
dataSocket->SendDataOnly(&fnum,sizeof(fnum));
dataSocket->SendDataOnly(arg,MAX_STR_LENGTH);
@ -30,7 +31,8 @@ int receiverInterface::sendString(int fnum, char retval[], char arg[]){
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
cprintf(RED, "Receiver returned error: %s", mess);
}
dataSocket->ReceiveDataOnly(retval,MAX_STR_LENGTH);
if(strstr(mess,"Unrecognized Function")==NULL)
dataSocket->ReceiveDataOnly(retval,MAX_STR_LENGTH);
return ret;
}
@ -40,7 +42,8 @@ int receiverInterface::sendString(int fnum, char retval[], char arg[]){
int receiverInterface::sendUDPDetails(int fnum, char retval[], char arg[3][MAX_STR_LENGTH]){
char args[3][MAX_STR_LENGTH];
int ret = slsDetectorDefs::FAIL;
char mess[MAX_STR_LENGTH] = "";
char mess[MAX_STR_LENGTH];
memset(mess, 0, MAX_STR_LENGTH);
dataSocket->SendDataOnly(&fnum,sizeof(fnum));
dataSocket->SendDataOnly(arg,sizeof(args));
@ -58,7 +61,8 @@ int receiverInterface::sendUDPDetails(int fnum, char retval[], char arg[3][MAX_S
int receiverInterface::sendInt(int fnum, int &retval, int arg){
int ret = slsDetectorDefs::FAIL;
char mess[MAX_STR_LENGTH] = "";
char mess[MAX_STR_LENGTH];
memset(mess, 0, MAX_STR_LENGTH);
dataSocket->SendDataOnly(&fnum,sizeof(fnum));
dataSocket->SendDataOnly(&arg,sizeof(arg));
@ -67,7 +71,8 @@ int receiverInterface::sendInt(int fnum, int &retval, int arg){
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
cprintf(RED, "Receiver returned error: %s", mess);
}
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
if(strstr(mess,"Unrecognized Function")==NULL)
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
return ret;
}
@ -76,7 +81,8 @@ int receiverInterface::sendInt(int fnum, int &retval, int arg){
int receiverInterface::getInt(int fnum, int &retval){
int ret = slsDetectorDefs::FAIL;
char mess[MAX_STR_LENGTH] = "";
char mess[MAX_STR_LENGTH];
memset(mess, 0, MAX_STR_LENGTH);
dataSocket->SendDataOnly(&fnum,sizeof(fnum));
dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
@ -84,7 +90,8 @@ int receiverInterface::getInt(int fnum, int &retval){
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
cprintf(RED, "Receiver returned error: %s", mess);
}
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
if(strstr(mess,"Unrecognized Function")==NULL)
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
return ret;
}
@ -93,7 +100,8 @@ int receiverInterface::getInt(int fnum, int &retval){
int receiverInterface::sendInt(int fnum, int64_t &retval, int64_t arg){
int ret = slsDetectorDefs::FAIL;
char mess[MAX_STR_LENGTH] = "";
char mess[MAX_STR_LENGTH];
memset(mess, 0, MAX_STR_LENGTH);
dataSocket->SendDataOnly(&fnum,sizeof(fnum));
dataSocket->SendDataOnly(&arg,sizeof(arg));
@ -102,7 +110,8 @@ int receiverInterface::sendInt(int fnum, int64_t &retval, int64_t arg){
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
cprintf(RED, "Receiver returned error: %s", mess);
}
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
if(strstr(mess,"Unrecognized Function")==NULL)
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
return ret;
}
@ -111,16 +120,18 @@ int receiverInterface::sendInt(int fnum, int64_t &retval, int64_t arg){
int receiverInterface::sendIntArray(int fnum, int64_t &retval, int64_t arg[2], char mess[]){
int64_t args[2];
char messs[MAX_STR_LENGTH];
int ret = slsDetectorDefs::FAIL;
memset(mess, 0, MAX_STR_LENGTH);
dataSocket->SendDataOnly(&fnum,sizeof(fnum));
dataSocket->SendDataOnly(arg,sizeof(args));
dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
if (ret==slsDetectorDefs::FAIL){
dataSocket->ReceiveDataOnly(mess,sizeof(messs));
dataSocket->ReceiveDataOnly(mess,MAX_STR_LENGTH);
cprintf(RED, "Receiver returned error: %s", mess);
}
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
if(strstr(mess,"Unrecognized Function")==NULL)
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
return ret;
}
@ -130,7 +141,9 @@ int receiverInterface::sendIntArray(int fnum, int64_t &retval, int64_t arg[2], c
int receiverInterface::sendIntArray(int fnum, int &retval, int arg[2]){
int args[2];
int ret = slsDetectorDefs::FAIL;
char mess[MAX_STR_LENGTH] = "";
char mess[MAX_STR_LENGTH];
memset(mess, 0, MAX_STR_LENGTH);
dataSocket->SendDataOnly(&fnum,sizeof(fnum));
dataSocket->SendDataOnly(arg,sizeof(args));
dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
@ -138,7 +151,8 @@ int receiverInterface::sendIntArray(int fnum, int &retval, int arg[2]){
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
cprintf(RED, "Receiver returned error: %s", mess);
}
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
if(strstr(mess,"Unrecognized Function")==NULL)
dataSocket->ReceiveDataOnly(&retval,sizeof(retval));
return ret;
}
@ -170,6 +184,7 @@ int receiverInterface::getLastClientIP(int fnum, char retval[]){
int receiverInterface::executeFunction(int fnum,char mess[]){
int ret = slsDetectorDefs::FAIL;
memset(mess, 0, MAX_STR_LENGTH);
dataSocket->SendDataOnly(&fnum,sizeof(fnum));
dataSocket->ReceiveDataOnly(&ret,sizeof(ret));