From ecc970bc73f09663b7b092ff64ee0e8d0eaf7598 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 29 May 2018 12:14:46 +0200 Subject: [PATCH] gotthard server: check client api version done --- slsDetectorSoftware/commonFiles/versionAPI.h | 2 +- .../gotthardDetectorServer/gitInfo.txt | 10 ++--- .../gotthardDetectorServer/gitInfoGotthard.h | 8 ++-- .../gotthardDetectorServer_developer | Bin 129380 -> 130236 bytes .../gotthardDetectorServer/server_funcs.c | 40 +++--------------- 5 files changed, 16 insertions(+), 44 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/versionAPI.h b/slsDetectorSoftware/commonFiles/versionAPI.h index 0936bfbaf..9cbf2d4ea 100644 --- a/slsDetectorSoftware/commonFiles/versionAPI.h +++ b/slsDetectorSoftware/commonFiles/versionAPI.h @@ -2,4 +2,4 @@ #define APIRECEIVER 0x180517 #define APIEIGER 0x180523 #define APIJUNGFRAU 0x180523 -#define APIGOTTHARD 0x20170101 +#define APIGOTTHARD 0x180529 diff --git a/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt b/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt index 737050c2c..07dfecd13 100644 --- a/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt +++ b/slsDetectorSoftware/gotthardDetectorServer/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsDetectorSoftware/gotthardDetectorServer URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git -Repsitory UUID: 3f6120628938fb0820908fb82574418039a3b352 -Revision: 230 -Branch: developer +Repsitory UUID: 34b659fa1549f13575012a50183b0ec8f4c82ec4 +Revision: 234 +Branch: gotthardversioning Last Changed Author: Dhanya_Thattil -Last Changed Rev: 3829 -Last Changed Date: 2018-05-22 13:58:08.000000002 +0200 ./mcb_funcs.c +Last Changed Rev: 3849 +Last Changed Date: 2018-05-29 12:09:14.000000002 +0200 ./server_funcs.c diff --git a/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h b/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h index 342884b49..60b7ef2f3 100644 --- a/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h +++ b/slsDetectorSoftware/gotthardDetectorServer/gitInfoGotthard.h @@ -1,6 +1,6 @@ #define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git" -#define GITREPUUID "3f6120628938fb0820908fb82574418039a3b352" +#define GITREPUUID "34b659fa1549f13575012a50183b0ec8f4c82ec4" #define GITAUTH "Dhanya_Thattil" -#define GITREV 0x3829 -#define GITDATE 0x20180522 -#define GITBRANCH "developer" +#define GITREV 0x3849 +#define GITDATE 0x20180529 +#define GITBRANCH "gotthardversioning" diff --git a/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer_developer b/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer_developer index f8472a3ffb53e68df2c3aabad3fd5d46cd7e3a03..4fd60e13d81161c395c3ba544975639cbf0985eb 100755 GIT binary patch delta 54073 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 diff --git a/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c b/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c index 1292a32b9..912c137a1 100755 --- a/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c +++ b/slsDetectorSoftware/gotthardDetectorServer/server_funcs.c @@ -11,6 +11,7 @@ #include "registers_g.h" #include "gitInfoGotthard.h" #include "AD9257.h" // include "commonServerFunctions.h" +#include "versionAPI.h" #define FIFO_DATA_REG_OFF 0x50<<11 #define CONTROL_REG 0x24<<11 @@ -55,8 +56,6 @@ char mess[MAX_STR_LENGTH]; int digitalTestBit = 0; -int isControlServer = 0; - int init_detector( int b) { @@ -72,7 +71,6 @@ int init_detector( int b) { } if (b) { - isControlServer = 1; #ifdef PROPIXD printf("***This is a PROPIX detector***\n"); #else @@ -596,6 +594,8 @@ int get_id(int file_des) { case DETECTOR_SOFTWARE_VERSION: retval = (GITDATE & 0xFFFFFF); break; + case CLIENT_SOFTWARE_API_VERSION: + return APIGOTTHARD; default: printf("Required unknown id %d \n", arg); ret=FAIL; @@ -3165,41 +3165,13 @@ int check_version(int file_des) { // execute action -#ifdef MCB_FUNCS - - // check software- firmware compatibility and basic tests - if (isControlServer) { -#ifdef VERBOSE - printf("Checking software-firmware compatibility and basic test result\n"); -#endif - // check if firmware check is done - if (!isFirmwareCheckDone()) { - usleep(3 * 1000 * 1000); - if (!isFirmwareCheckDone()) { - ret = FAIL; - strcpy(mess,"Firmware Software Compatibility Check (Server Initialization) " - "still not done done in server. Unexpected.\n"); - cprintf(RED, "Warning: %s", mess); - } - } - // check firmware check result - if (ret == OK) { - char* firmware_message = NULL; - if (getFirmwareCheckResult(&firmware_message) == FAIL) { - ret = FAIL; - strcpy(mess, firmware_message); - cprintf(RED, "Warning: %s", mess); - } - } - } - if (ret == OK) { #ifdef VERBOSE printf("Checking versioning compatibility with value %d\n",arg); #endif int64_t client_requiredVersion = arg; - int64_t det_apiVersion = getDetectorId(CLIENT_SOFTWARE_API_VERSION); - int64_t det_version = getDetectorId(DETECTOR_SOFTWARE_VERSION); + int64_t det_apiVersion = APIGOTTHARD; + int64_t det_version = (GITDATE & 0xFFFFFF); // old client if (det_apiVersion > client_requiredVersion) { @@ -3221,7 +3193,7 @@ int check_version(int file_des) { cprintf(RED, "Warning: %s", mess); } } -#endif + // ret could be swapped during sendData