mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 15:20:02 +02:00
remove printouts during trimming
This commit is contained in:
parent
7f42f5cadb
commit
66d30cb2f1
@ -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
|
||||||
|
@ -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));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user