mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 10:07:59 +02:00
added patfname command to save the file the last pttern was loaded from (#770)
* added patfname command to save the file the last pttern was loaded from
This commit is contained in:
Binary file not shown.
Binary file not shown.
@ -1375,7 +1375,7 @@ int setTrimbits(int *trimbits) {
|
||||
error = 1;
|
||||
} else {
|
||||
memset(cmess, 0, MAX_STR_LENGTH);
|
||||
error |= loadPattern(cmess, logDEBUG5, pat);
|
||||
error |= loadPattern(cmess, logDEBUG5, pat, "");
|
||||
if (!error)
|
||||
startPattern();
|
||||
free(pat);
|
||||
@ -2827,7 +2827,7 @@ int setChipStatusRegister(int csr) {
|
||||
iret = FAIL;
|
||||
} else {
|
||||
memset(cmess, 0, MAX_STR_LENGTH);
|
||||
iret = loadPattern(cmess, logDEBUG5, pat);
|
||||
iret = loadPattern(cmess, logDEBUG5, pat, "");
|
||||
if (iret == OK) {
|
||||
startPattern();
|
||||
LOG(logINFO, ("CSR is now: 0x%x\n", csr));
|
||||
|
@ -54,8 +54,9 @@ uint64_t getPatternBitMask();
|
||||
#ifdef MYTHEN3D
|
||||
void startPattern();
|
||||
#endif
|
||||
|
||||
int loadPattern(char *mess, enum TLogLevel printLevel, patternParameters *pat);
|
||||
char *getPatternFileName();
|
||||
int loadPattern(char *mess, enum TLogLevel printLevel, patternParameters *pat,
|
||||
char *patfname);
|
||||
int getPattern(char *mess, patternParameters *pat);
|
||||
int loadPatternFile(char *patFname, char *errMessage);
|
||||
|
||||
|
@ -226,6 +226,7 @@ int get_gate_delay_all_gates(int);
|
||||
int get_veto(int);
|
||||
int set_veto(int);
|
||||
int set_pattern(int);
|
||||
int get_pattern_file(int);
|
||||
int get_scan(int);
|
||||
int set_scan(int);
|
||||
int get_scan_error_message(int);
|
||||
|
@ -32,6 +32,8 @@ extern void setU64BitReg(uint64_t value, int aLSB, int aMSB);
|
||||
#define MAX_LEVELS MAX_PATTERN_LEVELS
|
||||
#endif
|
||||
|
||||
char clientPatternfile[MAX_STR_LENGTH];
|
||||
|
||||
void initializePatternAddresses() {
|
||||
LOG(logDEBUG1, ("Setting default Loop and Wait Addresses(0x%x)\n",
|
||||
MAX_PATTERN_LENGTH - 1));
|
||||
@ -747,10 +749,15 @@ void startPattern() {
|
||||
}
|
||||
#endif
|
||||
|
||||
char *getPatternFileName() { return clientPatternfile; }
|
||||
|
||||
int loadPattern(char *message, enum TLogLevel printLevel,
|
||||
patternParameters *pat) {
|
||||
patternParameters *pat, char *patfname) {
|
||||
LOG(logINFOBLUE, ("Loading Pattern from structure\n"));
|
||||
int ret = OK;
|
||||
memset(clientPatternfile, 0, MAX_STR_LENGTH);
|
||||
memcpy(clientPatternfile, patfname, MAX_STR_LENGTH);
|
||||
printf("Client Pattern File:%s\n", clientPatternfile);
|
||||
#ifdef MYTHEN3D
|
||||
trimmingPrint = printLevel;
|
||||
#endif
|
||||
|
@ -397,6 +397,7 @@ void function_table() {
|
||||
flist[F_GET_VETO] = &get_veto;
|
||||
flist[F_SET_VETO] = &set_veto;
|
||||
flist[F_SET_PATTERN] = &set_pattern;
|
||||
flist[F_GET_PATTERN_FILE_NAME] = &get_pattern_file;
|
||||
flist[F_GET_SCAN] = &get_scan;
|
||||
flist[F_SET_SCAN] = &set_scan;
|
||||
flist[F_GET_SCAN_ERROR_MESSAGE] = &get_scan_error_message;
|
||||
@ -7604,6 +7605,8 @@ int set_veto(int file_des) {
|
||||
int set_pattern(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
char args[MAX_STR_LENGTH];
|
||||
memset(args, 0, MAX_STR_LENGTH);
|
||||
|
||||
#if !defined(CHIPTESTBOARDD) && !defined(MYTHEN3D)
|
||||
functionNotImplemented();
|
||||
@ -7617,10 +7620,15 @@ int set_pattern(int file_des) {
|
||||
free(pat);
|
||||
return printSocketReadError();
|
||||
}
|
||||
if (receiveData(file_des, args, MAX_STR_LENGTH, OTHER) < 0) {
|
||||
if (pat != NULL)
|
||||
free(pat);
|
||||
return printSocketReadError();
|
||||
}
|
||||
|
||||
if (Server_VerifyLock() == OK) {
|
||||
LOG(logINFO, ("Setting Pattern from structure\n"));
|
||||
ret = loadPattern(mess, logINFO, pat);
|
||||
LOG(logDEBUG1, ("Setting Pattern from structure\n"));
|
||||
ret = loadPattern(mess, logINFO, pat, args);
|
||||
}
|
||||
if (pat != NULL)
|
||||
free(pat);
|
||||
@ -7629,6 +7637,24 @@ int set_pattern(int file_des) {
|
||||
return Server_SendResult(file_des, INT32, NULL, 0);
|
||||
}
|
||||
|
||||
int get_pattern_file(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
char retvals[MAX_STR_LENGTH];
|
||||
memset(retvals, 0, MAX_STR_LENGTH);
|
||||
|
||||
LOG(logDEBUG1, ("Getting pattern file name\n"));
|
||||
|
||||
#if !defined(CHIPTESTBOARDD) && !defined(MYTHEN3D)
|
||||
functionNotImplemented();
|
||||
#else
|
||||
// get only
|
||||
strcpy(retvals, getPatternFileName());
|
||||
LOG(logDEBUG1, ("pattern file name retval: %s\n", retvals));
|
||||
#endif
|
||||
return Server_SendResult(file_des, OTHER, retvals, sizeof(retvals));
|
||||
}
|
||||
|
||||
int get_pattern(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
|
Reference in New Issue
Block a user