remove printouts during trimming

This commit is contained in:
maliakal_d 2020-05-07 17:07:44 +02:00
parent 7f42f5cadb
commit 66d30cb2f1
2 changed files with 51 additions and 73 deletions

View File

@ -5,7 +5,7 @@ support_lib = ../../slsSupportLib/include/
CROSS = nios2-buildroot-linux-gnu- CROSS = nios2-buildroot-linux-gnu-
CC = $(CROSS)gcc CC = $(CROSS)gcc
CFLAGS += -Wall -DMYTHEN3D -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir) -DDEBUG1 #-DVERBOSEI #-DVERBOSE CFLAGS += -Wall -DMYTHEN3D -DSTOP_SERVER -I$(main_inc) -I$(support_lib) -I$(current_dir) #-DDEBUG1 #-DVERBOSEI #-DVERBOSE
LDLIBS += -lm LDLIBS += -lm
PROGS = mythen3DetectorServer PROGS = mythen3DetectorServer
DESTDIR ?= bin DESTDIR ?= bin

View File

@ -43,7 +43,7 @@ sls_detector_module *detectorModules = NULL;
int *detectorChans = NULL; int *detectorChans = NULL;
int *detectorDacs = NULL; int *detectorDacs = NULL;
int trimming = 0; enum TLogLevel trimmingPrint = logINFO;
int32_t clkPhase[NUM_CLOCKS] = {}; int32_t clkPhase[NUM_CLOCKS] = {};
uint32_t clkDivider[NUM_CLOCKS] = {}; uint32_t clkDivider[NUM_CLOCKS] = {};
@ -389,7 +389,7 @@ void setupDetector() {
clkDivider[SYSTEM_C2] = DEFAULT_SYSTEM_C2; clkDivider[SYSTEM_C2] = DEFAULT_SYSTEM_C2;
highvoltage = 0; highvoltage = 0;
trimming = 0; trimmingPrint = logINFO;
{ {
int i; int i;
for (i = 0; i < NUM_CLOCKS; ++i) { for (i = 0; i < NUM_CLOCKS; ++i) {
@ -611,7 +611,7 @@ int setTrimbits(int *trimbits) {
} }
} }
LOG(logINFO, ("Trimbits validated\n")); LOG(logINFO, ("Trimbits validated\n"));
trimming = 1; trimmingPrint = logDEBUG5;
uint64_t patword = 0; uint64_t patword = 0;
int iaddr = 0; int iaddr = 0;
@ -707,7 +707,7 @@ int setTrimbits(int *trimbits) {
if (iaddr >= MAX_PATTERN_LENGTH) { if (iaddr >= MAX_PATTERN_LENGTH) {
LOG(logERROR, ("Addr 0x%x is past max_address_length 0x%x!\n", LOG(logERROR, ("Addr 0x%x is past max_address_length 0x%x!\n",
iaddr, MAX_PATTERN_LENGTH)); iaddr, MAX_PATTERN_LENGTH));
trimming = 0; trimmingPrint = logINFO;
return FAIL; return FAIL;
} }
@ -737,7 +737,7 @@ int setTrimbits(int *trimbits) {
for (ichan = 0; ichan < NCHAN; ++ichan) { for (ichan = 0; ichan < NCHAN; ++ichan) {
detectorChans[ichan] = trimbits[ichan]; detectorChans[ichan] = trimbits[ichan];
} }
trimming = 0; trimmingPrint = logINFO;
return OK; return OK;
} }
@ -1203,7 +1203,7 @@ uint64_t readPatternWord(int addr) {
return -1; return -1;
} }
LOG(logINFO, (" Reading Pattern Word (addr:0x%x)\n", addr)); LOG(trimmingPrint, (" Reading Pattern Word (addr:0x%x)\n", addr));
uint32_t reg_lsb = uint32_t reg_lsb =
PATTERN_STEP0_LSB_REG + PATTERN_STEP0_LSB_REG +
addr * REG_OFFSET * 2; // the first word in RAM as base plus the offset addr * REG_OFFSET * 2; // the first word in RAM as base plus the offset
@ -1220,21 +1220,19 @@ uint64_t readPatternWord(int addr) {
uint64_t writePatternWord(int addr, uint64_t word) { uint64_t writePatternWord(int addr, uint64_t word) {
if (!trimming) { // get
// get if ((int64_t)word == -1)
if ((int64_t)word == -1) return readPatternWord(addr);
return readPatternWord(addr);
// error (handled in tcp) // error (handled in tcp)
if (addr < 0 || addr >= MAX_PATTERN_LENGTH) { if (addr < 0 || addr >= MAX_PATTERN_LENGTH) {
LOG(logERROR, ("Cannot set Pattern - Word. Invalid addr 0x%x. " LOG(logERROR, ("Cannot set Pattern - Word. Invalid addr 0x%x. "
"Should be between 0 and 0x%x\n", "Should be between 0 and 0x%x\n",
addr, MAX_PATTERN_LENGTH)); addr, MAX_PATTERN_LENGTH));
return -1; return -1;
}
LOG(logINFO, ("Setting Pattern Word (addr:0x%x, word:0x%llx)\n", addr,
(long long int)word));
} }
LOG(trimmingPrint, ("Setting Pattern Word (addr:0x%x, word:0x%llx)\n", addr,
(long long int)word));
// write word // write word
uint32_t reg_lsb = uint32_t reg_lsb =
@ -1244,25 +1242,18 @@ uint64_t writePatternWord(int addr, uint64_t word) {
uint32_t reg_msb = PATTERN_STEP0_MSB_REG + addr * REG_OFFSET * 2; uint32_t reg_msb = PATTERN_STEP0_MSB_REG + addr * REG_OFFSET * 2;
set64BitReg(word, reg_lsb, reg_msb); set64BitReg(word, reg_lsb, reg_msb);
if (!trimming) { LOG(logDEBUG1, (" Wrote word. PatternIn Reg: 0x%llx\n",
LOG(logDEBUG1, (" Wrote word. PatternIn Reg: 0x%llx\n", get64BitReg(reg_lsb, reg_msb)));
get64BitReg(reg_lsb, reg_msb))); return readPatternWord(addr);
return readPatternWord(addr);
} else {
return word;
}
} }
int setPatternWaitAddress(int level, int addr) { int setPatternWaitAddress(int level, int addr) {
if (!trimming) { // error (handled in tcp)
// error (handled in tcp) if (addr >= MAX_PATTERN_LENGTH) {
if (addr >= MAX_PATTERN_LENGTH) { LOG(logERROR, ("Cannot set Pattern Wait Address. Invalid addr 0x%x. "
LOG(logERROR, "Should be between 0 and 0x%x\n",
("Cannot set Pattern Wait Address. Invalid addr 0x%x. " addr, MAX_PATTERN_LENGTH));
"Should be between 0 and 0x%x\n", return -1;
addr, MAX_PATTERN_LENGTH));
return -1;
}
} }
uint32_t reg = 0; uint32_t reg = 0;
@ -1294,23 +1285,17 @@ int setPatternWaitAddress(int level, int addr) {
// set // set
if (addr >= 0) { if (addr >= 0) {
if (!trimming) { LOG(trimmingPrint,
LOG(logINFO, ("Setting Pattern Wait Address (level:%d, addr:0x%x)\n", level,
("Setting Pattern Wait Address (level:%d, addr:0x%x)\n", level, addr));
addr));
}
bus_w(reg, ((addr << offset) & mask)); bus_w(reg, ((addr << offset) & mask));
} }
// get // get
if (!trimming) { uint32_t regval = ((bus_r(reg) & mask) >> offset);
uint32_t regval = ((bus_r(reg) & mask) >> offset); LOG(logDEBUG1,
LOG(logDEBUG1, (" Wait Address retval (level:%d, addr:0x%x)\n", level, regval));
(" Wait Address retval (level:%d, addr:0x%x)\n", level, regval)); return regval;
return regval;
} else {
return 0;
}
} }
uint64_t setPatternWaitTime(int level, uint64_t t) { uint64_t setPatternWaitTime(int level, uint64_t t) {
@ -1339,8 +1324,8 @@ uint64_t setPatternWaitTime(int level, uint64_t t) {
// set // set
if ((int64_t)t >= 0) { if ((int64_t)t >= 0) {
LOG(logINFO, ("Setting Pattern Wait Time (level:%d, t:%lld)\n", level, LOG(trimmingPrint, ("Setting Pattern Wait Time (level:%d, t:%lld)\n",
(long long int)t)); level, (long long int)t));
set64BitReg(t, regl, regm); set64BitReg(t, regl, regm);
} }
@ -1353,19 +1338,16 @@ uint64_t setPatternWaitTime(int level, uint64_t t) {
void setPatternLoop(int level, int *startAddr, int *stopAddr, int *nLoop) { void setPatternLoop(int level, int *startAddr, int *stopAddr, int *nLoop) {
if (!trimming) { // (checked at tcp)
// (checked at tcp) if (*startAddr >= MAX_PATTERN_LENGTH || *stopAddr >= MAX_PATTERN_LENGTH) {
if (*startAddr >= MAX_PATTERN_LENGTH || LOG(logERROR, ("Cannot set Pattern Loop, Address (startaddr:0x%x, "
*stopAddr >= MAX_PATTERN_LENGTH) { "stopaddr:0x%x) must be "
LOG(logERROR, ("Cannot set Pattern Loop, Address (startaddr:0x%x, " "less than 0x%x\n",
"stopaddr:0x%x) must be " *startAddr, *stopAddr, MAX_PATTERN_LENGTH));
"less than 0x%x\n", *startAddr = -1;
*startAddr, *stopAddr, MAX_PATTERN_LENGTH)); *stopAddr = -1;
*startAddr = -1; *nLoop = -1;
*stopAddr = -1; return;
*nLoop = -1;
return;
}
} }
uint32_t addr = 0; uint32_t addr = 0;
@ -1423,10 +1405,8 @@ void setPatternLoop(int level, int *startAddr, int *stopAddr, int *nLoop) {
if (level >= 0) { if (level >= 0) {
// set iteration // set iteration
if (*nLoop >= 0) { if (*nLoop >= 0) {
if (!trimming) { LOG(trimmingPrint,
LOG(logINFO, ("Setting Pattern Loop (level:%d, nLoop:%d)\n", ("Setting Pattern Loop (level:%d, nLoop:%d)\n", level, *nLoop));
level, *nLoop));
}
bus_w(nLoopReg, *nLoop); bus_w(nLoopReg, *nLoop);
} }
*nLoop = bus_r(nLoopReg); *nLoop = bus_r(nLoopReg);
@ -1435,11 +1415,9 @@ void setPatternLoop(int level, int *startAddr, int *stopAddr, int *nLoop) {
// set // set
if (*startAddr >= 0 && *stopAddr >= 0) { if (*startAddr >= 0 && *stopAddr >= 0) {
// writing start and stop addr // writing start and stop addr
if (!trimming) { LOG(trimmingPrint, ("Setting Pattern Loop (level:%d, startaddr:0x%x, "
LOG(logINFO, ("Setting Pattern Loop (level:%d, startaddr:0x%x, " "stopaddr:0x%x)\n",
"stopaddr:0x%x)\n", level, *startAddr, *stopAddr));
level, *startAddr, *stopAddr));
}
bus_w(addr, ((*startAddr << startOffset) & startMask) | bus_w(addr, ((*startAddr << startOffset) & startMask) |
((*stopAddr << stopOffset) & stopMask)); ((*stopAddr << stopOffset) & stopMask));
} }