all loading pattern so far takes in logDEBUG5 print level as it is at detector start up. commands to call loadpattern can call logINFO level

This commit is contained in:
maliakal_d 2021-05-26 12:59:19 +02:00
parent 89898beced
commit 3079e41c3b
3 changed files with 82 additions and 78 deletions

View File

@ -1112,6 +1112,7 @@ int setModule(sls_detector_module myMod, char *mess) {
} }
int setTrimbits(int *trimbits) { int setTrimbits(int *trimbits) {
LOG(logINFOBLUE, ("Setting trimbits\n"));
// remember previous run clock // remember previous run clock
uint32_t prevRunClk = clkDivider[SYSTEM_C0]; uint32_t prevRunClk = clkDivider[SYSTEM_C0];
patternParameters *pat = NULL; patternParameters *pat = NULL;
@ -1128,7 +1129,7 @@ int setTrimbits(int *trimbits) {
pat = setChannelRegisterChip(ichip, channelMask, pat = setChannelRegisterChip(ichip, channelMask,
trimbits); // change here!!! trimbits); // change here!!!
if (pat) { if (pat) {
error |= loadPattern(pat); error |= loadPattern(logDEBUG5, pat);
if (error == 0) if (error == 0)
startPattern(); startPattern();
free(pat); free(pat);
@ -2645,7 +2646,7 @@ int setChipStatusRegister(int csr) {
pat = setChipStatusRegisterPattern(csr); pat = setChipStatusRegisterPattern(csr);
if (pat) { if (pat) {
error |= loadPattern(pat); error |= loadPattern(logDEBUG5, pat);
if (!error) if (!error)
startPattern(); startPattern();
free(pat); free(pat);

View File

@ -1,6 +1,7 @@
#ifndef LOADPATTERN_H #ifndef LOADPATTERN_H
#define LOADPATTERN_H #define LOADPATTERN_H
#include "Pattern.h" #include "Pattern.h"
#include "clogger.h"
int loadPattern(patternParameters *pat); int loadPattern(enum TLogLevel printLevel, patternParameters *pat);
#endif #endif

View File

@ -1,7 +1,7 @@
#include "readDefaultPattern.h"
#include "loadPattern.h" #include "loadPattern.h"
#include "clogger.h" #include "clogger.h"
#include "common.h" #include "common.h"
#include "readDefaultPattern.h"
#include "sls/ansi.h" #include "sls/ansi.h"
#include "sls/sls_detector_defs.h" #include "sls/sls_detector_defs.h"
#include "slsDetectorServer_defs.h" #include "slsDetectorServer_defs.h"
@ -14,6 +14,7 @@
#include <unistd.h> #include <unistd.h>
extern char initErrorMessage[MAX_STR_LENGTH]; extern char initErrorMessage[MAX_STR_LENGTH];
extern enum TLogLevel trimmingPrint;
#ifndef MYTHEN3D #ifndef MYTHEN3D
extern uint64_t writePatternIOControl(uint64_t word); extern uint64_t writePatternIOControl(uint64_t word);
@ -24,13 +25,14 @@ extern uint64_t setPatternWaitTime(int level, uint64_t t);
extern void setPatternLoop(int level, int *startAddr, int *stopAddr, extern void setPatternLoop(int level, int *startAddr, int *stopAddr,
int *nLoop); int *nLoop);
int loadPattern(patternParameters *pat) { int loadPattern(enum TLogLevel printLevel, patternParameters *pat) {
LOG(logINFOBLUE, ("Loading Pattern\n"));
int ret=OK; int ret = OK;
trimmingPrint = printLevel;
for (int i = 0; i < MAX_PATTERN_LENGTH; ++i) { for (int i = 0; i < MAX_PATTERN_LENGTH; ++i) {
if ((i % 10 == 0) && pat->word[i] != 0) { if ((i % 10 == 0) && pat->word[i] != 0) {
LOG(logINFO, ("Setting Pattern Word (addr:0x%x, word:0x%llx)\n", LOG(logDEBUG5, ("Setting Pattern Word (addr:0x%x, word:0x%llx)\n",
i, (long long int)pat->word[i])); i, (long long int)pat->word[i]));
} }
writePatternWord(i, pat->word[i]); writePatternWord(i, pat->word[i]);
@ -38,7 +40,7 @@ int loadPattern(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) {
@ -46,9 +48,9 @@ int loadPattern(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", HEX); // "set pattern Limits start address", HEX);
//validate(pat->limits[1], retval1, // validate(pat->limits[1], retval1,
// "set pattern Limits start address", HEX); // "set pattern Limits start address", HEX);
} }
uint64_t retval64; uint64_t retval64;
@ -64,19 +66,19 @@ int loadPattern(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;
} }
@ -84,7 +86,7 @@ int loadPattern(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;
} }
@ -93,13 +95,13 @@ int loadPattern(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;
} }
} }
} }
trimmingPrint = logINFO;
return ret; return ret;
} }