mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-06 10:00:40 +02:00
jungfrau dacs named
This commit is contained in:
parent
925a750f9a
commit
fe467cdf70
@ -22,56 +22,56 @@ TEST_CASE_METHOD(MultiDetectorFixture, "Set and get dacs",
|
||||
auto th = 1000;
|
||||
|
||||
// set and read back each individual dac of EIGER
|
||||
d.setDAC(0, di::E_SvP, 0);
|
||||
CHECK(d.setDAC(-1, di::E_SvP, 0) == 0);
|
||||
d.setDAC(4000, di::E_SvN, 0);
|
||||
CHECK(d.setDAC(-1, di::E_SvN, 0) == 4000);
|
||||
d.setDAC(2000, di::E_Vtr, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vtr, 0) == 2000);
|
||||
d.setDAC(3500, di::E_Vrf, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vrf, 0) == 3500);
|
||||
d.setDAC(1400, di::E_Vrs, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vrs, 0) == 1400);
|
||||
d.setDAC(2556, di::E_Vtgstv, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vtgstv, 0) == 2556);
|
||||
d.setDAC(1500, di::E_Vcmp_ll, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_ll, 0) == 1500);
|
||||
d.setDAC(1400, di::E_Vcmp_lr, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_lr, 0) == 1400);
|
||||
d.setDAC(4000, di::E_cal, 0);
|
||||
CHECK(d.setDAC(-1, di::E_cal, 0) == 4000);
|
||||
d.setDAC(1300, di::E_Vcmp_rl, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_rl, 0) == 1300);
|
||||
d.setDAC(1200, di::E_Vcmp_rr, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_rr, 0) == 1200);
|
||||
d.setDAC(1100, di::E_rxb_rb, 0);
|
||||
CHECK(d.setDAC(-1, di::E_rxb_rb, 0) == 1100);
|
||||
d.setDAC(1100, di::E_rxb_lb, 0);
|
||||
CHECK(d.setDAC(-1, di::E_rxb_lb, 0) == 1100);
|
||||
d.setDAC(1500, di::E_Vcp, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vcp, 0) == 1500);
|
||||
d.setDAC(2000, di::E_Vcn, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vcn, 0) == 2000);
|
||||
d.setDAC(1550, di::E_Vis, 0);
|
||||
CHECK(d.setDAC(-1, di::E_Vis, 0) == 1550);
|
||||
d.setDAC(0, di::SVP, 0);
|
||||
CHECK(d.setDAC(-1, di::SVP, 0) == 0);
|
||||
d.setDAC(4000, di::SVN, 0);
|
||||
CHECK(d.setDAC(-1, di::SVN, 0) == 4000);
|
||||
d.setDAC(2000, di::VTR, 0);
|
||||
CHECK(d.setDAC(-1, di::VTR, 0) == 2000);
|
||||
d.setDAC(3500, di::VRF, 0);
|
||||
CHECK(d.setDAC(-1, di::VRF, 0) == 3500);
|
||||
d.setDAC(1400, di::VRS, 0);
|
||||
CHECK(d.setDAC(-1, di::VRS, 0) == 1400);
|
||||
d.setDAC(2556, di::VTGSTV, 0);
|
||||
CHECK(d.setDAC(-1, di::VTGSTV, 0) == 2556);
|
||||
d.setDAC(1500, di::VCMP_LL, 0);
|
||||
CHECK(d.setDAC(-1, di::VCMP_LL, 0) == 1500);
|
||||
d.setDAC(1400, di::VCMP_LR, 0);
|
||||
CHECK(d.setDAC(-1, di::VCMP_LR, 0) == 1400);
|
||||
d.setDAC(4000, di::CAL, 0);
|
||||
CHECK(d.setDAC(-1, di::CAL, 0) == 4000);
|
||||
d.setDAC(1300, di::VCMP_RL, 0);
|
||||
CHECK(d.setDAC(-1, di::VCMP_RL, 0) == 1300);
|
||||
d.setDAC(1200, di::VCMP_RR, 0);
|
||||
CHECK(d.setDAC(-1, di::VCMP_RR, 0) == 1200);
|
||||
d.setDAC(1100, di::RXB_RB, 0);
|
||||
CHECK(d.setDAC(-1, di::RXB_RB, 0) == 1100);
|
||||
d.setDAC(1100, di::RXB_LB, 0);
|
||||
CHECK(d.setDAC(-1, di::RXB_LB, 0) == 1100);
|
||||
d.setDAC(1500, di::VCP, 0);
|
||||
CHECK(d.setDAC(-1, di::VCP, 0) == 1500);
|
||||
d.setDAC(2000, di::VCN, 0);
|
||||
CHECK(d.setDAC(-1, di::VCN, 0) == 2000);
|
||||
d.setDAC(1550, di::VIS, 0);
|
||||
CHECK(d.setDAC(-1, di::VIS, 0) == 1550);
|
||||
d.setDAC(660, di::IO_DELAY, 0);
|
||||
CHECK(d.setDAC(-1, di::IO_DELAY, 0) == 660);
|
||||
|
||||
// setting threshold sets all individual vcmp
|
||||
d.setDAC(th, di::THRESHOLD, 0);
|
||||
CHECK(d.setDAC(-1, di::THRESHOLD, 0) == th);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_ll, 0) == th);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_lr, 0) == th);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_rl, 0) == th);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_rr, 0) == th);
|
||||
CHECK(d.setDAC(-1, di::VCMP_LL, 0) == th);
|
||||
CHECK(d.setDAC(-1, di::VCMP_LR, 0) == th);
|
||||
CHECK(d.setDAC(-1, di::VCMP_RL, 0) == th);
|
||||
CHECK(d.setDAC(-1, di::VCMP_RR, 0) == th);
|
||||
|
||||
// different values gives -1
|
||||
if (d.getNumberOfDetectors() > 1) {
|
||||
d.setDAC(1600, di::E_Vcmp_ll, 0, 0);
|
||||
d.setDAC(1700, di::E_Vcmp_ll, 0, 1);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_ll, 0, 0) == 1600);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_ll, 0, 1) == 1700);
|
||||
CHECK(d.setDAC(-1, di::E_Vcmp_ll, 0) == -1);
|
||||
d.setDAC(1600, di::VCMP_LL, 0, 0);
|
||||
d.setDAC(1700, di::VCMP_LL, 0, 1);
|
||||
CHECK(d.setDAC(-1, di::VCMP_LL, 0, 0) == 1600);
|
||||
CHECK(d.setDAC(-1, di::VCMP_LL, 0, 1) == 1700);
|
||||
CHECK(d.setDAC(-1, di::VCMP_LL, 0) == -1);
|
||||
CHECK(d.setDAC(-1, di::THRESHOLD, 0) == -1);
|
||||
CHECK(d.setDAC(-1, di::THRESHOLD, 0, 0) == -1);
|
||||
CHECK(d.setDAC(-1, di::THRESHOLD, 0, 1) == -1);
|
||||
|
@ -173,30 +173,30 @@ py::enum_<slsDetectorDefs::dacIndex>(Defs, "dacIndex")
|
||||
.value("VDD_POT", slsDetectorDefs::dacIndex::VDD_POT)
|
||||
.value("VSH_POT", slsDetectorDefs::dacIndex::VSH_POT)
|
||||
.value("VIO_POT", slsDetectorDefs::dacIndex::VIO_POT)
|
||||
.value("G_VREF_DS", slsDetectorDefs::dacIndex::G_VREF_DS)
|
||||
.value("G_VCASCN_PB", slsDetectorDefs::dacIndex::G_VCASCN_PB)
|
||||
.value("G_VCASCP_PB", slsDetectorDefs::dacIndex::G_VCASCP_PB)
|
||||
.value("G_VOUT_CM", slsDetectorDefs::dacIndex::G_VOUT_CM)
|
||||
.value("G_VCASC_OUT", slsDetectorDefs::dacIndex::G_VCASC_OUT)
|
||||
.value("G_VIN_CM", slsDetectorDefs::dacIndex::G_VIN_CM)
|
||||
.value("G_VREF_COMP", slsDetectorDefs::dacIndex::G_VREF_COMP)
|
||||
.value("G_IB_TESTC", slsDetectorDefs::dacIndex::G_IB_TESTC)
|
||||
.value("E_SvP", slsDetectorDefs::dacIndex::E_SvP)
|
||||
.value("E_SvN", slsDetectorDefs::dacIndex::E_SvN)
|
||||
.value("E_Vtr", slsDetectorDefs::dacIndex::E_Vtr)
|
||||
.value("E_Vrf", slsDetectorDefs::dacIndex::E_Vrf)
|
||||
.value("E_Vrs", slsDetectorDefs::dacIndex::E_Vrs)
|
||||
.value("E_Vtgstv", slsDetectorDefs::dacIndex::E_Vtgstv)
|
||||
.value("E_Vcmp_ll", slsDetectorDefs::dacIndex::E_Vcmp_ll)
|
||||
.value("E_Vcmp_lr", slsDetectorDefs::dacIndex::E_Vcmp_lr)
|
||||
.value("E_cal", slsDetectorDefs::dacIndex::E_cal)
|
||||
.value("E_Vcmp_rl", slsDetectorDefs::dacIndex::E_Vcmp_rl)
|
||||
.value("E_Vcmp_rr", slsDetectorDefs::dacIndex::E_Vcmp_rr)
|
||||
.value("E_rxb_rb", slsDetectorDefs::dacIndex::E_rxb_rb)
|
||||
.value("E_rxb_lb", slsDetectorDefs::dacIndex::E_rxb_lb)
|
||||
.value("E_Vcp", slsDetectorDefs::dacIndex::E_Vcp)
|
||||
.value("E_Vcn", slsDetectorDefs::dacIndex::E_Vcn)
|
||||
.value("E_Vis", slsDetectorDefs::dacIndex::E_Vis)
|
||||
.value("VREF_DS", slsDetectorDefs::dacIndex::VREF_DS)
|
||||
.value("VCASCN_PB", slsDetectorDefs::dacIndex::VCASCN_PB)
|
||||
.value("VCASCP_PB", slsDetectorDefs::dacIndex::VCASCP_PB)
|
||||
.value("VOUT_CM", slsDetectorDefs::dacIndex::VOUT_CM)
|
||||
.value("VCASC_OUT", slsDetectorDefs::dacIndex::VCASC_OUT)
|
||||
.value("VIN_CM", slsDetectorDefs::dacIndex::VIN_CM)
|
||||
.value("VREF_COMP", slsDetectorDefs::dacIndex::VREF_COMP)
|
||||
.value("IB_TESTC", slsDetectorDefs::dacIndex::IB_TESTC)
|
||||
.value("SVP", slsDetectorDefs::dacIndex::SVP)
|
||||
.value("SVN", slsDetectorDefs::dacIndex::SVN)
|
||||
.value("VTR", slsDetectorDefs::dacIndex::VTR)
|
||||
.value("VRF", slsDetectorDefs::dacIndex::VRF)
|
||||
.value("VRS", slsDetectorDefs::dacIndex::VRS)
|
||||
.value("VTGSTV", slsDetectorDefs::dacIndex::VTGSTV)
|
||||
.value("VCMP_LL", slsDetectorDefs::dacIndex::VCMP_LL)
|
||||
.value("VCMP_LR", slsDetectorDefs::dacIndex::VCMP_LR)
|
||||
.value("CAL", slsDetectorDefs::dacIndex::CAL)
|
||||
.value("VCMP_RL", slsDetectorDefs::dacIndex::VCMP_RL)
|
||||
.value("VCMP_RR", slsDetectorDefs::dacIndex::VCMP_RR)
|
||||
.value("RXB_RB", slsDetectorDefs::dacIndex::RXB_RB)
|
||||
.value("RXB_LB", slsDetectorDefs::dacIndex::RXB_LB)
|
||||
.value("VCP", slsDetectorDefs::dacIndex::VCP)
|
||||
.value("VCN", slsDetectorDefs::dacIndex::VCN)
|
||||
.value("VIS", slsDetectorDefs::dacIndex::VIS)
|
||||
.value("IO_DELAY", slsDetectorDefs::dacIndex::IO_DELAY)
|
||||
.value("ADC_VPP", slsDetectorDefs::dacIndex::ADC_VPP)
|
||||
.value("HIGH_VOLTAGE", slsDetectorDefs::dacIndex::HIGH_VOLTAGE)
|
||||
@ -207,16 +207,16 @@ py::enum_<slsDetectorDefs::dacIndex>(Defs, "dacIndex")
|
||||
.value("TEMPERATURE_SODR", slsDetectorDefs::dacIndex::TEMPERATURE_SODR)
|
||||
.value("TEMPERATURE_FPGA2", slsDetectorDefs::dacIndex::TEMPERATURE_FPGA2)
|
||||
.value("TEMPERATURE_FPGA3", slsDetectorDefs::dacIndex::TEMPERATURE_FPGA3)
|
||||
.value("M_vIpre", slsDetectorDefs::dacIndex::M_vIpre)
|
||||
.value("M_vIinSh", slsDetectorDefs::dacIndex::M_vIinSh)
|
||||
.value("M_VdcSh", slsDetectorDefs::dacIndex::M_VdcSh)
|
||||
.value("M_Vth2", slsDetectorDefs::dacIndex::M_Vth2)
|
||||
.value("M_VPL", slsDetectorDefs::dacIndex::M_VPL)
|
||||
.value("M_Vth3", slsDetectorDefs::dacIndex::M_Vth3)
|
||||
.value("M_casSh", slsDetectorDefs::dacIndex::M_casSh)
|
||||
.value("M_cas", slsDetectorDefs::dacIndex::M_cas)
|
||||
.value("M_vIcin", slsDetectorDefs::dacIndex::M_vIcin)
|
||||
.value("M_vIpreOut", slsDetectorDefs::dacIndex::M_vIpreOut)
|
||||
.value("VIPRE", slsDetectorDefs::dacIndex::VIPRE)
|
||||
.value("VIINSH", slsDetectorDefs::dacIndex::VIINSH)
|
||||
.value("VDCSH", slsDetectorDefs::dacIndex::VDCSH)
|
||||
.value("VTH2", slsDetectorDefs::dacIndex::VTH2)
|
||||
.value("VPL", slsDetectorDefs::dacIndex::VPL)
|
||||
.value("VTH3", slsDetectorDefs::dacIndex::VTH3)
|
||||
.value("CASSH", slsDetectorDefs::dacIndex::CASSH)
|
||||
.value("CAS", slsDetectorDefs::dacIndex::CAS)
|
||||
.value("VICIN", slsDetectorDefs::dacIndex::VICIN)
|
||||
.value("VIPRE_OUT", slsDetectorDefs::dacIndex::VIPRE_OUT)
|
||||
.value("VREF_H_ADC", slsDetectorDefs::dacIndex::VREF_H_ADC)
|
||||
.value("VB_COMP_FE", slsDetectorDefs::dacIndex::VB_COMP_FE)
|
||||
.value("VB_COMP_ADC", slsDetectorDefs::dacIndex::VB_COMP_ADC)
|
||||
|
@ -130,6 +130,17 @@ class qDefs : public QWidget {
|
||||
NUM_GUI_FUNCS
|
||||
};
|
||||
|
||||
/** returns string from enabled/disabled
|
||||
@param b true or false
|
||||
@returns string enabled, disabled
|
||||
*/
|
||||
static std::string stringEnable(bool b) {
|
||||
if (b)
|
||||
return std::string("enabled");
|
||||
else
|
||||
return std::string("disabled");
|
||||
};
|
||||
|
||||
/**
|
||||
* returns the unit in words
|
||||
* @param unit is the time unit
|
||||
|
@ -312,7 +312,7 @@ void qDetectorMain::EnableModes(QAction *action) {
|
||||
enable = actionDebug->isChecked();
|
||||
tabs->setTabEnabled(DEBUGGING, enable);
|
||||
FILE_LOG(logINFO) << "Debug Mode: "
|
||||
<< sls::ToString(enable);
|
||||
<< qDefs::stringEnable(enable);
|
||||
|
||||
}
|
||||
|
||||
@ -323,7 +323,7 @@ void qDetectorMain::EnableModes(QAction *action) {
|
||||
tabs->setTabEnabled(ADVANCED, enable);
|
||||
actionLoadTrimbits->setVisible(enable && detType == slsDetectorDefs::EIGER);
|
||||
FILE_LOG(logINFO) << "Expert Mode: "
|
||||
<< sls::ToString(enable);
|
||||
<< qDefs::stringEnable(enable);
|
||||
}
|
||||
|
||||
// Set DockableMode
|
||||
@ -336,7 +336,7 @@ void qDetectorMain::EnableModes(QAction *action) {
|
||||
dockWidgetPlot->setFeatures(QDockWidget::NoDockWidgetFeatures);
|
||||
}
|
||||
FILE_LOG(logINFO) << "Dockable Mode: "
|
||||
<< sls::ToString(enable);
|
||||
<< qDefs::stringEnable(enable);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -199,37 +199,37 @@ slsDetectorDefs::dacIndex qTabDeveloper::getSLSIndex(slsDetectorDefs::detectorTy
|
||||
case slsDetectorDefs::EIGER:
|
||||
switch (index) {
|
||||
case 0:
|
||||
return slsDetectorDefs::E_SvP;
|
||||
return slsDetectorDefs::SVP;
|
||||
case 1:
|
||||
return slsDetectorDefs::E_SvN;
|
||||
return slsDetectorDefs::SVN;
|
||||
case 2:
|
||||
return slsDetectorDefs::E_Vrf;
|
||||
return slsDetectorDefs::VRF;
|
||||
case 3:
|
||||
return slsDetectorDefs::E_Vrs;
|
||||
return slsDetectorDefs::VRS;
|
||||
case 4:
|
||||
return slsDetectorDefs::E_Vtr;
|
||||
return slsDetectorDefs::VTR;
|
||||
case 5:
|
||||
return slsDetectorDefs::E_Vtgstv;
|
||||
return slsDetectorDefs::VTGSTV;
|
||||
case 6:
|
||||
return slsDetectorDefs::E_cal;
|
||||
return slsDetectorDefs::CAL;
|
||||
case 7:
|
||||
return slsDetectorDefs::E_Vcp;
|
||||
return slsDetectorDefs::VCP;
|
||||
case 8:
|
||||
return slsDetectorDefs::E_Vcn;
|
||||
return slsDetectorDefs::VCN;
|
||||
case 9:
|
||||
return slsDetectorDefs::E_Vis;
|
||||
return slsDetectorDefs::VIS;
|
||||
case 10:
|
||||
return slsDetectorDefs::E_rxb_lb;
|
||||
return slsDetectorDefs::RXB_LB;
|
||||
case 11:
|
||||
return slsDetectorDefs::E_rxb_rb;
|
||||
return slsDetectorDefs::RXB_RB;
|
||||
case 12:
|
||||
return slsDetectorDefs::E_Vcmp_ll;
|
||||
return slsDetectorDefs::VCMP_LL;
|
||||
case 13:
|
||||
return slsDetectorDefs::E_Vcmp_lr;
|
||||
return slsDetectorDefs::VCMP_LR;
|
||||
case 14:
|
||||
return slsDetectorDefs::E_Vcmp_rl;
|
||||
return slsDetectorDefs::VCMP_RL;
|
||||
case 15:
|
||||
return slsDetectorDefs::E_Vcmp_rr;
|
||||
return slsDetectorDefs::VCMP_RR;
|
||||
case 16:
|
||||
return slsDetectorDefs::THRESHOLD;
|
||||
case 17:
|
||||
@ -251,21 +251,21 @@ slsDetectorDefs::dacIndex qTabDeveloper::getSLSIndex(slsDetectorDefs::detectorTy
|
||||
case slsDetectorDefs::GOTTHARD:
|
||||
switch (index) {
|
||||
case 0:
|
||||
return slsDetectorDefs::G_VREF_DS;
|
||||
return slsDetectorDefs::VREF_DS;
|
||||
case 1:
|
||||
return slsDetectorDefs::G_VCASCN_PB;
|
||||
return slsDetectorDefs::VCASCN_PB;
|
||||
case 2:
|
||||
return slsDetectorDefs::G_VCASCP_PB;
|
||||
return slsDetectorDefs::VCASCP_PB;
|
||||
case 3:
|
||||
return slsDetectorDefs::G_VOUT_CM;
|
||||
return slsDetectorDefs::VOUT_CM;
|
||||
case 4:
|
||||
return slsDetectorDefs::G_VCASC_OUT;
|
||||
return slsDetectorDefs::VCASC_OUT;
|
||||
case 5:
|
||||
return slsDetectorDefs::G_VIN_CM;
|
||||
return slsDetectorDefs::VIN_CM;
|
||||
case 6:
|
||||
return slsDetectorDefs::G_VREF_COMP;
|
||||
return slsDetectorDefs::VREF_COMP;
|
||||
case 7:
|
||||
return slsDetectorDefs::G_IB_TESTC;
|
||||
return slsDetectorDefs::IB_TESTC;
|
||||
case 8:
|
||||
return slsDetectorDefs::TEMPERATURE_ADC;
|
||||
case 9:
|
||||
|
Binary file not shown.
Binary file not shown.
@ -959,12 +959,12 @@ void setDAC(enum DACINDEX ind, int val, int mV) {
|
||||
|
||||
FILE_LOG(logDEBUG1, ("Setting dac[%d]: %d %s \n", (int)ind, val, (mV ? "mV" : "dac units")));
|
||||
|
||||
if (ind == VTHRESHOLD) {
|
||||
setDAC(VCMP_LL, val, mV);
|
||||
setDAC(VCMP_LR, val, mV);
|
||||
setDAC(VCMP_RL, val, mV);
|
||||
setDAC(VCMP_RR, val, mV);
|
||||
setDAC(VCP, val, mV);
|
||||
if (ind == E_VTHRESHOLD) {
|
||||
setDAC(E_VCMP_LL, val, mV);
|
||||
setDAC(E_VCMP_LR, val, mV);
|
||||
setDAC(E_VCMP_RL, val, mV);
|
||||
setDAC(E_VCMP_RR, val, mV);
|
||||
setDAC(E_VCP, val, mV);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -996,13 +996,13 @@ void setDAC(enum DACINDEX ind, int val, int mV) {
|
||||
}
|
||||
|
||||
int getDAC(enum DACINDEX ind, int mV) {
|
||||
if (ind == VTHRESHOLD) {
|
||||
if (ind == E_VTHRESHOLD) {
|
||||
int ret[5] = {0};
|
||||
ret[0] = getDAC(VCMP_LL, mV);
|
||||
ret[1] = getDAC(VCMP_LR, mV);
|
||||
ret[2] = getDAC(VCMP_RL, mV);
|
||||
ret[3] = getDAC(VCMP_RR, mV);
|
||||
ret[4] = getDAC(VCP, mV);
|
||||
ret[0] = getDAC(E_VCMP_LL, mV);
|
||||
ret[1] = getDAC(E_VCMP_LR, mV);
|
||||
ret[2] = getDAC(E_VCMP_RL, mV);
|
||||
ret[3] = getDAC(E_VCMP_RR, mV);
|
||||
ret[4] = getDAC(E_VCP, mV);
|
||||
|
||||
if ((ret[0]== ret[1])&&
|
||||
(ret[1]==ret[2])&&
|
||||
|
@ -9,7 +9,7 @@
|
||||
#define STATUS_ERROR 2
|
||||
|
||||
/* Enums */
|
||||
enum DACINDEX {SVP,VTR,VRF,VRS,SVN,VTGSTV,VCMP_LL,VCMP_LR,CAL,VCMP_RL,RXB_RB,RXB_LB,VCMP_RR,VCP,VCN,VIS,VTHRESHOLD};
|
||||
enum DACINDEX {E_SVP,E_VTR,E_VRF,E_VRS,E_SVN,E_VTGSTV,E_VCMP_LL,E_VCMP_LR,E_CAL,E_VCMP_RL,E_RXB_RB,E_RXB_LB,E_VCMP_RR,E_VCP,E_VCN,E_VIS,E_VTHRESHOLD};
|
||||
#define DEFAULT_DAC_VALS { \
|
||||
0, /* SvP */ \
|
||||
2480, /* Vtr */ \
|
||||
|
Binary file not shown.
@ -39,25 +39,25 @@
|
||||
|
||||
/** Other Definitions */
|
||||
#define BIT16_MASK (0xFFFF)
|
||||
#define DAC_NAMES "VREF_H_ADC", "DAC_UNUSED", "VB_COMP_FE", "VB_COMP_ADC", "VCOM_CDS", "VREF_RESTORE", "VB_OPA_1ST", "VREF_COMP_FE", "VCOM_ADC1", "VREF_PRECH", "VREF_L_ADC", "VREF_CDS", "VB_CS", "VB_OPA_FD", "DAC_UNUSED2", "VCOM_ADC2"
|
||||
#define DAC_NAMES "vref_h_adc", "dac_unused", "vb_comp_fe", "vb_comp_adc", "vcom_cds", "vref_restore", "vb_opa_1st", "vref_comp_fe", "vcom_adc1", "vref_prech", "vref_l_adc", "vref_cds", "vb_cs", "vb_opa_fd", "dac_unused2", "vcom_adc2"
|
||||
|
||||
/* Enums */
|
||||
enum DACINDEX {G_VREF_H_ADC, /* 0 */ \
|
||||
G_DAC_UNUSED, /* 1 */ \
|
||||
G_VB_COMP_FE, /* 2 */ \
|
||||
G_VB_COMP_ADC, /* 3 */ \
|
||||
G_VCOM_CDS, /* 4 */ \
|
||||
G_VREF_RESTORE,/* 5 */ \
|
||||
G_VB_OPA_1ST, /* 6 */ \
|
||||
G_VREF_COMP_FE,/* 7 */ \
|
||||
G_VCOM_ADC1, /* 8 */ \
|
||||
G_VREF_PRECH, /* 9 */ \
|
||||
G_VREF_L_ADC, /* 10 */ \
|
||||
G_VREF_CDS, /* 11 */ \
|
||||
G_VB_CS, /* 12 */ \
|
||||
G_VB_OPA_FD, /* 13 */ \
|
||||
G_DAC_UNUSED2, /* 14 */ \
|
||||
G_VCOM_ADC2 /* 15*/ \
|
||||
enum DACINDEX {G2_VREF_H_ADC, /* 0 */ \
|
||||
G2_DAC_UNUSED, /* 1 */ \
|
||||
G2_VB_COMP_FE, /* 2 */ \
|
||||
G2_VB_COMP_ADC, /* 3 */ \
|
||||
G2_VCOM_CDS, /* 4 */ \
|
||||
G2_VREF_RESTORE,/* 5 */ \
|
||||
G2_VB_OPA_1ST, /* 6 */ \
|
||||
G2_VREF_COMP_FE,/* 7 */ \
|
||||
G2_VCOM_ADC1, /* 8 */ \
|
||||
G2_VREF_PRECH, /* 9 */ \
|
||||
G2_VREF_L_ADC, /* 10 */ \
|
||||
G2_VREF_CDS, /* 11 */ \
|
||||
G2_VB_CS, /* 12 */ \
|
||||
G2_VB_OPA_FD, /* 13 */ \
|
||||
G2_DAC_UNUSED2, /* 14 */ \
|
||||
G2_VCOM_ADC2 /* 15*/ \
|
||||
};
|
||||
#define DEFAULT_DAC_VALS {2099, /* 0 (1050 mV) VREF_H_ADC*/ \
|
||||
0, /* 1 (0 mV) DAC_UNUSED*/ \
|
||||
|
Binary file not shown.
@ -4,16 +4,16 @@
|
||||
|
||||
/* Enums */
|
||||
enum ADCINDEX {TEMP_FPGA, TEMP_ADC};
|
||||
enum DACINDEX {VREF_DS, VCASCN_PB, VCASCP_PB, VOUT_CM, VCASC_OUT, VIN_CM, VREF_COMP, IB_TESTC};
|
||||
enum DACINDEX {G_VREF_DS, G_VCASCN_PB, G_VCASCP_PB, G_VOUT_CM, G_VCASC_OUT, G_VIN_CM, G_VREF_COMP, G_IB_TESTC};
|
||||
#define DEFAULT_DAC_VALS { \
|
||||
660, /* VREF_DS */ \
|
||||
650, /* VCASCN_PB */ \
|
||||
1480, /* VCASCP_PB */ \
|
||||
1520, /* VOUT_CM */ \
|
||||
1320, /* VCASC_OUT */ \
|
||||
1350, /* VIN_CM */ \
|
||||
350, /* VREF_COMP */ \
|
||||
2001 /* IB_TESTC */ \
|
||||
660, /* G_VREF_DS */ \
|
||||
650, /* G_VCASCN_PB */ \
|
||||
1480, /* G_VCASCP_PB */ \
|
||||
1520, /* G_VOUT_CM */ \
|
||||
1320, /* G_VCASC_OUT */ \
|
||||
1350, /* G_VIN_CM */ \
|
||||
350, /* G_VREF_COMP */ \
|
||||
2001 /* G_IB_TESTC */ \
|
||||
};
|
||||
|
||||
/* for 25 um */
|
||||
|
Binary file not shown.
@ -39,14 +39,14 @@ typedef struct udp_header_struct {
|
||||
/* Enums */
|
||||
enum ADCINDEX {TEMP_FPGA, TEMP_ADC};
|
||||
enum DACINDEX {J_VB_COMP, J_VDD_PROT, J_VIN_COM, J_VREF_PRECH, J_VB_PIXBUF, J_VB_DS, J_VREF_DS, J_VREF_COMP };
|
||||
#define DEFAULT_DAC_VALS { 1220, /* VB_COMP */ \
|
||||
3000, /* VDD_PROT */ \
|
||||
1053, /* VIN_COM */ \
|
||||
1450, /* VREF_PRECH */ \
|
||||
750, /* VB_PIXBUF */ \
|
||||
1000, /* VB_DS */ \
|
||||
480, /* VREF_DS */ \
|
||||
420 /* VREF_COMP */ \
|
||||
#define DEFAULT_DAC_VALS { 1220, /* J_VB_COMP */ \
|
||||
3000, /* J_VDD_PROT */ \
|
||||
1053, /* J_VIN_COM */ \
|
||||
1450, /* J_VREF_PRECH */ \
|
||||
750, /* J_VB_PIXBUF */ \
|
||||
1000, /* J_VB_DS */ \
|
||||
480, /* J_VREF_DS */ \
|
||||
420 /* J_VREF_COMP */ \
|
||||
};
|
||||
enum NETWORKINDEX { TXN_FRAME, FLOWCTRL_10G };
|
||||
|
||||
|
Binary file not shown.
@ -36,7 +36,7 @@
|
||||
#define DAC_NAMES "cassh", "vth2", "vshaper", "vshaperneg", "vipreout", "vth3", "vth1", "vicin", "cas", "vpreamp", "vph", "vipre", "viinsh", "vpl", "vtrim", "vdcsh"
|
||||
/* Enums */
|
||||
enum CLKINDEX {RUN_CLK, TICK_CLK, SAMPLING_CLK, NUM_CLOCKS};
|
||||
enum DACINDEX {CASSH, VTH2, VRFSH, VRFSHNPOL, VIPREOUT, VTH3, VTH1, VICIN, CAS, VRF, VPH, VIPRE, VIINSH, VPL, VTRIM, VDCSH};
|
||||
enum DACINDEX {M_CASSH, M_VTH2, M_VRFSH, M_VRFSHNPOL, M_VIPRE_OUT, M_VTH3, M_VTH1, M_VICIN, M_CAS, M_VRF, M_VPH, M_VIPRE, M_VIINSH, M_VPL, M_VTRIM, M_VDCSH};
|
||||
#define DEFAULT_DAC_VALS {1200, /* casSh */ \
|
||||
2800, /* Vth2 */ \
|
||||
1280, /* VrfSh */ \
|
||||
|
@ -744,86 +744,83 @@ int set_dac(int file_des) {
|
||||
// check if dac exists for this detector
|
||||
switch (ind) {
|
||||
#ifdef GOTTHARDD
|
||||
case G_VREF_DS :
|
||||
serverDacIndex = VREF_DS;
|
||||
case VREF_DS :
|
||||
serverDacIndex = G_VREF_DS;
|
||||
break;
|
||||
case G_VCASCN_PB:
|
||||
serverDacIndex = VCASCN_PB;
|
||||
case VCASCN_PB:
|
||||
serverDacIndex = G_VCASCN_PB;
|
||||
break;
|
||||
case G_VCASCP_PB:
|
||||
serverDacIndex = VCASCP_PB;
|
||||
case VCASCP_PB:
|
||||
serverDacIndex = G_VCASCP_PB;
|
||||
break;
|
||||
case G_VOUT_CM:
|
||||
serverDacIndex = VOUT_CM;
|
||||
case VOUT_CM:
|
||||
serverDacIndex = G_VOUT_CM;
|
||||
break;
|
||||
case G_VCASC_OUT:
|
||||
serverDacIndex = VCASC_OUT;
|
||||
case VCASC_OUT:
|
||||
serverDacIndex = G_VCASC_OUT;
|
||||
break;
|
||||
case G_VIN_CM:
|
||||
serverDacIndex = VIN_CM;
|
||||
case VIN_CM:
|
||||
serverDacIndex = G_VIN_CM;
|
||||
break;
|
||||
case G_VREF_COMP:
|
||||
serverDacIndex = VREF_COMP;
|
||||
case VREF_COMP:
|
||||
serverDacIndex = G_VREF_COMP;
|
||||
break;
|
||||
case G_IB_TESTC:
|
||||
serverDacIndex = IB_TESTC;
|
||||
case IB_TESTC:
|
||||
serverDacIndex = G_IB_TESTC;
|
||||
break;
|
||||
case HIGH_VOLTAGE:
|
||||
break;
|
||||
#elif EIGERD
|
||||
case TRIMBIT_SIZE:
|
||||
serverDacIndex = VTR;
|
||||
break;
|
||||
case THRESHOLD:
|
||||
serverDacIndex = VTHRESHOLD;
|
||||
serverDacIndex = E_VTHRESHOLD;
|
||||
break;
|
||||
case E_SvP:
|
||||
serverDacIndex = SVP;
|
||||
case SVP:
|
||||
serverDacIndex = E_SVP;
|
||||
break;
|
||||
case E_SvN:
|
||||
serverDacIndex = SVN;
|
||||
case SVN:
|
||||
serverDacIndex = E_SVN;
|
||||
break;
|
||||
case E_Vtr:
|
||||
serverDacIndex = VTR;
|
||||
case VTR:
|
||||
serverDacIndex = E_VTR;
|
||||
break;
|
||||
case E_Vrf:
|
||||
serverDacIndex = VRF;
|
||||
case VRF:
|
||||
serverDacIndex = E_VRF;
|
||||
break;
|
||||
case E_Vrs:
|
||||
serverDacIndex = VRS;
|
||||
case VRS:
|
||||
serverDacIndex = E_VRS;
|
||||
break;
|
||||
case E_Vtgstv:
|
||||
serverDacIndex = VTGSTV;
|
||||
case VTGSTV:
|
||||
serverDacIndex = E_VTGSTV;
|
||||
break;
|
||||
case E_Vcmp_ll:
|
||||
serverDacIndex = VCMP_LL;
|
||||
case VCMP_LL:
|
||||
serverDacIndex = E_VCMP_LL;
|
||||
break;
|
||||
case E_Vcmp_lr:
|
||||
serverDacIndex = VCMP_LR;
|
||||
case VCMP_LR:
|
||||
serverDacIndex = E_VCMP_LR;
|
||||
break;
|
||||
case E_cal:
|
||||
serverDacIndex = CAL;
|
||||
case CAL:
|
||||
serverDacIndex = E_CAL;
|
||||
break;
|
||||
case E_Vcmp_rl:
|
||||
serverDacIndex = VCMP_RL;
|
||||
case VCMP_RL:
|
||||
serverDacIndex = E_VCMP_RL;
|
||||
break;
|
||||
case E_Vcmp_rr:
|
||||
serverDacIndex = VCMP_RR;
|
||||
case VCMP_RR:
|
||||
serverDacIndex = E_VCMP_RR;
|
||||
break;
|
||||
case E_rxb_rb:
|
||||
serverDacIndex = RXB_RB;
|
||||
case RXB_RB:
|
||||
serverDacIndex = E_RXB_RB;
|
||||
break;
|
||||
case E_rxb_lb:
|
||||
serverDacIndex = RXB_LB;
|
||||
case RXB_LB:
|
||||
serverDacIndex = E_RXB_LB;
|
||||
break;
|
||||
case E_Vcp:
|
||||
serverDacIndex = VCP;
|
||||
case VCP:
|
||||
serverDacIndex = E_VCP;
|
||||
break;
|
||||
case E_Vcn:
|
||||
serverDacIndex = VCN;
|
||||
case VCN:
|
||||
serverDacIndex = E_VCN;
|
||||
break;
|
||||
case E_Vis:
|
||||
serverDacIndex = VIS;
|
||||
case VIS:
|
||||
serverDacIndex = E_VIS;
|
||||
break;
|
||||
case HIGH_VOLTAGE:
|
||||
case IO_DELAY:
|
||||
@ -860,107 +857,130 @@ int set_dac(int file_des) {
|
||||
#elif MYTHEN3D
|
||||
case HIGH_VOLTAGE:
|
||||
break;
|
||||
case M_casSh:
|
||||
serverDacIndex = CASSH;
|
||||
case CASSH:
|
||||
serverDacIndex = M_CASSH;
|
||||
break;
|
||||
case M_Vth2:
|
||||
serverDacIndex = VTH2;
|
||||
case VTH2:
|
||||
serverDacIndex = M_VTH2;
|
||||
break;
|
||||
case SHAPER1:
|
||||
serverDacIndex = VRFSH;
|
||||
serverDacIndex = M_VRFSH;
|
||||
break;
|
||||
case SHAPER2:
|
||||
serverDacIndex = VRFSHNPOL;
|
||||
serverDacIndex = M_VRFSHNPOL;
|
||||
break;
|
||||
case M_vIpreOut:
|
||||
serverDacIndex = VIPREOUT;
|
||||
case VIPRE_OUT:
|
||||
serverDacIndex = M_VIPRE_OUT;
|
||||
break;
|
||||
case M_Vth3:
|
||||
serverDacIndex = VTH3;
|
||||
case VTH3:
|
||||
serverDacIndex = M_VTH3;
|
||||
break;
|
||||
case THRESHOLD:
|
||||
serverDacIndex = VTH1;
|
||||
serverDacIndex = M_VTH1;
|
||||
break;
|
||||
case M_vIcin:
|
||||
serverDacIndex = VICIN;
|
||||
case VICIN:
|
||||
serverDacIndex = M_VICIN;
|
||||
break;
|
||||
case M_cas:
|
||||
serverDacIndex = CAS;
|
||||
case CAS:
|
||||
serverDacIndex = M_CAS;
|
||||
break;
|
||||
case PREAMP:
|
||||
serverDacIndex = VRF;
|
||||
serverDacIndex = M_VRF;
|
||||
break;
|
||||
case CALIBRATION_PULSE:
|
||||
serverDacIndex = VPH;
|
||||
serverDacIndex = M_VPH;
|
||||
break;
|
||||
case M_vIpre:
|
||||
serverDacIndex = VIPRE;
|
||||
case VIPRE:
|
||||
serverDacIndex = M_VIPRE;
|
||||
break;
|
||||
case M_vIinSh:
|
||||
serverDacIndex = VIINSH;
|
||||
case VIINSH:
|
||||
serverDacIndex = M_VIINSH;
|
||||
break;
|
||||
case M_VPL:
|
||||
serverDacIndex = VPL;
|
||||
case VPL:
|
||||
serverDacIndex = M_VPL;
|
||||
break;
|
||||
case TRIMBIT_SIZE:
|
||||
serverDacIndex = VTRIM;
|
||||
serverDacIndex = M_VTRIM;
|
||||
break;
|
||||
case M_VdcSh:
|
||||
serverDacIndex = VDCSH;
|
||||
case VDCSH:
|
||||
serverDacIndex = M_VDCSH;
|
||||
break;
|
||||
#elif GOTTHARD2D
|
||||
case HIGH_VOLTAGE:
|
||||
break;
|
||||
case VREF_H_ADC:
|
||||
serverDacIndex = G_VREF_H_ADC;
|
||||
serverDacIndex = G2_VREF_H_ADC;
|
||||
break;
|
||||
case VB_COMP_FE:
|
||||
serverDacIndex = G_VB_COMP_FE;
|
||||
serverDacIndex = G2_VB_COMP_FE;
|
||||
break;
|
||||
case VB_COMP_ADC:
|
||||
serverDacIndex = G_VB_COMP_ADC;
|
||||
serverDacIndex = G2_VB_COMP_ADC;
|
||||
break;
|
||||
case VCOM_CDS:
|
||||
serverDacIndex = G_VCOM_CDS;
|
||||
serverDacIndex = G2_VCOM_CDS;
|
||||
break;
|
||||
case VREF_RESTORE:
|
||||
serverDacIndex = G_VREF_RESTORE;
|
||||
serverDacIndex = G2_VREF_RESTORE;
|
||||
break;
|
||||
case VB_OPA_1ST:
|
||||
serverDacIndex = G_VB_OPA_1ST;
|
||||
serverDacIndex = G2_VB_OPA_1ST;
|
||||
break;
|
||||
case VREF_COMP_FE:
|
||||
serverDacIndex = G_VREF_COMP_FE;
|
||||
serverDacIndex = G2_VREF_COMP_FE;
|
||||
break;
|
||||
case VCOM_ADC1:
|
||||
serverDacIndex = G_VCOM_ADC1;
|
||||
serverDacIndex = G2_VCOM_ADC1;
|
||||
break;
|
||||
case VREF_PRECH:
|
||||
serverDacIndex = G_VREF_PRECH;
|
||||
serverDacIndex = G2_VREF_PRECH;
|
||||
break;
|
||||
case VREF_L_ADC:
|
||||
serverDacIndex = G_VREF_L_ADC;
|
||||
serverDacIndex = G2_VREF_L_ADC;
|
||||
break;
|
||||
case VREF_CDS:
|
||||
serverDacIndex = G_VREF_CDS;
|
||||
serverDacIndex = G2_VREF_CDS;
|
||||
break;
|
||||
case VB_CS:
|
||||
serverDacIndex = G_VB_CS;
|
||||
serverDacIndex = G2_VB_CS;
|
||||
break;
|
||||
case VB_OPA_FD:
|
||||
serverDacIndex = G_VB_OPA_FD;
|
||||
serverDacIndex = G2_VB_OPA_FD;
|
||||
break;
|
||||
case VCOM_ADC2:
|
||||
serverDacIndex = G_VCOM_ADC2;
|
||||
break;
|
||||
serverDacIndex = G2_VCOM_ADC2;
|
||||
break;
|
||||
#elif JUNGFRAUD
|
||||
case HIGH_VOLTAGE:
|
||||
break;
|
||||
case VB_DS:
|
||||
serverDacIndex = J_VB_DS;
|
||||
break;
|
||||
case VB_COMP:
|
||||
serverDacIndex = J_VB_COMP;
|
||||
break;
|
||||
case VB_PIXBUF:
|
||||
serverDacIndex = J_VB_PIXBUF;
|
||||
break;
|
||||
case VREF_DS:
|
||||
serverDacIndex = J_VREF_DS;
|
||||
break;
|
||||
case VREF_COMP:
|
||||
serverDacIndex = J_VREF_COMP;
|
||||
break;
|
||||
case VREF_PRECH:
|
||||
serverDacIndex = J_VREF_PRECH;
|
||||
break;
|
||||
case VIN_COM:
|
||||
serverDacIndex = J_VIN_COM;
|
||||
break;
|
||||
case VDD_PROT:
|
||||
serverDacIndex = J_VDD_PROT;
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
#ifdef JUNGFRAUD
|
||||
if ((ind == HIGH_VOLTAGE) || (ind < NDAC_OLDBOARD)) { //for compatibility with old board
|
||||
serverDacIndex = ind;
|
||||
break;
|
||||
}
|
||||
#elif CHIPTESTBOARDD
|
||||
#ifdef CHIPTESTBOARDD
|
||||
if (ind < NDAC_ONLY) {
|
||||
serverDacIndex = ind;
|
||||
break;
|
||||
|
@ -454,6 +454,7 @@ class CmdProxy {
|
||||
{"clkdivider", "speed"},
|
||||
|
||||
/** dacs */
|
||||
{"vcall", "vcal"},
|
||||
|
||||
/* acquisition */
|
||||
{"busy", "clearbusy"},
|
||||
@ -576,7 +577,7 @@ class CmdProxy {
|
||||
{"vtgstv", &CmdProxy::vtgstv},
|
||||
{"vcmp_ll", &CmdProxy::vcmp_ll},
|
||||
{"vcmp_lr", &CmdProxy::vcmp_lr},
|
||||
{"vcall", &CmdProxy::vcall}, //TODO???
|
||||
{"vcal", &CmdProxy::vcal},
|
||||
{"vcmp_rl", &CmdProxy::vcmp_rl},
|
||||
{"vcmp_rr", &CmdProxy::vcmp_rr},
|
||||
{"rxb_rb", &CmdProxy::rxb_rb},
|
||||
@ -608,6 +609,7 @@ class CmdProxy {
|
||||
{"cassh", &CmdProxy::cassh},
|
||||
{"cas", &CmdProxy::cas},
|
||||
{"vicin", &CmdProxy::vicin},
|
||||
{"vipre_out", &CmdProxy::vipre_out},
|
||||
{"vref_h_adc", &CmdProxy::vref_h_adc},
|
||||
{"vb_comp_fe", &CmdProxy::vb_comp_fe},
|
||||
{"vb_comp_adc", &CmdProxy::vb_comp_adc},
|
||||
@ -623,6 +625,12 @@ class CmdProxy {
|
||||
{"vb_opa_fd", &CmdProxy::vb_opa_fd},
|
||||
{"vcom_adc2", &CmdProxy::vcom_adc2},
|
||||
{"adcvpp", &CmdProxy::adcvpp},
|
||||
{"vb_ds", &CmdProxy::vb_ds},
|
||||
{"vb_comp", &CmdProxy::vb_comp},
|
||||
{"vb_pixbuf", &CmdProxy::vb_pixbuf},
|
||||
{"vin_com", &CmdProxy::vin_com},
|
||||
{"vdd_prot", &CmdProxy::vdd_prot},
|
||||
|
||||
{"dac", &CmdProxy::Dac},
|
||||
|
||||
|
||||
@ -997,80 +1005,80 @@ class CmdProxy {
|
||||
DAC_COMMAND(vthreshold, getDAC, setDAC, defs::THRESHOLD,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger][Mythen3] Detector threshold voltage for single photon counters.");
|
||||
|
||||
DAC_COMMAND(vsvp, getDAC, setDAC, defs::E_SvP,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vsvp, getDAC, setDAC, defs::SVP,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vsvn, getDAC, setDAC, defs::E_SvN,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vsvn, getDAC, setDAC, defs::SVN,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vtr, getDAC, setDAC, defs::E_Vtr,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vtr, getDAC, setDAC, defs::VTR,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vrf, getDAC, setDAC, defs::E_Vrf,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vrf, getDAC, setDAC, defs::VRF,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vrs, getDAC, setDAC, defs::E_Vrs,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vrs, getDAC, setDAC, defs::VRS,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vtgstv, getDAC, setDAC, defs::E_Vtgstv,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vtgstv, getDAC, setDAC, defs::VTGSTV,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vcmp_ll, getDAC, setDAC, defs::E_Vcmp_ll,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vcmp_ll, getDAC, setDAC, defs::VCMP_LL,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vcmp_lr, getDAC, setDAC, defs::E_Vcmp_lr,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vcmp_lr, getDAC, setDAC, defs::VCMP_LR,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vcall, getDAC, setDAC, defs::E_cal,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO , vcall??
|
||||
DAC_COMMAND(vcal, getDAC, setDAC, defs::CAL,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vcmp_rl, getDAC, setDAC, defs::E_Vcmp_rl,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vcmp_rl, getDAC, setDAC, defs::VCMP_RL,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vcmp_rr, getDAC, setDAC, defs::E_Vcmp_rr,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vcmp_rr, getDAC, setDAC, defs::VCMP_RR,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(rxb_rb, getDAC, setDAC, defs::E_rxb_rb,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(rxb_rb, getDAC, setDAC, defs::RXB_RB,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(rxb_lb, getDAC, setDAC, defs::E_rxb_lb,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(rxb_lb, getDAC, setDAC, defs::RXB_LB,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vcp, getDAC, setDAC, defs::E_Vcp,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vcp, getDAC, setDAC, defs::VCP,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vcn, getDAC, setDAC, defs::E_Vcn,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vcn, getDAC, setDAC, defs::VCN,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vis, getDAC, setDAC, defs::E_Vis,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
DAC_COMMAND(vis, getDAC, setDAC, defs::VIS,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(iodelay, getDAC, setDAC, defs::IO_DELAY,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Eiger dac ?? "); //TODO
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Eiger] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vref_ds, getDAC, setDAC, defs::G_VREF_DS,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] dac ?? "); //TODO
|
||||
DAC_COMMAND(vref_ds, getDAC, setDAC, defs::VREF_DS,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard][Jungfrau] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vcascn_pb, getDAC, setDAC, defs::G_VCASCN_PB,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] dac ?? "); //TODO
|
||||
DAC_COMMAND(vcascn_pb, getDAC, setDAC, defs::VCASCN_PB,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vcascp_pb, getDAC, setDAC, defs::G_VCASCP_PB,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] dac ?? "); //TODO
|
||||
DAC_COMMAND(vcascp_pb, getDAC, setDAC, defs::VCASCP_PB,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vout_cm, getDAC, setDAC, defs::G_VOUT_CM,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] dac ?? "); //TODO
|
||||
DAC_COMMAND(vout_cm, getDAC, setDAC, defs::VOUT_CM,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vcasc_out, getDAC, setDAC, defs::G_VCASC_OUT,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] dac ?? "); //TODO
|
||||
DAC_COMMAND(vcasc_out, getDAC, setDAC, defs::VCASC_OUT,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vin_cm, getDAC, setDAC, defs::G_VIN_CM,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] dac ?? "); //TODO
|
||||
DAC_COMMAND(vin_cm, getDAC, setDAC, defs::VIN_CM,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vref_comp, getDAC, setDAC, defs::G_VREF_COMP,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] dac ?? "); //TODO
|
||||
DAC_COMMAND(vref_comp, getDAC, setDAC, defs::VREF_COMP,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard][Jungfrau] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(ib_test_c, getDAC, setDAC, defs::G_IB_TESTC,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] dac ?? "); //TODO
|
||||
DAC_COMMAND(ib_test_c, getDAC, setDAC, defs::IB_TESTC,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard] Dac for ?? "); //TODO
|
||||
|
||||
DAC_COMMAND(vpreamp, getDAC, setDAC, defs::PREAMP,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] voltage to define the preamplifier feedback resistance.");
|
||||
@ -1081,88 +1089,105 @@ class CmdProxy {
|
||||
DAC_COMMAND(vshaper2, getDAC, setDAC, defs::SHAPER2,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] voltage to define feedback resistance of the second shaper.");
|
||||
|
||||
DAC_COMMAND(vipre, getDAC, setDAC, defs::M_vIpre,
|
||||
DAC_COMMAND(vipre, getDAC, setDAC, defs::VIPRE,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for the preamplifier's input transistor current.");
|
||||
|
||||
DAC_COMMAND(viinsh, getDAC, setDAC, defs::M_vIinSh,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] dac for the bias current for the shaper.");
|
||||
DAC_COMMAND(viinsh, getDAC, setDAC, defs::VIINSH,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for the bias current for the shaper.");
|
||||
|
||||
DAC_COMMAND(vdcsh, getDAC, setDAC, defs::M_VdcSh,
|
||||
DAC_COMMAND(vdcsh, getDAC, setDAC, defs::VDCSH,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for the reference (DC) voltage for the shaper.");
|
||||
|
||||
DAC_COMMAND(vth1, getDAC, setDAC, defs::THRESHOLD,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for first detector threshold voltage.");
|
||||
|
||||
DAC_COMMAND(vth2, getDAC, setDAC, defs::M_Vth2,
|
||||
DAC_COMMAND(vth2, getDAC, setDAC, defs::VTH2,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for second detector threshold voltage.");
|
||||
|
||||
DAC_COMMAND(vth3, getDAC, setDAC, defs::M_Vth3,
|
||||
DAC_COMMAND(vth3, getDAC, setDAC, defs::VTH3,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for third detector threshold voltage.");
|
||||
|
||||
DAC_COMMAND(vpl, getDAC, setDAC, defs::M_VPL,
|
||||
DAC_COMMAND(vpl, getDAC, setDAC, defs::VPL,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for the low voltage for analog pulsing.");
|
||||
|
||||
DAC_COMMAND(vph, getDAC, setDAC, defs::CALIBRATION_PULSE,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] dac for the high voltage for analog pulsing.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for the high voltage for analog pulsing.");
|
||||
|
||||
DAC_COMMAND(vtrim, getDAC, setDAC, defs::TRIMBIT_SIZE,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] dac for the voltage defining the trim bit size.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for the voltage defining the trim bit size.");
|
||||
|
||||
DAC_COMMAND(cassh, getDAC, setDAC, defs::M_casSh,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] dac for the shaper's cascode voltage.");
|
||||
DAC_COMMAND(cassh, getDAC, setDAC, defs::CASSH,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for the shaper's cascode voltage.");
|
||||
|
||||
DAC_COMMAND(cas, getDAC, setDAC, defs::M_cas,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] dac for the preamplifier's cascode voltage.");
|
||||
DAC_COMMAND(cas, getDAC, setDAC, defs::CAS,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for the preamplifier's cascode voltage.");
|
||||
|
||||
DAC_COMMAND(vicin, getDAC, setDAC, defs::M_vIcin,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] dac for the bias current for the comparator.");
|
||||
DAC_COMMAND(vicin, getDAC, setDAC, defs::VICIN,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for the bias current for the comparator.");
|
||||
|
||||
DAC_COMMAND(vipre_out, getDAC, setDAC, defs::VIPRE_OUT,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Mythen3] Dac for preamplifier's output transistor current."); //TODO
|
||||
|
||||
DAC_COMMAND(vref_h_adc, getDAC, setDAC, defs::VREF_H_ADC,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for reference voltage high of ADC.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for reference voltage high of ADC.");
|
||||
|
||||
DAC_COMMAND(vb_comp_fe, getDAC, setDAC, defs::VB_COMP_FE,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for comparator current of analogue front end.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for comparator current of analogue front end.");
|
||||
|
||||
DAC_COMMAND(vb_comp_adc, getDAC, setDAC, defs::VB_COMP_ADC,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for comparator current of ADC.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for comparator current of ADC.");
|
||||
|
||||
DAC_COMMAND(vcom_cds, getDAC, setDAC, defs::VCOM_CDS,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for common mode voltage of CDS stage.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for common mode voltage of CDS stage.");
|
||||
|
||||
DAC_COMMAND(vref_restore, getDAC, setDAC, defs::VREF_RESTORE,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for reference charging voltage of temparory storage cell in high gain.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for reference charging voltage of temparory storage cell in high gain.");
|
||||
|
||||
DAC_COMMAND(vb_opa_1st, getDAC, setDAC, defs::VB_OPA_1ST,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac dac for opa current for driving the other DACs in chip.");
|
||||
|
||||
DAC_COMMAND(vref_comp_fe, getDAC, setDAC, defs::VREF_COMP_FE,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for reference voltage of the comparator of analogue front end.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for reference voltage of the comparator of analogue front end.");
|
||||
|
||||
DAC_COMMAND(vcom_adc1, getDAC, setDAC, defs::VCOM_ADC1,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for common mode voltage of ADC DAC bank 1.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for common mode voltage of ADC DAC bank 1.");
|
||||
|
||||
DAC_COMMAND(vref_prech, getDAC, setDAC, defs::VREF_PRECH,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for reference votlage for precharing the preamplifier.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2][Jungfrau] Dac for reference votlage for precharing the preamplifier."); //TODO also for jungfrau?
|
||||
|
||||
DAC_COMMAND(vref_l_adc, getDAC, setDAC, defs::VREF_L_ADC,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for reference voltage low for ADC.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for reference voltage low for ADC.");
|
||||
|
||||
DAC_COMMAND(vref_cds, getDAC, setDAC, defs::VREF_CDS,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for reference voltage of CDS applied to the temporary storage cell in medium and low gain.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for reference voltage of CDS applied to the temporary storage cell in medium and low gain.");
|
||||
|
||||
DAC_COMMAND(vb_cs, getDAC, setDAC, defs::VB_CS,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for current injection into preamplifier.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for current injection into preamplifier.");
|
||||
|
||||
DAC_COMMAND(vb_opa_fd, getDAC, setDAC, defs::VB_OPA_FD,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for current for CDS opa stage.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for current for CDS opa stage.");
|
||||
|
||||
DAC_COMMAND(vcom_adc2, getDAC, setDAC, defs::VCOM_ADC2,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] dac for common mode voltage of ADC DAC bank 2.");
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Gotthard2] Dac for common mode voltage of ADC DAC bank 2.");
|
||||
|
||||
DAC_COMMAND(adcvpp, getDAC, setDAC, defs::ADC_VPP,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Ctb] Vpp of ADC.\n\t 0 -> 1V ; 1 -> 1.14V ; 2 -> 1.33V ; 3 -> 1.6V ; 4 -> 2V.");
|
||||
|
||||
DAC_COMMAND(vb_ds, getDAC, setDAC, defs::VB_DS,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Jungfrau] Dac for ??"); //TODO
|
||||
|
||||
DAC_COMMAND(vb_comp, getDAC, setDAC, defs::VB_COMP,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Jungfrau] Dac for ??"); //TODO
|
||||
|
||||
DAC_COMMAND(vb_pixbuf, getDAC, setDAC, defs::VB_PIXBUF,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Jungfrau] Dac for ??"); //TODO
|
||||
|
||||
DAC_COMMAND(vin_com, getDAC, setDAC, defs::VIN_COM,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Jungfrau] Dac for ??"); //TODO
|
||||
|
||||
DAC_COMMAND(vdd_prot, getDAC, setDAC, defs::VDD_PROT,
|
||||
"[dac or mv value][(optional unit) mv] \n\t[Jungfrau] Dac for ??"); //TODO
|
||||
|
||||
|
||||
/* acquisition */
|
||||
|
||||
|
@ -428,9 +428,9 @@ public:
|
||||
* @param val value (in V) (-1 gets)
|
||||
* @param index DAC index
|
||||
* Options: slsDetectorDefs::dacIndex
|
||||
* (Eiger: E_SvP up to IO_DELAY, THRESHOLD, HIGH_VOLTAGE)
|
||||
* (Eiger: SVP up to IO_DELAY, THRESHOLD, HIGH_VOLTAGE)
|
||||
* (Jungfrau: 0-7)
|
||||
* (Gotthard: G_VREF_DS up to G_IB_TESTC, HIGH_VOLTAGE)
|
||||
* (Gotthard: VREF_DS up to IB_TESTC, HIGH_VOLTAGE)
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
* @returns current DAC value
|
||||
*/
|
||||
|
@ -3388,26 +3388,26 @@ sls_detector_module slsDetector::interpolateTrim(sls_detector_module *a,
|
||||
|
||||
sls_detector_module myMod{shm()->myDetectorType};
|
||||
enum eiger_DacIndex {
|
||||
SVP,
|
||||
VTR,
|
||||
VRF,
|
||||
VRS,
|
||||
SVN,
|
||||
VTGSTV,
|
||||
VCMP_LL,
|
||||
VCMP_LR,
|
||||
CAL,
|
||||
VCMP_RL,
|
||||
RXB_RB,
|
||||
RXB_LB,
|
||||
VCMP_RR,
|
||||
VCP,
|
||||
VCN,
|
||||
VIS
|
||||
E_SVP,
|
||||
E_VTR,
|
||||
E_VRF,
|
||||
E_VRS,
|
||||
E_SVN,
|
||||
E_VTGSTV,
|
||||
E_VCMP_LL,
|
||||
E_VCMP_LR,
|
||||
E_CAL,
|
||||
E_VCMP_RL,
|
||||
E_RXB_RB,
|
||||
E_RXB_LB,
|
||||
E_VCMP_RR,
|
||||
E_VCP,
|
||||
E_VCN,
|
||||
E_VIS
|
||||
};
|
||||
|
||||
// Copy other dacs
|
||||
int dacs_to_copy[] = {SVP, VTR, SVN, VTGSTV, RXB_RB, RXB_LB, VCN, VIS};
|
||||
int dacs_to_copy[] = {E_SVP, E_VTR, E_SVN, E_VTGSTV, E_RXB_RB, E_RXB_LB, E_VCN, E_VIS};
|
||||
int num_dacs_to_copy = sizeof(dacs_to_copy) / sizeof(dacs_to_copy[0]);
|
||||
for (int i = 0; i < num_dacs_to_copy; ++i) {
|
||||
if (a->dacs[dacs_to_copy[i]] != b->dacs[dacs_to_copy[i]]) {
|
||||
@ -3417,16 +3417,16 @@ sls_detector_module slsDetector::interpolateTrim(sls_detector_module *a,
|
||||
}
|
||||
|
||||
// Copy irrelevant dacs (without failing): CAL
|
||||
if (a->dacs[CAL] != b->dacs[CAL]) {
|
||||
if (a->dacs[E_CAL] != b->dacs[E_CAL]) {
|
||||
FILE_LOG(logWARNING)
|
||||
<< "DAC CAL differs in both energies (" << a->dacs[CAL] << ","
|
||||
<< b->dacs[CAL] << ")!\nTaking first: " << a->dacs[CAL];
|
||||
<< "DAC CAL differs in both energies (" << a->dacs[E_CAL] << ","
|
||||
<< b->dacs[E_CAL] << ")!\nTaking first: " << a->dacs[E_CAL];
|
||||
}
|
||||
myMod.dacs[CAL] = a->dacs[CAL];
|
||||
myMod.dacs[E_CAL] = a->dacs[E_CAL];
|
||||
|
||||
// Interpolate vrf, vcmp, vcp
|
||||
int dacs_to_interpolate[] = {VRF, VCMP_LL, VCMP_LR, VCMP_RL,
|
||||
VCMP_RR, VCP, VRS};
|
||||
int dacs_to_interpolate[] = {E_VRF, E_VCMP_LL, E_VCMP_LR, E_VCMP_RL,
|
||||
E_VCMP_RR, E_VCP, E_VRS};
|
||||
int num_dacs_to_interpolate =
|
||||
sizeof(dacs_to_interpolate) / sizeof(dacs_to_interpolate[0]);
|
||||
for (int i = 0; i < num_dacs_to_interpolate; ++i) {
|
||||
|
@ -137,17 +137,17 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vcmp_lr " + std::to_string(prev_val), PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vcall", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vcall "));
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vcal", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vcal "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vcall 1000", PUT));
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vcal 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vcall", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vcall 1000\n");
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vcal", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vcal 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vcall " + std::to_string(prev_val), PUT));
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vcal " + std::to_string(prev_val), PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vcmp_rl", GET, nullptr, oss));
|
||||
@ -276,29 +276,136 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("cassh", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("cas", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vicin", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_h_adc", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vb_comp_fe", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vb_comp_adc", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vcom_cds", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vref_restore", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vb_opa_1st", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vref_comp_fe", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vcom_adc1", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vref_prech", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vref_l_adc", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vref_cds", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vb_cs", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vb_opa_fd", GET)); REQUIRE_THROWS(multiSlsDetectorClient("vcom_adc2", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vipre_out", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_h_adc", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp_fe", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp_adc", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcom_cds", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_restore", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_opa_1st", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_comp_fe", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcom_adc1", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_l_adc", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_cds", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_cs", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_opa_fd", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcom_adc2", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_ds", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_pixbuf", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vin_com", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vdd_prot", GET));
|
||||
|
||||
}
|
||||
|
||||
else if (test::type == slsDetectorDefs::JUNGFRAU) {
|
||||
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("dac " + std::to_string(i), GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("dac "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("dac " + std::to_string(i) + " 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("dac " + std::to_string(i), GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "dac 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("dac " + std::to_string(i) + " " + std::to_string(prev_val), PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_ds", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vb_ds "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_ds 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_ds", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vb_ds 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_ds " + std::to_string(prev_val), PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_comp", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vb_comp "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_comp 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_comp", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vb_comp 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_comp " + std::to_string(prev_val), PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_pixbuf", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vb_pixbuf "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_pixbuf 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_pixbuf", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vb_pixbuf 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vb_pixbuf " + std::to_string(prev_val), PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_ds", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vref_ds "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_ds 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_ds", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vref_ds 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_ds " + std::to_string(prev_val), PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_comp", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vref_comp "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_comp 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_comp", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vref_comp 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_comp " + std::to_string(prev_val), PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_prech", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vref_prech "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_prech 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_prech", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vref_prech 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vref_prech " + std::to_string(prev_val), PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vin_com", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vin_com "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vin_com 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vin_com", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vin_com 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vin_com " + std::to_string(prev_val), PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vdd_prot", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vdd_prot "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vdd_prot 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vdd_prot", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vdd_prot 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vdd_prot " + std::to_string(prev_val), PUT));
|
||||
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vthreshold", GET)); dac0
|
||||
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vthreshold", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vsvp", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vsvn", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vtr", GET));
|
||||
@ -307,7 +414,7 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vtgstv", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_ll", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_lr", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcall", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcal", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_rl", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_rr", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("rxb_rb", GET));
|
||||
@ -316,29 +423,28 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcn", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vis", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("iodelay", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vref_ds", GET));
|
||||
// REQUIRE_THROWS(multiSlsDetectorClient("vcascn_pb", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vcascp_pb", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vout_cm", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vcasc_out", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vin_cm", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vref_comp", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("ib_test_c", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vpreamp", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vshaper1", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vshaper2", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcascn_pb", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcascp_pb", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vout_cm", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcasc_out", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vin_cm", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("ib_test_c", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vpreamp", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vshaper1", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vshaper2", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vipre", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("viinsh", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vdcsh", GET));
|
||||
// REQUIRE_THROWS(multiSlsDetectorClient("vth1", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vth1", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vth2", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vth3", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vpl", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vph", GET));
|
||||
//REQUIRE_THROWS(multiSlsDetectorClient("vtrim", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vph", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vtrim", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("cassh", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("cas", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vicin", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vipre_out", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_h_adc", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp_fe", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp_adc", GET));
|
||||
@ -346,14 +452,12 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_restore", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_opa_1st", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_comp_fe", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcom_adc1", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_prech", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcom_adc1", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_l_adc", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_cds", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_cs", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_opa_fd", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcom_adc2", GET));
|
||||
|
||||
}
|
||||
|
||||
else if (test::type == slsDetectorDefs::GOTTHARD) {
|
||||
@ -471,7 +575,7 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vtgstv", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_ll", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_lr", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcall", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcal", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_rl", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_rr", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("rxb_rb", GET));
|
||||
@ -495,6 +599,7 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("cassh", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("cas", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vicin", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vipre_out", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_h_adc", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp_fe", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp_adc", GET));
|
||||
@ -509,7 +614,11 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_cs", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_opa_fd", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcom_adc2", GET));
|
||||
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_ds", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_pixbuf", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vin_com", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vdd_prot", GET));
|
||||
}
|
||||
|
||||
else if (test::type == slsDetectorDefs::CHIPTESTBOARD) {
|
||||
@ -538,7 +647,7 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vtgstv", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_ll", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_lr", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcall", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcal", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_rl", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_rr", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("rxb_rb", GET));
|
||||
@ -570,6 +679,7 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("cassh", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("cas", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vicin", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vipre_out", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_h_adc", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp_fe", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp_adc", GET));
|
||||
@ -584,7 +694,11 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_cs", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_opa_fd", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcom_adc2", GET));
|
||||
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_ds", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_pixbuf", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vin_com", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vdd_prot", GET));
|
||||
}
|
||||
|
||||
else if (test::type == slsDetectorDefs::MYTHEN3) {
|
||||
@ -796,7 +910,19 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE(oss.str() == "vicin 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vicin " + std::to_string(prev_val), PUT));
|
||||
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vipre_out", GET, nullptr, oss));
|
||||
std::string s = (oss.str()).erase (0, strlen("vipre_out "));
|
||||
prev_val = std::stoi(s);
|
||||
}
|
||||
{
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vipre_out 1000", PUT));
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vipre_out", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "vipre_out 1000\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("vipre_out " + std::to_string(prev_val), PUT));
|
||||
|
||||
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vsvp", GET));
|
||||
@ -807,7 +933,7 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vtgstv", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_ll", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_lr", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcall", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcal", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_rl", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_rr", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("rxb_rb", GET));
|
||||
@ -838,6 +964,11 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_cs", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_opa_fd", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcom_adc2", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_ds", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_pixbuf", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vin_com", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vdd_prot", GET));
|
||||
}
|
||||
|
||||
else if (test::type == slsDetectorDefs::GOTTHARD2) {
|
||||
@ -1034,7 +1165,7 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vtgstv", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_ll", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_lr", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcall", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcal", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_rl", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vcmp_rr", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("rxb_rb", GET));
|
||||
@ -1051,6 +1182,11 @@ TEST_CASE("dacs", "[.cmd]") {
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vin_cm", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vref_comp", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("ib_test_c", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_ds", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_comp", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vb_pixbuf", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vin_com", GET));
|
||||
REQUIRE_THROWS(multiSlsDetectorClient("vdd_prot", GET));
|
||||
}
|
||||
|
||||
}
|
||||
@ -4132,29 +4268,7 @@ TEST_CASE("fname", "[.cmd]") {
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("rx_framescaught", "[.cmd]") {
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("resetframescaught 0", PUT, nullptr, oss));
|
||||
REQUIRE(oss.str() == "resetframescaught successful\n");
|
||||
}
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("rx_framescaught", GET, nullptr, oss));
|
||||
REQUIRE(oss.str() == "rx_framescaught 0\n");
|
||||
}
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("frames 1", PUT));
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("exptime 1", PUT));
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("rx_start", PUT));
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("start", PUT));
|
||||
sleep(2);
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("rx_stop", PUT));
|
||||
{
|
||||
std::ostringstream oss;
|
||||
REQUIRE_NOTHROW(multiSlsDetectorClient("rx_framescaught", GET, nullptr, oss));
|
||||
// REQUIRE(oss.str() == "rx_framescaught 1\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TEST_CASE("rx_silent", "[.cmd]") {
|
||||
{
|
||||
|
@ -72,4 +72,4 @@ struct masterAttributes {
|
||||
uint64_t dbitlist;
|
||||
uint32_t roiXmin;
|
||||
uint32_t roiXmax;
|
||||
};
|
||||
};
|
||||
|
@ -633,21 +633,21 @@ void slsReceiverImplementation::setFileWriteEnable(const bool b) {
|
||||
}
|
||||
}
|
||||
|
||||
FILE_LOG(logINFO) << "File Write Enable: " << sls::ToString(fileWriteEnable);
|
||||
FILE_LOG(logINFO) << "File Write Enable: " << (fileWriteEnable ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
void slsReceiverImplementation::setMasterFileWriteEnable(const bool b) {
|
||||
masterFileWriteEnable = b;
|
||||
|
||||
FILE_LOG(logINFO) << "Master File Write Enable: "
|
||||
<< sls::ToString(masterFileWriteEnable);
|
||||
<< (masterFileWriteEnable ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
void slsReceiverImplementation::setOverwriteEnable(const bool b) {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
overwriteEnable = b;
|
||||
FILE_LOG(logINFO) << "Overwrite Enable: " << sls::ToString(overwriteEnable);
|
||||
FILE_LOG(logINFO) << "Overwrite Enable: " << (overwriteEnable ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
/***connection parameters***/
|
||||
@ -1044,7 +1044,7 @@ int slsReceiverImplementation::setTenGigaEnable(const bool b) {
|
||||
if (SetupFifoStructure() == FAIL)
|
||||
return FAIL;
|
||||
}
|
||||
FILE_LOG(logINFO) << "Ten Giga: " << sls::ToString(tengigaEnable);
|
||||
FILE_LOG(logINFO) << "Ten Giga: " << (tengigaEnable ? "enabled" : "disabled");
|
||||
FILE_LOG(logINFO) << "Packets per Frame: "
|
||||
<< (generalData->packetsPerFrame);
|
||||
return OK;
|
||||
@ -1064,7 +1064,7 @@ int slsReceiverImplementation::setFifoDepth(const uint32_t i) {
|
||||
bool slsReceiverImplementation::setActivate(bool enable) {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
activated = enable;
|
||||
FILE_LOG(logINFO) << "Activation: " << sls::ToString(activated);
|
||||
FILE_LOG(logINFO) << "Activation: " << (activated ? "enabled" : "disabled");
|
||||
return activated;
|
||||
}
|
||||
|
||||
@ -1072,7 +1072,7 @@ bool slsReceiverImplementation::setDeactivatedPadding(bool enable) {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
deactivatedPaddingEnable = enable;
|
||||
FILE_LOG(logINFO) << "Deactivated Padding Enable: "
|
||||
<< sls::ToString(deactivatedPaddingEnable);
|
||||
<< (deactivatedPaddingEnable ? "enabled" : "disabled");
|
||||
return deactivatedPaddingEnable;
|
||||
}
|
||||
|
||||
|
@ -23,13 +23,6 @@ namespace sls {
|
||||
|
||||
using defs = slsDetectorDefs;
|
||||
|
||||
inline std::string ToString(const bool b) {
|
||||
if (b) {
|
||||
return std::string("enabled");
|
||||
}
|
||||
return std::string("disabled");
|
||||
}
|
||||
|
||||
inline std::string ToString(const defs::runStatus s) {
|
||||
switch (s) {
|
||||
case defs::ERROR:
|
||||
@ -573,25 +566,25 @@ inline defs::detectorModeType StringTo(const std::string& s) {
|
||||
template <>
|
||||
inline defs::dacIndex StringTo(const std::string& s) {
|
||||
if (s == "vcmp_ll")
|
||||
return defs::E_Vcmp_ll;
|
||||
return defs::VCMP_LL;
|
||||
if (s == "vcmp_lr")
|
||||
return defs::E_Vcmp_lr;
|
||||
return defs::VCMP_LR;
|
||||
if (s == "vcmp_rl")
|
||||
return defs::E_Vcmp_rl;
|
||||
return defs::VCMP_RL;
|
||||
if (s == "vcmp_rr")
|
||||
return defs::E_Vcmp_rr;
|
||||
return defs::VCMP_RR;
|
||||
if (s == "vthreshold")
|
||||
return defs::THRESHOLD;
|
||||
if (s == "vrf")
|
||||
return defs::E_Vrf;
|
||||
return defs::VRF;
|
||||
if (s == "vrs")
|
||||
return defs::E_Vrs;
|
||||
return defs::VRS;
|
||||
if (s == "vtr")
|
||||
return defs::E_Vtr;
|
||||
return defs::VTR;
|
||||
if (s == "vcall")
|
||||
return defs::E_cal;
|
||||
return defs::CAL;
|
||||
if (s == "vcp")
|
||||
return defs::E_Vcp;
|
||||
return defs::VCP;
|
||||
throw sls::RuntimeError("Unknown dac Index " + s);
|
||||
}
|
||||
|
||||
|
@ -82,15 +82,15 @@ class slsDetectorDefs {
|
||||
Type of the detector
|
||||
*/
|
||||
enum detectorType {
|
||||
GET_DETECTOR_TYPE = -1, /**< the detector will return its type */
|
||||
GENERIC, /**< generic sls detector */
|
||||
EIGER, /**< eiger */
|
||||
GOTTHARD, /**< gotthard */
|
||||
JUNGFRAU, /**< jungfrau */
|
||||
CHIPTESTBOARD, /**< CTB */
|
||||
MOENCH, /**< moench */
|
||||
MYTHEN3, /**< mythen3 */
|
||||
GOTTHARD2, /** < gotthard2 */
|
||||
GET_DETECTOR_TYPE = -1,
|
||||
GENERIC,
|
||||
EIGER,
|
||||
GOTTHARD,
|
||||
JUNGFRAU,
|
||||
CHIPTESTBOARD,
|
||||
MOENCH,
|
||||
MYTHEN3,
|
||||
GOTTHARD2,
|
||||
};
|
||||
|
||||
/**
|
||||
@ -379,84 +379,89 @@ format
|
||||
detector dacs indexes
|
||||
*/
|
||||
enum dacIndex {
|
||||
THRESHOLD, /**< comparator threshold level */
|
||||
CALIBRATION_PULSE, /**< calibration input pulse height */
|
||||
TRIMBIT_SIZE, /**< voltage to determine the trimbits LSB */
|
||||
PREAMP, /**< preamp feedback */
|
||||
SHAPER1, /**< shaper1 feedback */
|
||||
SHAPER2, /**< shaper2 feedback */
|
||||
TEMPERATURE_ADC, /**< temperature sensor (adc) */
|
||||
TEMPERATURE_FPGA, /**< temperature sensor (fpga) */
|
||||
G_VREF_DS, /**< gotthard */
|
||||
G_VCASCN_PB, /**< gotthard */
|
||||
G_VCASCP_PB, /**< gotthard */
|
||||
G_VOUT_CM, /**< gotthard */
|
||||
G_VCASC_OUT, /**< gotthard */
|
||||
G_VIN_CM, /**< gotthard */
|
||||
G_VREF_COMP, /**< gotthard */
|
||||
G_IB_TESTC, /**< gotthard */
|
||||
E_SvP, /**< eiger */
|
||||
E_SvN, /**< eiger */
|
||||
E_Vtr, /**< eiger */
|
||||
E_Vrf, /**< eiger */
|
||||
E_Vrs, /**< eiger */
|
||||
E_Vtgstv, /**< eiger */
|
||||
E_Vcmp_ll, /**< eiger */
|
||||
E_Vcmp_lr, /**< eiger */
|
||||
E_cal, /**< eiger */
|
||||
E_Vcmp_rl, /**< eiger */
|
||||
E_Vcmp_rr, /**< eiger */
|
||||
E_rxb_rb, /**< eiger */
|
||||
E_rxb_lb, /**< eiger */
|
||||
E_Vcp, /**< eiger */
|
||||
E_Vcn, /**< eiger */
|
||||
E_Vis, /**< eiger */
|
||||
IO_DELAY, /**< eiger io delay */
|
||||
ADC_VPP, /**< adc vpp for jctb */
|
||||
HIGH_VOLTAGE, /**< high voltage */
|
||||
TEMPERATURE_FPGAEXT, /**< temperature sensor (close to fpga) */
|
||||
TEMPERATURE_10GE, /**< temperature sensor (close to 10GE) */
|
||||
TEMPERATURE_DCDC, /**< temperature sensor (close to DCDC) */
|
||||
TEMPERATURE_SODL, /**< temperature sensor (close to SODL) */
|
||||
TEMPERATURE_SODR, /**< temperature sensor (close to SODR) */
|
||||
TEMPERATURE_FPGA2, /**< temperature sensor (fpga2 (eiger:febl) */
|
||||
TEMPERATURE_FPGA3, /**< temperature sensor (fpga3 (eiger:febr) */
|
||||
M_vIpre, /**< mythen 3 >*/
|
||||
M_vIinSh, /**< mythen 3 >*/
|
||||
M_VdcSh, /**< mythen 3 >*/
|
||||
M_Vth2, /**< mythen 3 >*/
|
||||
M_VPL, /**< mythen 3 >*/
|
||||
M_Vth3, /**< mythen 3 >*/
|
||||
M_casSh, /**< mythen 3 >*/
|
||||
M_cas, /**< mythen 3 >*/
|
||||
M_vIcin, /**< mythen 3 >*/
|
||||
M_vIpreOut, /**< mythen 3 >*/
|
||||
VREF_H_ADC, /**< gotthard 2 >*/
|
||||
VB_COMP_FE, /**< gotthard 2 >*/
|
||||
VB_COMP_ADC, /**< gotthard 2 >*/
|
||||
VCOM_CDS, /**< gotthard 2 >*/
|
||||
VREF_RESTORE, /**< gotthard 2 >*/
|
||||
VB_OPA_1ST, /**< gotthard 2 >*/
|
||||
VREF_COMP_FE, /**< gotthard 2 >*/
|
||||
VCOM_ADC1, /**< gotthard 2 >*/
|
||||
VREF_PRECH, /**< gotthard 2 >*/
|
||||
VREF_L_ADC, /**< gotthard 2 >*/
|
||||
VREF_CDS, /**< gotthard 2 >*/
|
||||
VB_CS, /**< gotthard 2 >*/
|
||||
VB_OPA_FD, /**< gotthard 2 >*/
|
||||
VCOM_ADC2, /**< gotthard 2 >*/
|
||||
V_POWER_A = 100, /**new chiptest board */
|
||||
V_POWER_B = 101, /**new chiptest board */
|
||||
V_POWER_C = 102, /**new chiptest board */
|
||||
V_POWER_D = 103, /**new chiptest board */
|
||||
V_POWER_IO = 104, /**new chiptest board */
|
||||
V_POWER_CHIP = 105, /**new chiptest board */
|
||||
I_POWER_A = 106, /**new chiptest board */
|
||||
I_POWER_B = 107, /**new chiptest board */
|
||||
I_POWER_C = 108, /**new chiptest board */
|
||||
I_POWER_D = 109, /**new chiptest board */
|
||||
I_POWER_IO = 110, /**new chiptest board */
|
||||
V_LIMIT = 111, /**new chiptest board */
|
||||
THRESHOLD,
|
||||
CALIBRATION_PULSE,
|
||||
TRIMBIT_SIZE,
|
||||
PREAMP,
|
||||
SHAPER1,
|
||||
SHAPER2,
|
||||
TEMPERATURE_ADC,
|
||||
TEMPERATURE_FPGA,
|
||||
VREF_DS,
|
||||
VCASCN_PB,
|
||||
VCASCP_PB,
|
||||
VOUT_CM,
|
||||
VCASC_OUT,
|
||||
VIN_CM,
|
||||
VREF_COMP,
|
||||
IB_TESTC,
|
||||
SVP,
|
||||
SVN,
|
||||
VTR,
|
||||
VRF,
|
||||
VRS,
|
||||
VTGSTV,
|
||||
VCMP_LL,
|
||||
VCMP_LR,
|
||||
CAL,
|
||||
VCMP_RL,
|
||||
VCMP_RR,
|
||||
RXB_RB,
|
||||
RXB_LB,
|
||||
VCP,
|
||||
VCN,
|
||||
VIS,
|
||||
IO_DELAY,
|
||||
ADC_VPP,
|
||||
HIGH_VOLTAGE,
|
||||
TEMPERATURE_FPGAEXT,
|
||||
TEMPERATURE_10GE,
|
||||
TEMPERATURE_DCDC,
|
||||
TEMPERATURE_SODL,
|
||||
TEMPERATURE_SODR,
|
||||
TEMPERATURE_FPGA2,
|
||||
TEMPERATURE_FPGA3,
|
||||
VIPRE,
|
||||
VIINSH,
|
||||
VDCSH,
|
||||
VTH2,
|
||||
VPL,
|
||||
VTH3,
|
||||
CASSH,
|
||||
CAS,
|
||||
VICIN,
|
||||
VIPRE_OUT,
|
||||
VREF_H_ADC,
|
||||
VB_COMP_FE,
|
||||
VB_COMP_ADC,
|
||||
VCOM_CDS,
|
||||
VREF_RESTORE,
|
||||
VB_OPA_1ST,
|
||||
VREF_COMP_FE,
|
||||
VCOM_ADC1,
|
||||
VREF_PRECH,
|
||||
VREF_L_ADC,
|
||||
VREF_CDS,
|
||||
VB_CS,
|
||||
VB_OPA_FD,
|
||||
VCOM_ADC2,
|
||||
VB_DS,
|
||||
VB_COMP,
|
||||
VB_PIXBUF,
|
||||
VIN_COM,
|
||||
VDD_PROT,
|
||||
V_POWER_A = 100,
|
||||
V_POWER_B = 101,
|
||||
V_POWER_C = 102,
|
||||
V_POWER_D = 103,
|
||||
V_POWER_IO = 104,
|
||||
V_POWER_CHIP = 105,
|
||||
I_POWER_A = 106,
|
||||
I_POWER_B = 107,
|
||||
I_POWER_C = 108,
|
||||
I_POWER_D = 109,
|
||||
I_POWER_IO = 110,
|
||||
V_LIMIT = 111,
|
||||
SLOW_ADC0 = 1000,
|
||||
SLOW_ADC1,
|
||||
SLOW_ADC2,
|
||||
|
@ -8,5 +8,5 @@
|
||||
#define APICTB 0x191029
|
||||
#define APIGOTTHARD 0x191029
|
||||
#define APIGOTTHARD2 0x191029
|
||||
#define APIMYTHEN3 0x191021
|
||||
#define APIMYTHEN3 0x191029
|
||||
#define APIEIGER 0x191029
|
||||
|
Loading…
x
Reference in New Issue
Block a user