diff --git a/slsDetectorServers/slsDetectorServer/include/common.h b/slsDetectorServers/slsDetectorServer/include/common.h index 1f2ebbe42..ceef89f5f 100644 --- a/slsDetectorServers/slsDetectorServer/include/common.h +++ b/slsDetectorServers/slsDetectorServer/include/common.h @@ -1,8 +1,11 @@ #pragma once +#include // int64_t #include #include +enum numberMode { DEC, HEX }; + /** * Convert a value from a range to a different range (eg voltage to dac or vice * versa) @@ -19,4 +22,8 @@ int ConvertToDifferentRange(int inputMin, int inputMax, int outputMin, int getAbsPath(char *buf, size_t bufSize, char *fname); -int GetTimeFromString(char *buf, time_t *result); \ No newline at end of file +int GetTimeFromString(char *buf, time_t *result); + +void validate(int arg, int retval, char *modename, enum numberMode nummode); +void validate64(int64_t arg, int64_t retval, char *modename, + enum numberMode nummode); diff --git a/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h b/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h index 6aa5b992d..ffa18b91f 100644 --- a/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h +++ b/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h @@ -1,8 +1,8 @@ #pragma once #include "clogger.h" +#include "common.h" #include "sls/sls_detector_defs.h" -enum numberMode { DEC, HEX }; #define GOODBYE (-200) #define REBOOT (-400) @@ -14,9 +14,6 @@ const char *getRetName(); void function_table(); void functionNotImplemented(); void modeNotImplemented(char *modename, int mode); -void validate(int arg, int retval, char *modename, enum numberMode nummode); -void validate64(int64_t arg, int64_t retval, char *modename, - enum numberMode nummode); int executeCommand(char *command, char *result, enum TLogLevel level); int M_nofunc(int); #if defined(MYTHEN3D) || defined(GOTTHARD2D) diff --git a/slsDetectorServers/slsDetectorServer/src/common.c b/slsDetectorServers/slsDetectorServer/src/common.c index 8ab9dffe1..99748dff9 100644 --- a/slsDetectorServers/slsDetectorServer/src/common.c +++ b/slsDetectorServers/slsDetectorServer/src/common.c @@ -7,6 +7,9 @@ #include #include // readlink +extern int ret; +extern char mess[MAX_STR_LENGTH]; + int ConvertToDifferentRange(int inputMin, int inputMax, int outputMin, int outputMax, int inputValue, int *outputValue) { LOG(logDEBUG1, (" Input Value: %d (Input:(%d - %d), Output:(%d - %d))\n", @@ -69,4 +72,33 @@ int GetTimeFromString(char *buf, time_t *result) { } *result = mktime(&t); return OK; +} + +void validate(int arg, int retval, char *modename, enum numberMode nummode) { + if (ret == OK && arg != GET_FLAG && retval != arg) { + ret = FAIL; + if (nummode == HEX) + sprintf(mess, "Could not %s. Set 0x%x, but read 0x%x\n", modename, + arg, retval); + else + sprintf(mess, "Could not %s. Set %d, but read %d\n", modename, arg, + retval); + LOG(logERROR, (mess)); + } +} + +void validate64(int64_t arg, int64_t retval, char *modename, + enum numberMode nummode) { + if (ret == OK && arg != GET_FLAG && retval != arg) { + ret = FAIL; + if (nummode == HEX) + sprintf(mess, "Could not %s. Set 0x%llx, but read 0x%llx\n", + modename, (long long unsigned int)arg, + (long long unsigned int)retval); + else + sprintf(mess, "Could not %s. Set %lld, but read %lld\n", modename, + (long long unsigned int)arg, + (long long unsigned int)retval); + LOG(logERROR, (mess)); + } } \ No newline at end of file diff --git a/slsDetectorServers/slsDetectorServer/src/loadPattern.c b/slsDetectorServers/slsDetectorServer/src/loadPattern.c index f26a92570..f11dbc6d1 100644 --- a/slsDetectorServers/slsDetectorServer/src/loadPattern.c +++ b/slsDetectorServers/slsDetectorServer/src/loadPattern.c @@ -40,7 +40,7 @@ int loadPattern(enum TLogLevel printLevel, patternParameters *pat) { #ifndef MYTHEN3D if (ret == OK) { uint64_t retval64 = writePatternIOControl(pat->ioctrl); - // validate64(pat->ioctrl, retval64, "set pattern IO Control", HEX); + validate64(pat->ioctrl, retval64, "set pattern IO Control", HEX); } #endif if (ret == OK) { @@ -48,10 +48,10 @@ int loadPattern(enum TLogLevel printLevel, patternParameters *pat) { int retval0 = pat->limits[0]; int retval1 = pat->limits[1]; setPatternLoop(-1, &retval0, &retval1, &numLoops); - // validate(pat->limits[0], retval0, - // "set pattern Limits start address", HEX); - // validate(pat->limits[1], retval1, - // "set pattern Limits start address", HEX); + validate(pat->limits[0], retval0, "set pattern Limits start address", + HEX); + validate(pat->limits[1], retval1, "set pattern Limits start address", + HEX); } uint64_t retval64; if (ret == OK) { @@ -66,19 +66,19 @@ int loadPattern(enum TLogLevel printLevel, patternParameters *pat) { setPatternLoop(i, &retval0, &retval1, &numLoops); memset(msg, 0, sizeof(msg)); sprintf(msg, "set pattern Loop %d start address", i); - // validate(pat->loop[i * 2 + 0], retval0, msg, HEX); + validate(pat->loop[i * 2 + 0], retval0, msg, HEX); if (ret == FAIL) { break; } memset(msg, 0, sizeof(msg)); sprintf(msg, "set pattern Loop %d stop address", i); - // validate(pat->loop[i * 2 + 1], retval1, msg, HEX); + validate(pat->loop[i * 2 + 1], retval1, msg, HEX); if (ret == FAIL) { break; } memset(msg, 0, sizeof(msg)); sprintf(msg, "set pattern Loop %d num loops", i); - // validate(pat->nloop[i], numLoops, msg, HEX); + validate(pat->nloop[i], numLoops, msg, HEX); if (ret == FAIL) { break; } @@ -86,7 +86,7 @@ int loadPattern(enum TLogLevel printLevel, patternParameters *pat) { memset(msg, 0, sizeof(msg)); sprintf(msg, "set pattern Loop %d wait address", i); retval0 = setPatternWaitAddress(i, pat->wait[i]); - // validate(pat->wait[i], retval0, msg, HEX); + validate(pat->wait[i], retval0, msg, HEX); if (ret == FAIL) { break; } @@ -95,7 +95,7 @@ int loadPattern(enum TLogLevel printLevel, patternParameters *pat) { memset(msg, 0, sizeof(msg)); sprintf(msg, "set pattern Loop %d wait time", i); retval64 = setPatternWaitTime(i, pat->waittime[i]); - // validate64(pat->waittime[i], retval64, msg, HEX); + validate64(pat->waittime[i], retval64, msg, HEX); if (retval64 == FAIL) { break; } diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index b73621f6b..8d5445187 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -400,35 +400,6 @@ void modeNotImplemented(char *modename, int mode) { LOG(logERROR, (mess)); } -void validate(int arg, int retval, char *modename, enum numberMode nummode) { - if (ret == OK && arg != GET_FLAG && retval != arg) { - ret = FAIL; - if (nummode == HEX) - sprintf(mess, "Could not %s. Set 0x%x, but read 0x%x\n", modename, - arg, retval); - else - sprintf(mess, "Could not %s. Set %d, but read %d\n", modename, arg, - retval); - LOG(logERROR, (mess)); - } -} - -void validate64(int64_t arg, int64_t retval, char *modename, - enum numberMode nummode) { - if (ret == OK && arg != GET_FLAG && retval != arg) { - ret = FAIL; - if (nummode == HEX) - sprintf(mess, "Could not %s. Set 0x%llx, but read 0x%llx\n", - modename, (long long unsigned int)arg, - (long long unsigned int)retval); - else - sprintf(mess, "Could not %s. Set %lld, but read %lld\n", modename, - (long long unsigned int)arg, - (long long unsigned int)retval); - LOG(logERROR, (mess)); - } -} - int executeCommand(char *command, char *result, enum TLogLevel level) { const size_t tempsize = 256; char temp[tempsize]; @@ -1238,8 +1209,8 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) { ret = OK; } else { ret = FAIL; - sprintf(mess, "Setting dac %d : wrote %d but read %d\n", - serverDacIndex, val, retval); + sprintf(mess, "Setting dac %d : wrote %d but read %d\n", + serverDacIndex, val, retval); LOG(logERROR, (mess)); } }