mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 15:20:02 +02:00
wip
This commit is contained in:
parent
26acde979f
commit
a9f892483d
@ -1,8 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdint.h> // int64_t
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
enum numberMode { DEC, HEX };
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert a value from a range to a different range (eg voltage to dac or vice
|
* Convert a value from a range to a different range (eg voltage to dac or vice
|
||||||
* versa)
|
* versa)
|
||||||
@ -20,3 +23,7 @@ int ConvertToDifferentRange(int inputMin, int inputMax, int outputMin,
|
|||||||
int getAbsPath(char *buf, size_t bufSize, char *fname);
|
int getAbsPath(char *buf, size_t bufSize, char *fname);
|
||||||
|
|
||||||
int GetTimeFromString(char *buf, time_t *result);
|
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);
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "clogger.h"
|
#include "clogger.h"
|
||||||
|
#include "common.h"
|
||||||
#include "sls/sls_detector_defs.h"
|
#include "sls/sls_detector_defs.h"
|
||||||
|
|
||||||
enum numberMode { DEC, HEX };
|
|
||||||
#define GOODBYE (-200)
|
#define GOODBYE (-200)
|
||||||
#define REBOOT (-400)
|
#define REBOOT (-400)
|
||||||
|
|
||||||
@ -14,9 +14,6 @@ const char *getRetName();
|
|||||||
void function_table();
|
void function_table();
|
||||||
void functionNotImplemented();
|
void functionNotImplemented();
|
||||||
void modeNotImplemented(char *modename, int mode);
|
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 executeCommand(char *command, char *result, enum TLogLevel level);
|
||||||
int M_nofunc(int);
|
int M_nofunc(int);
|
||||||
#if defined(MYTHEN3D) || defined(GOTTHARD2D)
|
#if defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||||
|
@ -7,6 +7,9 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h> // readlink
|
#include <unistd.h> // readlink
|
||||||
|
|
||||||
|
extern int ret;
|
||||||
|
extern char mess[MAX_STR_LENGTH];
|
||||||
|
|
||||||
int ConvertToDifferentRange(int inputMin, int inputMax, int outputMin,
|
int ConvertToDifferentRange(int inputMin, int inputMax, int outputMin,
|
||||||
int outputMax, int inputValue, int *outputValue) {
|
int outputMax, int inputValue, int *outputValue) {
|
||||||
LOG(logDEBUG1, (" Input Value: %d (Input:(%d - %d), Output:(%d - %d))\n",
|
LOG(logDEBUG1, (" Input Value: %d (Input:(%d - %d), Output:(%d - %d))\n",
|
||||||
@ -70,3 +73,32 @@ int GetTimeFromString(char *buf, time_t *result) {
|
|||||||
*result = mktime(&t);
|
*result = mktime(&t);
|
||||||
return OK;
|
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));
|
||||||
|
}
|
||||||
|
}
|
@ -40,7 +40,7 @@ int loadPattern(enum TLogLevel printLevel, patternParameters *pat) {
|
|||||||
#ifndef MYTHEN3D
|
#ifndef MYTHEN3D
|
||||||
if (ret == OK) {
|
if (ret == OK) {
|
||||||
uint64_t retval64 = writePatternIOControl(pat->ioctrl);
|
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
|
#endif
|
||||||
if (ret == OK) {
|
if (ret == OK) {
|
||||||
@ -48,10 +48,10 @@ int loadPattern(enum TLogLevel printLevel, patternParameters *pat) {
|
|||||||
int retval0 = pat->limits[0];
|
int retval0 = pat->limits[0];
|
||||||
int retval1 = pat->limits[1];
|
int retval1 = pat->limits[1];
|
||||||
setPatternLoop(-1, &retval0, &retval1, &numLoops);
|
setPatternLoop(-1, &retval0, &retval1, &numLoops);
|
||||||
// validate(pat->limits[0], retval0,
|
validate(pat->limits[0], retval0, "set pattern Limits start address",
|
||||||
// "set pattern Limits start address", HEX);
|
HEX);
|
||||||
// validate(pat->limits[1], retval1,
|
validate(pat->limits[1], retval1, "set pattern Limits start address",
|
||||||
// "set pattern Limits start address", HEX);
|
HEX);
|
||||||
}
|
}
|
||||||
uint64_t retval64;
|
uint64_t retval64;
|
||||||
if (ret == OK) {
|
if (ret == OK) {
|
||||||
@ -66,19 +66,19 @@ int loadPattern(enum TLogLevel printLevel, patternParameters *pat) {
|
|||||||
setPatternLoop(i, &retval0, &retval1, &numLoops);
|
setPatternLoop(i, &retval0, &retval1, &numLoops);
|
||||||
memset(msg, 0, sizeof(msg));
|
memset(msg, 0, sizeof(msg));
|
||||||
sprintf(msg, "set pattern Loop %d start address", i);
|
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) {
|
if (ret == FAIL) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
memset(msg, 0, sizeof(msg));
|
memset(msg, 0, sizeof(msg));
|
||||||
sprintf(msg, "set pattern Loop %d stop address", i);
|
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) {
|
if (ret == FAIL) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
memset(msg, 0, sizeof(msg));
|
memset(msg, 0, sizeof(msg));
|
||||||
sprintf(msg, "set pattern Loop %d num loops", i);
|
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) {
|
if (ret == FAIL) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@ int loadPattern(enum TLogLevel printLevel, patternParameters *pat) {
|
|||||||
memset(msg, 0, sizeof(msg));
|
memset(msg, 0, sizeof(msg));
|
||||||
sprintf(msg, "set pattern Loop %d wait address", i);
|
sprintf(msg, "set pattern Loop %d wait address", i);
|
||||||
retval0 = setPatternWaitAddress(i, pat->wait[i]);
|
retval0 = setPatternWaitAddress(i, pat->wait[i]);
|
||||||
// validate(pat->wait[i], retval0, msg, HEX);
|
validate(pat->wait[i], retval0, msg, HEX);
|
||||||
if (ret == FAIL) {
|
if (ret == FAIL) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -95,7 +95,7 @@ int loadPattern(enum TLogLevel printLevel, patternParameters *pat) {
|
|||||||
memset(msg, 0, sizeof(msg));
|
memset(msg, 0, sizeof(msg));
|
||||||
sprintf(msg, "set pattern Loop %d wait time", i);
|
sprintf(msg, "set pattern Loop %d wait time", i);
|
||||||
retval64 = setPatternWaitTime(i, pat->waittime[i]);
|
retval64 = setPatternWaitTime(i, pat->waittime[i]);
|
||||||
// validate64(pat->waittime[i], retval64, msg, HEX);
|
validate64(pat->waittime[i], retval64, msg, HEX);
|
||||||
if (retval64 == FAIL) {
|
if (retval64 == FAIL) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -400,35 +400,6 @@ void modeNotImplemented(char *modename, int mode) {
|
|||||||
LOG(logERROR, (mess));
|
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) {
|
int executeCommand(char *command, char *result, enum TLogLevel level) {
|
||||||
const size_t tempsize = 256;
|
const size_t tempsize = 256;
|
||||||
char temp[tempsize];
|
char temp[tempsize];
|
||||||
@ -1238,8 +1209,8 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) {
|
|||||||
ret = OK;
|
ret = OK;
|
||||||
} else {
|
} else {
|
||||||
ret = FAIL;
|
ret = FAIL;
|
||||||
sprintf(mess, "Setting dac %d : wrote %d but read %d\n",
|
sprintf(mess, "Setting dac %d : wrote %d but read %d\n",
|
||||||
serverDacIndex, val, retval);
|
serverDacIndex, val, retval);
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user