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,7 +1220,6 @@ 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);
@ -1232,9 +1231,8 @@ uint64_t writePatternWord(int addr, uint64_t word) {
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, LOG(trimmingPrint, ("Setting Pattern Word (addr:0x%x, word:0x%llx)\n", addr,
(long long int)word)); (long long int)word));
}
// write word // write word
uint32_t reg_lsb = uint32_t reg_lsb =
@ -1244,26 +1242,19 @@ 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, LOG(logERROR, ("Cannot set Pattern Wait Address. Invalid addr 0x%x. "
("Cannot set Pattern Wait Address. 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;
} }
}
uint32_t reg = 0; uint32_t reg = 0;
uint32_t offset = 0; uint32_t offset = 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,10 +1338,8 @@ 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 || if (*startAddr >= MAX_PATTERN_LENGTH || *stopAddr >= MAX_PATTERN_LENGTH) {
*stopAddr >= MAX_PATTERN_LENGTH) {
LOG(logERROR, ("Cannot set Pattern Loop, Address (startaddr:0x%x, " LOG(logERROR, ("Cannot set Pattern Loop, Address (startaddr:0x%x, "
"stopaddr:0x%x) must be " "stopaddr:0x%x) must be "
"less than 0x%x\n", "less than 0x%x\n",
@ -1366,7 +1349,6 @@ void setPatternLoop(int level, int *startAddr, int *stopAddr, int *nLoop) {
*nLoop = -1; *nLoop = -1;
return; return;
} }
}
uint32_t addr = 0; uint32_t addr = 0;
uint32_t nLoopReg = 0; uint32_t nLoopReg = 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));
} }