ctb and xilinx: setting all dacs (normal, not power dacs) to 0 (not power down) at startup. This is safer than power down for 4 normal dacs. xilinx ctb: remove disable fmc at power off chip so one can power on and off the chip on their own (#1424)
Build and Deploy on local RHEL9 / build (push) Successful in 2m3s
Build on RHEL9 docker image / build (push) Successful in 3m44s
Build on RHEL8 docker image / build (push) Successful in 4m47s
Build and Deploy on local RHEL8 / build (push) Successful in 4m52s
Run Simulator Tests on local RHEL9 / build (push) Successful in 14m39s
Run Simulator Tests on local RHEL8 / build (push) Successful in 17m4s

This commit is contained in:
2026-03-17 16:53:33 +01:00
committed by GitHub
parent c86ca1eaec
commit 4ee61ae791
5 changed files with 6 additions and 27 deletions
@@ -591,10 +591,9 @@ void setupDetector() {
LTC2620_Configure();
// dacs only
LOG(logINFOBLUE, ("Powering down all dacs\n"));
LOG(logINFOBLUE, ("Setting all dacs to min (0 mV)\n"));
for (int idac = 0; idac < NDAC_ONLY; ++idac) {
initError =
setDAC(idac, LTC2620_GetPowerDownValue(), false, initErrorMessage);
initError = setDAC(idac, 0, false, initErrorMessage);
if (initError == FAIL)
return;
}
@@ -412,10 +412,9 @@ void setupDetector() {
return;
}
// dacs only
LOG(logINFOBLUE, ("Powering down all dacs\n"));
LOG(logINFOBLUE, ("Setting all dacs to min (0 mV)\n"));
for (int idac = 0; idac < NDAC_ONLY; ++idac) {
initError = setDAC(idac, LTC2620_D_GetPowerDownValue(), false,
initErrorMessage);
initError = setDAC(idac, 0, false, initErrorMessage);
if (initError == FAIL)
return;
}
@@ -602,25 +601,6 @@ int powerChip(int on, char *mess) {
LOG(logINFOBLUE, ("Powering chip: off\n"));
bus_w(addr, bus_r(addr) & ~mask);
chipConfigured = 0;
if (FAIL == XILINX_FMC_disable_all(mess, MAX_STR_LENGTH)) {
return FAIL;
}
#ifdef VIRTUAL
setTransceiverAlignment(0);
#endif
// transceiver alignment should be reset at power off
if (isTransceiverAligned()) {
sprintf(mess, "Transceiver alignment not reset\n");
LOG(logERROR, (mess));
// to be removed when fixed later
LOG(logWARNING,
("Bypassing this error for now. To be fixed later...\n"));
return OK;
return FAIL;
}
LOG(logINFO, ("\tTransceiver alignment has been reset\n"));
}
return OK;
}
+2 -2
View File
@@ -3,10 +3,10 @@
/** API versions */
#define APILIB "0.0.0 0x250909"
#define APIRECEIVER "0.0.0 0x250822"
#define APICTB "0.0.0 0x260227"
#define APICTB "0.0.0 0x260317"
#define APIGOTTHARD2 "0.0.0 0x260227"
#define APIMOENCH "0.0.0 0x260227"
#define APIEIGER "0.0.0 0x260227"
#define APIXILINXCTB "0.0.0 0x260227"
#define APIXILINXCTB "0.0.0 0x260317"
#define APIJUNGFRAU "0.0.0 0x260227"
#define APIMYTHEN3 "0.0.0 0x260227"