mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-05-08 12:22:04 +02:00
also added tolerance check for patwaittime
This commit is contained in:
@@ -342,7 +342,23 @@ int validate_setPatternWaitClocksAndInterval(char *message, int level,
|
||||
char mode[128];
|
||||
memset(mode, 0, sizeof(mode));
|
||||
sprintf(mode, "set pattern Loop %d wait time", level);
|
||||
validate64(&ret, message, waittime, retval, mode, DEC);
|
||||
|
||||
if (clocks) {
|
||||
validate64(&ret, message, waittime, retval, mode, DEC);
|
||||
} else {
|
||||
#if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
|
||||
int runclk = 0;
|
||||
runclk = clkFrequency[RUN_CLK];
|
||||
|
||||
int64_t toleranceNs = 3 * (1000000000 / runclk);
|
||||
int64_t diff = (int64_t)waittime - (int64_t)retval;
|
||||
if (diff < -toleranceNs || diff > toleranceNs) {
|
||||
validate64(&ret, message, waittime, retval, mode, DEC);
|
||||
}
|
||||
#else
|
||||
validate64(&ret, message, waittime, retval, mode, DEC);
|
||||
#endif
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -10902,8 +10902,20 @@ int set_pattern_wait_interval(int file_des) {
|
||||
uint64_t retval = 0;
|
||||
ret = validate_getPatternWaitClocksAndInterval(mess, loopLevel,
|
||||
&retval, 0);
|
||||
validate64(&ret, mess, (int64_t)timeval, retval,
|
||||
"set pattern wait interval", DEC);
|
||||
if (ret == OK) { // is this not already validated ? why do this again here ?
|
||||
#if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
|
||||
int runclk = getFrequency(RUN_CLK);
|
||||
int64_t toleranceNs = 3 * (1000000000 / runclk);
|
||||
int64_t diff = (int64_t)timeval - (int64_t)retval;
|
||||
if (diff < -toleranceNs || diff > toleranceNs) {
|
||||
validate64(&ret, mess, (int64_t)timeval, retval,
|
||||
"set pattern wait interval", DEC);
|
||||
}
|
||||
#else
|
||||
validate64(&ret, mess, (int64_t)timeval, retval,
|
||||
"set pattern wait interval", DEC);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user