xilinx: wip: dac to voltage needs to be separated and a default value needed or return a -1 for not defined
All checks were successful
Build on RHEL9 / build (push) Successful in 3m17s
Build on RHEL8 / build (push) Successful in 4m45s

This commit is contained in:
2026-01-14 17:01:10 +01:00
parent ae793af7b9
commit 0aab505645
10 changed files with 101 additions and 44 deletions

View File

@@ -401,6 +401,7 @@ void setPower(enum DACINDEX ind, int val);
void powerOff();
#elif XILINX_CHIPTESTBOARDD
int getBitOffsetFromDACIndex(enum DACINDEX ind);
int getMinPowerValue(enum DACINDEX ind);
int isPowerValid(enum DACINDEX ind, int val);
int getPower();
int setPower(enum DACINDEX ind, int val);

View File

@@ -112,7 +112,7 @@ int LTC2620_D_WriteDACValue(int dacnum, int dacvalue, char *dacname) {
dacnum, DAC_POWERDOWN_DRIVER_FILE_SUFFIX);
}
#endif
LOG(logDEBUG1, ("fname %s\n", fname));
LOG(logINFORED, ("fname %s\n", fname));
// open file
FILE *fd = fopen(fname, "w");

View File

@@ -1317,8 +1317,15 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) {
}
if (ret == OK) {
retval = getPower(serverDacIndex);
LOG(logDEBUG1, ("Power regulator(%d): %d\n", ind, retval));
validate(&ret, mess, val, retval, "set power regulator", DEC);
LOG(logDEBUG1,
("Power regulator(%d): %d\n", serverDacIndex, retval));
if (retval == -1) {
ret = FAIL;
sprintf(mess, "Could not get power regulator %d.\n",
serverDacIndex);
LOG(logERROR, (mess));
}
validate(&ret, mess, val, retval, "set/get power regulator", DEC);
}
break;
#endif
@@ -1400,10 +1407,7 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) {
LOG(logERROR, (mess));
} else
#endif
#ifdef MYTHEN3D
// ignore counter enable to force vth dac values
setDAC(serverDacIndex, val, mV, 0);
#elif defined(XILINX_CHIPTESTBOARDD)
#if defined(XILINX_CHIPTESTBOARDD)
{
if (val != GET_FLAG) {
ret = setDAC(serverDacIndex, val, mV);
@@ -1413,11 +1417,28 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) {
LOG(logERROR, (mess));
}
}
if (ret == OK) {
retval = getDAC(serverDacIndex, mV);
LOG(logDEBUG1, ("Dac (%d): %d %s\n", serverDacIndex, retval,
(mV ? "mV" : "dac units")));
if (retval == -1) {
ret = FAIL;
sprintf(mess, "Could not get dac %d.\n",
serverDacIndex);
LOG(logERROR, (mess));
}
}
}
#elif MYTHEN3D
// ignore counter enable to force vth dac values
setDAC(serverDacIndex, val, mV, 0);
#else
setDAC(serverDacIndex, val, mV);
#endif
retval = getDAC(serverDacIndex, mV);
LOG(logDEBUG1, ("Dac (%d): %d %s\n", serverDacIndex, retval,
(mV ? "mV" : "dac units")));
#endif
}
#ifdef EIGERD
if (val != GET_FLAG && getSettings() != UNDEFINED) {