From 34549d5e9aaaf63abf7f5ff5fcd05f457174cfe5 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 12 Feb 2026 15:31:19 +0100 Subject: [PATCH] wip. gotthard2 and m3 --- .../bin/eigerDetectorServer_developer | Bin 449085 -> 449085 bytes .../slsDetectorFunctionList.c | 8 +- .../bin/gotthard2DetectorServer_developer | Bin 295992 -> 296176 bytes .../slsDetectorFunctionList.c | 179 +++++--- .../slsDetectorFunctionList.h | 15 +- .../bin/mythen3DetectorServer_developer | Bin 305812 -> 306100 bytes .../slsDetectorFunctionList.c | 404 ++++++++++-------- .../slsDetectorFunctionList.h | 20 +- .../src/slsDetectorServer_funcs.c | 2 +- slsSupportLib/include/sls/versionAPI.h | 6 +- 10 files changed, 383 insertions(+), 251 deletions(-) diff --git a/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer b/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer index 201e8e88d28baf8b7d6f5671a28943d0f86c15fb..b5c09cca898cfa127cb95d63e49954c309eebbac 100755 GIT binary patch delta 59885 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 delta 60022 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

5(QE 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 SXj_a-rALN4XM@ka>;Df7#*>=> diff --git a/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c index a9fe29aa6..66c1bf136 100644 --- a/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c @@ -1439,6 +1439,7 @@ int validateDACIndex(enum DACINDEX ind, char *mess) { int validateDACValue(enum DACINDEX ind, int dacval, char *mess) { char *dacNames[] = {DAC_NAMES}; + // validate min value if (dacval < 0) { sprintf(mess, "Could not set DAC %s. Input value %d cannot be negative\n", @@ -1525,9 +1526,11 @@ int getDAC(enum DACINDEX ind, bool mV, int *retval, char *mess) { // uses LTC2620 with 2.048V (implementation different to others not bit banging) int setDAC(enum DACINDEX ind, int val, bool mV, char *mess) { - char *dacNames[] = {DAC_NAMES}; - LOG(logINFO, ("Setting DAC %s: %d %s \n", dacNames[ind], val, + { + char *dacNames[] = {DAC_NAMES}; + LOG(logINFO, ("Setting DAC %s: %d %s \n", dacNames[ind], val, (mV ? "mV" : "dac units"))); + } if (ind == E_VTHRESHOLD) { return setThresholdDACs(val, mV, mess); @@ -1591,7 +1594,6 @@ int getThresholdDACs(bool mV, int *retval, char *mess) { if (getDAC(indices[0], mV, &retvals[0], mess) == FAIL) return FAIL; - bool allEqual = true; for (int i = 1; i != 5; ++i) { if (getDAC(indices[i], mV, &retvals[i], mess) == FAIL) return FAIL; diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer index ef9dd34a5d26852590d2b4abd93e929435cb9936..7fee57f5c0d6e913615703a5b23be6c27b2fd358 100755 GIT binary patch delta 72715 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 rKj7^UeKG$FKE=kQ delta 72739 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 P?o$WU*8R{w?&p62;>dMe diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c index ae56a21c3..875847db8 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c @@ -571,7 +571,7 @@ int resetToDefaultDacs(int hardReset, char *mess) { LOG(logINFOBLUE, ("Setting Default Dac values\n")); for (int i = 0; i < NDAC; ++i) { if (defaultDacValues[i] != -1) { - if (setDAC((enum DACINDEX)i, defaultDacValues[i], 0, mess) == FAIL) + if (setDAC((enum DACINDEX)i, defaultDacValues[i], false, mess) == FAIL) return FAIL; } } @@ -948,7 +948,7 @@ int readConfigFile() { hardCodedDefaultDacValues[idac] = value; // set dac - if (setDAC(idac, value, 0, initErrorMessage) == FAIL) { + if (setDAC(idac, value, false, initErrorMessage) == FAIL) { ; sprintf(initErrorMessage, "Set dac %s failed from on-board server config file. " @@ -1520,90 +1520,141 @@ int getOnChipDAC(enum ONCHIP_DACINDEX ind, int chipIndex) { // specific chip return onChipdacValues[ind][chipIndex]; } -int validateDAC(enum DACINDEX ind, int val, int mV, char *mess) { - char *dacNames[] = {DAC_NAMES}; - // validate index +int validateDACIndex(enum DACINDEX ind, char *mess) { if (ind < 0 || ind >= NDAC) { sprintf(mess, "Could not set DAC. Invalid index %d\n", ind); LOG(logERROR, (mess)); return FAIL; } - // validate min value - if (val < 0) { - sprintf(mess, - "Could not set DAC %s. Input value %d cannot be negative\n", - dacNames[ind], val); - LOG(logERROR, (mess)); - return FAIL; - } - // validate max value - if (mV && val > DAC_MAX_MV) { - sprintf(mess, - "Could not set DAC %s. Input value %d exceed maximum %d mV\n", - dacNames[ind], val, DAC_MAX_MV); - LOG(logERROR, (mess)); - return FAIL; - } else if (!mV && val > LTC2620_D_GetMaxInput()) { - sprintf(mess, - "Could not set DAC %s. Input value %d exceed maximum %d \n", - dacNames[ind], val, LTC2620_D_GetMaxInput()); - LOG(logERROR, (mess)); - return FAIL; - } return OK; } -int setDAC(enum DACINDEX ind, int val, int mV, char *mess) { - if (validateDAC(ind, val, mV, mess) == FAIL) +int validateDACValue(enum DACINDEX ind, int dacval, char *mess) { + char *dacNames[] = {DAC_NAMES}; + // validate min value + if (dacval < 0) { + sprintf(mess, + "Could not set DAC %s. Input value %d cannot be negative\n", + dacNames[ind], dacval); + LOG(logERROR, (mess)); + return FAIL; + } + // validate max value + if (dacval > LTC2620_D_GetMaxInput()) { + sprintf(mess, + "Could not set DAC %s. Input value %d exceed maximum %d \n", + dacNames[ind], dacval, LTC2620_D_GetMaxInput()); + LOG(logERROR, (mess)); + return FAIL; + } + return OK; +} + +int validateDACVoltage(enum DACINDEX ind, int voltage, char *mess) { + char *dacNames[] = {DAC_NAMES}; + // validate min value + if (voltage < 0) { + sprintf(mess, + "Could not set DAC %s. Input value %d cannot be negative\n", + dacNames[ind], voltage); + LOG(logERROR, (mess)); + return FAIL; + } + // validate max value + if (voltage > DAC_MAX_MV) { + sprintf(mess, + "Could not set DAC %s. Input value %d mV exceed maximum %d mV\n", dacNames[ind], voltage, DAC_MAX_MV); + LOG(logERROR, (mess)); + return FAIL; + } + return OK; +} + +int convertVoltageToDACValue(enum DACINDEX ind, int voltage, int* retval_dacval, char *mess) { + if (LTC2620_D_VoltageToDac(voltage, retval_dacval) == FAIL) { + char *dacNames[] = {DAC_NAMES}; + sprintf( + mess, + "Could not set DAC %s. Could not convert %d mV to dac units.\n", + dacNames[ind], voltage); + LOG(logERROR, (mess)); + return FAIL; + } + return OK; +} + +int convertDACValueToVoltage(enum DACINDEX ind, int dacval, int* retval_voltage, char *mess) { + *retval_voltage = -1; + if (LTC2620_D_DacToVoltage(dacval, retval_voltage) == FAIL) { + char *dacNames[] = {DAC_NAMES}; + sprintf(mess, + "Could not get DAC %s. Could not convert %d dac units to mV\n", + dacNames[ind], dacval); + LOG(logERROR, (mess)); + return FAIL; + } + return OK; +} + +int getDAC(enum DACINDEX ind, bool mV, int *retval, char *mess) { + if (validateDACIndex(ind, mess) == FAIL) return FAIL; - char *dacNames[] = {DAC_NAMES}; - LOG(logINFO, ("Setting DAC %s: %d %s \n", dacNames[ind], val, - (mV ? "mV" : "dac units"))); - - // mV: convert to dac value - int dacval = val; + int dacval = dacValues[ind]; if (mV) { - if (LTC2620_D_VoltageToDac(val, &dacval) == FAIL) { - sprintf( - mess, - "Could not set DAC %s. Could not convert %d mV to dac units.\n", - dacNames[ind], val); - LOG(logERROR, (mess)); + if (convertDACValueToVoltage(ind, dacval, retval, mess) == FAIL) return FAIL; - } + return OK; } + *retval = dacval; + return OK; +} + + +int setDAC(enum DACINDEX ind, int val, bool mV, char *mess) { + { + char *dacNames[] = {DAC_NAMES}; + LOG(logINFO, ("Setting DAC %s: %d %s \n", dacNames[ind], val, + (mV ? "mV" : "dac units"))); + } + + if (validateDACIndex(ind, mess) == FAIL) + return FAIL; + + int dacval = val; + if (mV) { + if (validateDACVoltage(ind, val, mess) == FAIL) + return FAIL; + + if (convertVoltageToDACValue(ind, val, &dacval, mess) == FAIL) + return FAIL; + } + + if (writeDACSpi(ind, dacval, mess) == FAIL) + return FAIL; + + return OK; +} + +int writeDACSpi(enum DACINDEX ind, int dacval, char *mess) { + if (validateDACValue(ind, dacval, mess) == FAIL) + return FAIL; + +#ifdef VIRTUAL + dacValues[ind] = dacval; + return OK; +#else if (LTC2620_D_SetDACValue((int)ind, dacval) == FAIL) { + char *dacNames[] = {DAC_NAMES}; sprintf(mess, "Could not set DAC %s.\n", dacNames[ind]); LOG(logERROR, (mess)); return FAIL; } dacValues[ind] = dacval; return OK; -} - -int getDAC(enum DACINDEX ind, int mV, int *retval, char *mess) { - char *dacNames[] = {DAC_NAMES}; - if (!mV) { - LOG(logDEBUG1, - ("Getting DAC %s : %d dac\n", dacNames[ind], dacValues[ind])); - *retval = dacValues[ind]; - return OK; - } - // convert to mV - *retval = -1; - if (LTC2620_D_DacToVoltage(dacValues[ind], retval) == FAIL) { - sprintf(mess, - "Could not get DAC %s. Could not convert %d dac units to mV\n", - dacNames[ind], dacValues[ind]); - LOG(logERROR, (mess)); - return FAIL; - } - LOG(logDEBUG1, ("Getting DAC %s : %d dac (%d mV)\n", dacNames[ind], - dacValues[ind], *retval)); - return OK; +#endif } int getADC(enum ADCINDEX ind, int *value) { diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.h b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.h index 4e83cd336..6130c3f36 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.h +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.h @@ -9,6 +9,7 @@ #include // FILE #include #include +#include /**************************************************** This functions are used by the slsDetectroServer_funcs interface. @@ -116,9 +117,17 @@ enum detectorSettings getSettings(); int setOnChipDAC(enum ONCHIP_DACINDEX ind, int chipIndex, int val); int getOnChipDAC(enum ONCHIP_DACINDEX ind, int chipIndex); -int validateDAC(enum DACINDEX ind, int val, int mV, char *mess); -int setDAC(enum DACINDEX ind, int val, int mV, char *mess); -int getDAC(enum DACINDEX ind, int mV, int *retval, char *mess); +int validateDACIndex(enum DACINDEX ind, char *mess); +int validateDACValue(enum DACINDEX ind, int dacval, char *mess); +int validateDACVoltage(enum DACINDEX ind, int voltage, char *mess); +int convertVoltageToDACValue(enum DACINDEX ind, int voltage, int* retval_dacval, char *mess); +int convertDACValueToVoltage(enum DACINDEX ind, int dacval, int* retval_voltage, char *mess); +int getDAC(enum DACINDEX ind, bool mV, int *retval, char *mess); +/** @param val value can be in mV or dac units */ +int setDAC(enum DACINDEX ind, int val, bool mV, char *mess); +/** @param dacval in dac units */ +int writeDACSpi(enum DACINDEX ind, int dacval, char *mess); + int getADC(enum ADCINDEX ind, int *value); int setHighVoltage(int val, char *mess); diff --git a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer index 9ba013e82614d0140f217df2be9db350166bf560..d769bf4452f6f4bfbc64b480e990dcd9e75efcb1 100755 GIT binary patch delta 75545 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%0D<-ElF}F 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

U7cxNH&P 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

Rpz_mtBQE--xcTjuIv4>lEuBT$447}PT zq?yzO9?e!_lU?mU2YJ-~vyK@ok^ z%zE~}^F>yxMVU>;ZB0@Bq-oPqZq8m+l|5#QzFFS$pxAYhWrW6UvJPMYdQ+tRMR#`m zYm+QF87`IgMQu%9&hk~Z$1XZPZ(MaGKgqMKgxe~Wm~;upVOxaVoI&ijH%Cj&YY`?Y zUto#B)l^Z=zJycKHH?heM8e0cLPBu^LRox$_J#QC5_E0)CJ}pC-c53gPmqko;tFH2 zs4R2-udF%+Xo(?~-Q4=MZ$IwdhuaZet*s^D_^lj~lEmintP*d!NzA=MA9~zEnaf{p z@s43RmDK>7D6U_@mfyXbg!3vk+aB1Y#-rPPm*rVe#0vVMP5)p8jfATebg_kkU%4@o zNh){9KPZ$oFdiXQmO>f1NttWZ*Dtp!6nvfUEfh};vLtv=nE$|%AgkdfOTttCq#Qgu z{FVg&PJf4hwvppa7!|`aR1B06-&qtoRH#<9CbLLhQ_9TzO>&dZn2z1HW_J{kqoudW zk(z+LdFL5gd50OQXJjb!HLo(N6U{2zE=M_U7LlWkx5?4JrNxW`2aL56m4Y}_JVs

hHn(>9J} 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 delta 74864 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�|uy<1%q`a3O2> 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 diff --git a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c index 986701b85..d7ec13281 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c @@ -609,7 +609,7 @@ int resetToDefaultDacs(int hardReset, char *mess) { } // set to default (last arg to ensure counter check) - if (setDAC((enum DACINDEX)i, value, 0, 1, mess) == FAIL) + if (setDAC((enum DACINDEX)i, value, false, true, mess) == FAIL) return FAIL; } return OK; @@ -1311,8 +1311,8 @@ int setModule(sls_detector_module myMod, char *mess) { // dacs myMod.dacs for (int i = 0; i < NDAC; ++i) { if (myMod.dacs[i] != -1) { - // set to default (last arg to ensure counter check) - if (setDAC((enum DACINDEX)i, myMod.dacs[i], 0, 1, mess) == FAIL) { + // set to default (ensure counter check) + if (setDAC((enum DACINDEX)i, myMod.dacs[i], false, true, mess) == FAIL) { // dont complain if that counter was disabled if ((i == M_VTH1 || i == M_VTH2 || i == M_VTH3) && (detectorDacs[i] == DEFAULT_COUNTER_DISABLED_VTH_VAL)) { @@ -1470,8 +1470,8 @@ int setSettings(enum detectorSettings sett, char *mess) { // set special dacs const int specialDacs[] = SPECIALDACINDEX; for (int i = 0; i < NSPECIALDACS; ++i) { - // set to default (last arg to ensure counter check) - if (setDAC(specialDacs[i], dacVals[i], 0, 1, mess) == FAIL) + // set to default (ensure counter check) + if (setDAC(specialDacs[i], dacVals[i], false, true, mess) == FAIL) return FAIL; } @@ -1498,7 +1498,7 @@ void validateSettings() { for (int i = 0; i < NSPECIALDACS; ++i) { int retval = 0; char emsg[MAX_STR_LENGTH] = {0}; - if (getDAC(specialDacs[i], 0, &retval, emsg) == FAIL) { + if (getDAC(specialDacs[i], false, &retval, emsg) == FAIL) { sett = UNDEFINED; break; } @@ -1538,141 +1538,159 @@ void setThresholdEnergy(int counterIndex, int eV) { } /* parameters - dac, hv */ -int validateDAC(enum DACINDEX ind, int val, int mV, char *mess) { - char *dacNames[] = {DAC_NAMES}; - - // validate index (threshold included) +int validateDACIndex(enum DACINDEX ind, char *mess) { + // threshold included if (ind < 0 || ind >= NDAC + 1) { sprintf(mess, "Could not set DAC. Invalid index %d\n", ind); LOG(logERROR, (mess)); return FAIL; } - // validate min value - if (val < 0) { - sprintf(mess, - "Could not set DAC %s. Input value %d cannot be negative\n", - dacNames[ind], val); - LOG(logERROR, (mess)); - return FAIL; - } - // validate max value - if (mV && val > DAC_MAX_MV) { - sprintf(mess, - "Could not set DAC %s. Input value %d exceed maximum %d mV\n", - dacNames[ind], val, DAC_MAX_MV); - LOG(logERROR, (mess)); - return FAIL; - } else if (!mV && val > LTC2620_D_GetMaxInput()) { - sprintf(mess, - "Could not set DAC %s. Input value %d exceed maximum %d \n", - dacNames[ind], val, LTC2620_D_GetMaxInput()); - LOG(logERROR, (mess)); - return FAIL; - } return OK; } -// counterEnableCheck false only if setDAC called directly -int setDAC(enum DACINDEX ind, int val, int mV, int counterEnableCheck, - char *mess) { - if (validateDAC(ind, val, mV, mess) == FAIL) +int validateDACValue(enum DACINDEX ind, int dacval, char *mess) { + char *dacNames[] = {DAC_NAMES}; + // validate min value + if (dacval < 0) { + sprintf(mess, + "Could not set DAC %s. Input value %d cannot be negative\n", + dacNames[ind], dacval); + LOG(logERROR, (mess)); + return FAIL; + } + // validate max value + if (dacval > LTC2620_D_GetMaxInput()) { + sprintf(mess, + "Could not set DAC %s. Input value %d exceed maximum %d \n", + dacNames[ind], dacval, LTC2620_D_GetMaxInput()); + LOG(logERROR, (mess)); + return FAIL; + } + return OK; +} + +int validateDACVoltage(enum DACINDEX ind, int voltage, char *mess) { + char *dacNames[] = {DAC_NAMES}; + // validate min value + if (voltage < 0) { + sprintf(mess, + "Could not set DAC %s. Input value %d cannot be negative\n", + dacNames[ind], voltage); + LOG(logERROR, (mess)); + return FAIL; + } + // validate max value + if (voltage > DAC_MAX_MV) { + sprintf(mess, + "Could not set DAC %s. Input value %d mV exceed maximum %d mV\n", dacNames[ind], voltage, DAC_MAX_MV); + LOG(logERROR, (mess)); + return FAIL; + } + return OK; +} + +int convertVoltageToDACValue(enum DACINDEX ind, int voltage, int* retval_dacval, char *mess) { + if (LTC2620_D_VoltageToDac(voltage, retval_dacval) == FAIL) { + char *dacNames[] = {DAC_NAMES}; + sprintf( + mess, + "Could not set DAC %s. Could not convert %d mV to dac units.\n", + dacNames[ind], voltage); + LOG(logERROR, (mess)); + return FAIL; + } + return OK; +} + +int convertDACValueToVoltage(enum DACINDEX ind, int dacval, int* retval_voltage, char *mess) { + *retval_voltage = -1; + if (LTC2620_D_DacToVoltage(dacval, retval_voltage) == FAIL) { + char *dacNames[] = {DAC_NAMES}; + sprintf(mess, + "Could not get DAC %s. Could not convert %d dac units to mV\n", + dacNames[ind], dacval); + LOG(logERROR, (mess)); + return FAIL; + } + return OK; +} + +int getDAC(enum DACINDEX ind, bool mV, int *retval, char *mess) { + if (ind == M_VTHRESHOLD) { + return getThresholdDACs(mV, retval, mess); + } + + if (validateDACIndex(ind, mess) == FAIL) return FAIL; - char *dacNames[] = {DAC_NAMES}; - LOG(logINFO, ("Setting DAC %s: %d %s \n", dacNames[ind], val, - (mV ? "mV" : "dac units"))); - - // threshold dacs: - // - remember dac value if not disabled value - // - if counter disabled, set disabled val - // (except when set direcly from client) - // - // vthreshold: - // - remember dac value for every counter - // - // others: set dac as normal - - // only for threshold dacs or vthreshold - if (ind == M_VTHRESHOLD || ind == M_VTH1 || ind == M_VTH2 || - ind == M_VTH3) { - uint32_t counters = getCounterMask(); - int vthdacs[] = {M_VTH1, M_VTH2, M_VTH3}; - - // vthrehsold: remember for every counter - // vthdacs: remmeber and set only for that counter - for (int i = 0; i < NCOUNTERS; ++i) { - if ((int)ind == vthdacs[i] || ind == M_VTHRESHOLD) { - - // remembering value - { - int dacval = val; - // if not disabled value - if (dacval != DEFAULT_COUNTER_DISABLED_VTH_VAL) { - // convert to dac units - if (mV) { - if (LTC2620_D_VoltageToDac(val, &dacval) == FAIL) { - sprintf(mess, - "Could not set %s. Could not convert " - "input %d mV to dac\n", - dacNames[ind], val); - LOG(logERROR, (mess)); - return FAIL; - } - } - // remember value - vthEnabledVals[i] = dacval; - LOG(logINFO, - ("Remembering %s [%d]\n", dacNames[ind], dacval)); - } - } - - // disabled counter - if (!(counters & (1 << i))) { - // skip setting vthx dac (value remembered anyway) - if (ind == M_VTHRESHOLD) { - continue; - } - // disable dac (except when setting dac directly) - if (counterEnableCheck) { - val = DEFAULT_COUNTER_DISABLED_VTH_VAL; - } - } - if (setGeneralDAC(vthdacs[i], val, mV, mess) == FAIL) - return FAIL; - } - } + int dacval = detectorDacs[ind]; + if (mV) { + if (convertDACValueToVoltage(ind, dacval, retval, mess) == FAIL) + return FAIL; return OK; } - return setGeneralDAC(ind, val, mV, mess); + *retval = dacval; + return OK; } -int setGeneralDAC(enum DACINDEX ind, int val, int mV, char *mess) { - char *dacNames[] = {DAC_NAMES}; - LOG(logDEBUG1, ("Setting General DAC %s: %d %s \n", dacNames[ind], val, - (mV ? "mV" : "dac units"))); - - // mV: convert to dac value - int dacval = val; - if (mV) { - if (LTC2620_D_VoltageToDac(val, &dacval) == FAIL) { - sprintf( - mess, - "Could not set DAC %s. Could not convert %d mV to dac units.\n", - dacNames[ind], val); - LOG(logERROR, (mess)); - return FAIL; - } +// counterEnableCheck false only if setDAC called directly from client +int setDAC(enum DACINDEX ind, int val, bool mV, bool counterCheck, char *mess) { + { + char *dacNames[] = {DAC_NAMES}; + LOG(logINFO, ("Setting DAC %s: %d %s \n", dacNames[ind], val, + (mV ? "mV" : "dac units"))); } + if (validateDACIndex(ind, mess) == FAIL) + return FAIL; + + int dacval = val; + if (mV) { + if (validateDACVoltage(ind, val, mess) == FAIL) + return FAIL; + + if (convertVoltageToDACValue(ind, val, &dacval, mess) == FAIL) + return FAIL; + } + + switch (ind) { + case M_VTHRESHOLD: + // all threshold dacs: + // store values for all dacs for pump probe and interpolation mode + // only set for enabled counters + return setThresholdDACs(val, mV, dacval, mess); + case M_VTH1: + case M_VTH2: + case M_VTH3: + // threshold dacs: + // store values for pump probe and interpolation mode + // change dacval for disabled counter to 2800 + return setSingleThresholdDAC(ind, val, mV, dacval, counterCheck, mess); + default: + return writeDACSpi(ind, dacval, mess); + break; + } +} + +int writeDACSpi(enum DACINDEX ind, int dacval, char *mess) { + if (validateDACValue(ind, dacval, mess) == FAIL) + return FAIL; + +#ifdef VIRTUAL + detectorDacs[ind] = dacval; + return OK; +#else if (LTC2620_D_SetDACValue((int)ind, dacval) == FAIL) { + char *dacNames[] = {DAC_NAMES}; sprintf(mess, "Could not set DAC %s.\n", dacNames[ind]); LOG(logERROR, (mess)); return FAIL; } detectorDacs[ind] = dacval; + // validate settings const int specialDacs[NSPECIALDACS] = SPECIALDACINDEX; for (int i = 0; i < NSPECIALDACS; ++i) { if ((int)ind == specialDacs[i]) { @@ -1680,8 +1698,105 @@ int setGeneralDAC(enum DACINDEX ind, int val, int mV, char *mess) { } } return OK; +#endif } +int getCounterIndex (enum DACINDEX ind) { + switch (ind) { + case M_VTH1: + return 0; + case M_VTH2: + return 1; + case M_VTH3: + return 2; + default: + return -1; + } +} + + +int setSingleThresholdDAC(enum DACINDEX ind, int val, bool mV, int dacval, bool counterCheck, char* mess) { + char *dacNames[] = {DAC_NAMES}; + uint32_t counterMask = getCounterMask(); + + int iCounter = getCounterIndex(ind); + if (iCounter == -1) { + sprintf(mess, "Invalid DAC index %d for threshold DACs\n", ind); + LOG(logERROR, (mess)); + return FAIL; + } + + // if not disabled value, remember value + if (mV || val != DEFAULT_COUNTER_DISABLED_VTH_VAL) { + LOG(logINFO, ("Remembering %s [%d]\n", dacNames[ind], dacval)); + vthEnabledVals[iCounter] = dacval; + } + // if counter disabled, change value + if (counterCheck && (counterMask & (1 << iCounter))) { + dacval = DEFAULT_COUNTER_DISABLED_VTH_VAL; + } + // set value + if (writeDACSpi(ind, dacval, mess) == FAIL) + return FAIL; + + return OK; +} + +int setThresholdDACs(int val, bool mV, int dacval, char* mess) { + char *dacNames[] = {DAC_NAMES}; + int indices[] = {M_VTH1, M_VTH2, M_VTH3}; + uint32_t counterMask = getCounterMask(); + + for (int iCounter = 0; iCounter != NCOUNTERS; ++iCounter) { + // if not disabled value, remember value + if (mV || val != DEFAULT_COUNTER_DISABLED_VTH_VAL) { + LOG(logINFO, ("Remembering %s [%d]\n", dacNames[indices[iCounter]], dacval)); + vthEnabledVals[iCounter] = dacval; + } + // if counter enabled, set value + if (counterMask & (1 << iCounter)) { + if (writeDACSpi(indices[iCounter], dacval, mess) == FAIL) + return FAIL; + } + } + return OK; +} + + +int getThresholdDACs(bool mV, int *retval, char *mess) { + int indices[] = {M_VTH1, M_VTH2, M_VTH3}; + int retvals[NCOUNTERS] = {0}; + *retval = -1; // default to mismatch + + uint32_t counterMask = getCounterMask(); + + for (int i = 0; i != NCOUNTERS; ++i) { + if (counterMask & (1 << i)) { + if (getDAC(indices[i], mV, &retvals[i], mess) == FAIL) + return FAIL; + } + // set retval to first value + if (*retval == -1) { + *retval = retvals[i]; + } + // other values should match the first value + else if (retvals[i] != retvals[0]) { + char *dacNames[] = {DAC_NAMES}; + LOG(logWARNING, ("Vthreshold mismatch.%s:%d %s:%d\n", dacNames[indices[i]], retvals[i], dacNames[indices[0]], retvals[0])); + *retval = -1; + return OK; + } + } + if (*retval == -1) { + sprintf(mess, "All counters are disabled. Vthreshold value is undefined.\n"); + LOG(logERROR, (mess)); + return FAIL; + } + LOG(logINFO, ("\tvthreshold match %d\n", *retval)); + return OK; +} + + void setVthDac(int index, int enable) { LOG(logINFO, ("\t%s vth%d\n", (enable ? "Enabling" : "Disabing"), index)); // enables (from remembered values) or disables vthx @@ -1693,64 +1808,9 @@ void setVthDac(int index, int enable) { value = vthEnabledVals[index]; } char msg[MAX_STR_LENGTH] = {0}; - setGeneralDAC(vthdacs[index], value, 0, msg); + writeDACSpi(vthdacs[index], value, msg); } -int getDAC(enum DACINDEX ind, int mV, int *retval, char *mess) { - - // vthreshold - if (ind == M_VTHRESHOLD) { - *retval = -1; - int retval1 = -1; - // get only for enabled counters - uint32_t counters = getCounterMask(); - int vthdacs[] = {M_VTH1, M_VTH2, M_VTH3}; - for (int i = 0; i < NCOUNTERS; ++i) { - if (counters & (1 << i)) { - if (getDAC(vthdacs[i], mV, &retval1, mess) == FAIL) - return FAIL; - // first enabled counter - if (*retval == -1) { - *retval = retval1; - } - // different values for enabled counters - else if (retval1 != *retval) { - LOG(logWARNING, ("Could not get threhsold dac. Different " - "values for enabled counters.\n")); - *retval = -1; - return OK; - } - } - } - if (*retval == -1) { - sprintf(mess, "Could not get vthreshold dac.\n"); - LOG(logERROR, (mess)); - return FAIL; - } - LOG(logINFO, ("\tvthreshold match %d\n", *retval)); - return OK; - } - - char *dacNames[] = {DAC_NAMES}; - if (!mV) { - LOG(logDEBUG1, - ("Getting DAC %s : %d dac\n", dacNames[ind], detectorDacs[ind])); - *retval = detectorDacs[ind]; - return OK; - } - // convert to mV - *retval = -1; - if (LTC2620_D_DacToVoltage(detectorDacs[ind], retval) == FAIL) { - sprintf(mess, - "Could not get DAC %s. Could not convert %d dac units to mV\n", - dacNames[ind], detectorDacs[ind]); - LOG(logERROR, (mess)); - return FAIL; - } - LOG(logDEBUG1, ("Getting DAC %s : %d dac (%d mV)\n", dacNames[ind], - detectorDacs[ind], *retval)); - return OK; -} int getADC(enum ADCINDEX ind, int *value) { LOG(logDEBUG1, ("Reading FPGA temperature...\n")); diff --git a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.h b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.h index 47cdf3472..95d47dd9e 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.h +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.h @@ -10,6 +10,7 @@ #include // FILE #include #include +#include /**************************************************** This functions are used by the slsDetectroServer_funcs interface. @@ -133,12 +134,21 @@ int getThresholdEnergy(int counterIndex); void setThresholdEnergy(int counterIndex, int eV); // parameters - dac, adc, hv -int validateDAC(enum DACINDEX ind, int val, int mV, char *mess); -int setDAC(enum DACINDEX ind, int val, int mV, int counterEnableCheck, - char *mess); -int setGeneralDAC(enum DACINDEX ind, int val, int mV, char *mess); -int getDAC(enum DACINDEX ind, int mV, int *retval, char *mess); +int validateDACIndex(enum DACINDEX ind, char *mess); +int validateDACValue(enum DACINDEX ind, int dacval, char *mess); +int validateDACVoltage(enum DACINDEX ind, int voltage, char *mess); +int convertVoltageToDACValue(enum DACINDEX ind, int voltage, int* retval_dacval, char *mess); +int convertDACValueToVoltage(enum DACINDEX ind, int dacval, int* retval_voltage, char *mess); +int getDAC(enum DACINDEX ind, bool mV, int *retval, char *mess); +/** @param val value can be in mV or dac units */ +int setDAC(enum DACINDEX ind, int val, bool mV, bool counterCheck, char *mess); +/** @param dacval in dac units */ +int writeDACSpi(enum DACINDEX ind, int dacval, char *mess); +int getCounterIndex (enum DACINDEX ind); +int setSingleThresholdDAC(enum DACINDEX ind, int val, bool mV, int dacval, bool counterCheck, char* mess); +int setThresholdDACs(int val, bool mV, int dacval, char* mess); +int getThresholdDACs(bool mV, int *retval, char *mess); void setVthDac(int index, int enable); int getADC(enum ADCINDEX ind, int *value); diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index 879269170..f02c55111 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -1258,7 +1258,7 @@ int validateAndSetDac(enum dacIndex ind, int val, bool mV) { if (val != GET_FLAG) { #if defined(MYTHEN3D) // ignore counter enable to force vth dac values - ret = setDAC(serverDacIndex, val, mV, 0, mess); + ret = setDAC(serverDacIndex, val, mV, false, mess); // changed for setsettings (direct), // custom trimbit file (setmodule with myMod.reg as -1), // change of dac (direct) diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index c93eb7b1d..625321ce6 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -4,9 +4,9 @@ #define APILIB "0.0.0 0x250909" #define APIRECEIVER "0.0.0 0x250822" #define APICTB "0.0.0 0x260210" -#define APIGOTTHARD2 "0.0.0 0x260210" +#define APIGOTTHARD2 "0.0.0 0x260212" #define APIMOENCH "0.0.0 0x260210" -#define APIEIGER "0.0.0 0x260211" +#define APIEIGER "0.0.0 0x260212" #define APIXILINXCTB "0.0.0 0x260210" #define APIJUNGFRAU "0.0.0 0x260210" -#define APIMYTHEN3 "0.0.0 0x260210" +#define APIMYTHEN3 "0.0.0 0x260212"