Merge pull request #178 from slsdetectorgroup/eigertempblockingfix

eiger temp fix: tempfpgafl and tempfpgafr cannot be used during block…
This commit is contained in:
Dhanya Thattil 2020-09-10 11:48:31 +02:00 committed by GitHub
commit 4d499e231d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 6 deletions

View File

@ -354,12 +354,13 @@ class Detector {
/** /**
* (Degrees) * (Degrees)
* [Gotthard] Options: TEMPERATURE_ADC, TEMPERATURE_FPGA * [Gotthard] Options: TEMPERATURE_ADC, TEMPERATURE_FPGA \n
* [Jungfrau] Options: TEMPERATURE_ADC, TEMPERATURE_FPGA * [Jungfrau] Options: TEMPERATURE_ADC, TEMPERATURE_FPGA \n
* [Eiger] Options: TEMPERATURE_FPGA, TEMPERATURE_FPGAEXT, TEMPERATURE_10GE, * [Eiger] Options: TEMPERATURE_FPGA, TEMPERATURE_FPGAEXT, TEMPERATURE_10GE,
* TEMPERATURE_DCDC, TEMPERATURE_SODL, TEMPERATURE_SODR, TEMPERATURE_FPGA2, * TEMPERATURE_DCDC, TEMPERATURE_SODL, TEMPERATURE_SODR, TEMPERATURE_FPGA2,
* TEMPERATURE_FPGA3 * TEMPERATURE_FPGA3 \n
* [CTB] Options: SLOW_ADC_TEMP * Cannot call TEMPERATURE_FPGA2 and TEMPERATURE_FPGA3 when blocking acquire
* in progress \n [CTB] Options: SLOW_ADC_TEMP
*/ */
Result<int> getTemperature(defs::dacIndex index, Positions pos = {}) const; Result<int> getTemperature(defs::dacIndex index, Positions pos = {}) const;

View File

@ -1282,11 +1282,13 @@ class CmdProxy {
GET_IND_COMMAND( GET_IND_COMMAND(
temp_fpgafl, getTemperature, slsDetectorDefs::TEMPERATURE_FPGA2, " °C", temp_fpgafl, getTemperature, slsDetectorDefs::TEMPERATURE_FPGA2, " °C",
"[n_value]\n\t[Eiger]Temperature of the left front end board fpga"); "[n_value]\n\t[Eiger]Temperature of the left front end board fpga. "
"Cannot call this while blocking acquire is going on.");
GET_IND_COMMAND( GET_IND_COMMAND(
temp_fpgafr, getTemperature, slsDetectorDefs::TEMPERATURE_FPGA3, " °C", temp_fpgafr, getTemperature, slsDetectorDefs::TEMPERATURE_FPGA3, " °C",
"[n_value]\n\t[Eiger]Temperature of the left front end board fpga"); "[n_value]\n\t[Eiger]Temperature of the left front end board fpga. "
"Cannot call this while blocking acquire is going on.");
GET_IND_COMMAND(temp_slowadc, getTemperature, GET_IND_COMMAND(temp_slowadc, getTemperature,
slsDetectorDefs::SLOW_ADC_TEMP, " °C", slsDetectorDefs::SLOW_ADC_TEMP, " °C",

View File

@ -357,6 +357,10 @@ void Module::setImageTestMode(const int value) {
} }
int Module::getADC(dacIndex index) const { int Module::getADC(dacIndex index) const {
// cannot access fpga links simultaneously (eiger) temp fix
if (index == TEMPERATURE_FPGA2 || index == TEMPERATURE_FPGA3) {
return sendToDetector<int>(F_GET_ADC, index);
}
return sendToDetectorStop<int>(F_GET_ADC, index); return sendToDetectorStop<int>(F_GET_ADC, index);
} }