From 1873cc931029932bfa705466deb4fb6cc065d366 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 31 Jul 2023 14:02:30 +0200 Subject: [PATCH] Moench dacs defaults (#788) * merge fix from 7.0.2: new jungfrau fw versions, incremented binary, hdf5 and json versions * moench: changed dac names and default values to old moench values * moench: remove interface clk polarity at start up * moench: default speed is half speed, default values for adc offset and adc phase for different speeds (only half speed confirmed), adc vref voltage to 2.0 like G1 * moench: connected adc pipeline to client * moench: receiver- default frames per file is 100k and discard partial frames as default * moench binary in * using tostring in gui for dacs * moved frame discard policy as a parameter to be configured with a default depending on detector * moench: 300 degrees for adc phase in full speed --- slsDetectorGui/include/qDacWidget.h | 2 +- slsDetectorGui/include/qTabDeveloper.h | 15 +- slsDetectorGui/src/qDacWidget.cpp | 5 +- slsDetectorGui/src/qTabDeveloper.cpp | 403 ++---------------- .../bin/ctbDetectorServer_developer | Bin 327096 -> 327096 bytes .../bin/jungfrauDetectorServer_developer | Bin 307944 -> 307944 bytes .../moenchDetectorServer/RegisterDefs.h | 2 +- .../bin/moenchDetectorServer_developer | Bin 290712 -> 293700 bytes .../slsDetectorFunctionList.c | 28 +- .../slsDetectorServer_defs.h | 48 ++- .../include/slsDetectorFunctionList.h | 7 +- .../slsDetectorServer/src/AD9257.c | 2 +- .../src/slsDetectorServer_funcs.c | 33 +- slsDetectorSoftware/include/sls/Detector.h | 12 +- slsDetectorSoftware/src/CmdProxy.cpp | 4 +- slsDetectorSoftware/src/CmdProxy.h | 14 +- slsDetectorSoftware/src/Detector.cpp | 23 +- slsDetectorSoftware/src/HelpDacs.h | 37 +- slsDetectorSoftware/src/Module.cpp | 19 +- slsDetectorSoftware/src/Module.h | 6 +- .../tests/test-CmdProxy-chiptestboard.cpp | 35 -- slsDetectorSoftware/tests/test-CmdProxy.cpp | 35 ++ slsReceiverSoftware/src/GeneralData.h | 3 + slsReceiverSoftware/src/Implementation.cpp | 12 +- slsReceiverSoftware/src/Implementation.h | 1 - slsReceiverSoftware/src/Listener.cpp | 6 +- slsReceiverSoftware/src/Listener.h | 2 - slsReceiverSoftware/src/receiver_defs.h | 2 +- slsSupportLib/include/sls/versionAPI.h | 6 +- 29 files changed, 260 insertions(+), 502 deletions(-) diff --git a/slsDetectorGui/include/qDacWidget.h b/slsDetectorGui/include/qDacWidget.h index 55a6df219..d96aa8c21 100644 --- a/slsDetectorGui/include/qDacWidget.h +++ b/slsDetectorGui/include/qDacWidget.h @@ -16,6 +16,7 @@ class qDacWidget : public QWidget, private Ui::WidgetDacObject { slsDetectorDefs::dacIndex i); ~qDacWidget(); void SetDetectorIndex(int id); + void Refresh(); private slots: void SetDac(); @@ -25,7 +26,6 @@ class qDacWidget : public QWidget, private Ui::WidgetDacObject { void Initialization(); void GetDac(); void GetAdc(); - void Refresh(); Detector *det; bool isDac{true}; diff --git a/slsDetectorGui/include/qTabDeveloper.h b/slsDetectorGui/include/qTabDeveloper.h index c672bc69f..978385d83 100644 --- a/slsDetectorGui/include/qTabDeveloper.h +++ b/slsDetectorGui/include/qTabDeveloper.h @@ -20,16 +20,27 @@ class qTabDeveloper : public QWidget, private Ui::TabDeveloperObject { public slots: void Refresh(); + private slots: + void setDetectorIndex(); + private: void SetupWidgetWindow(); void Initialization(); void PopulateDetectors(); - slsDetectorDefs::dacIndex getSLSIndex(slsDetectorDefs::detectorType detType, - int index); Detector *det; std::vector dacWidgets; std::vector adcWidgets; + + const std::vector eiger_adcs = { + slsDetectorDefs::TEMPERATURE_FPGA, + slsDetectorDefs::TEMPERATURE_FPGAEXT, + slsDetectorDefs::TEMPERATURE_10GE, + slsDetectorDefs::TEMPERATURE_DCDC, + slsDetectorDefs::TEMPERATURE_SODL, + slsDetectorDefs::TEMPERATURE_SODR, + slsDetectorDefs::TEMPERATURE_FPGA2, + slsDetectorDefs::TEMPERATURE_FPGA3}; }; } // namespace sls diff --git a/slsDetectorGui/src/qDacWidget.cpp b/slsDetectorGui/src/qDacWidget.cpp index df3591bdb..cd2489707 100644 --- a/slsDetectorGui/src/qDacWidget.cpp +++ b/slsDetectorGui/src/qDacWidget.cpp @@ -34,10 +34,7 @@ void qDacWidget::Initialization() { } } -void qDacWidget::SetDetectorIndex(int id) { - detectorIndex = id; - Refresh(); -} +void qDacWidget::SetDetectorIndex(int id) { detectorIndex = id; } void qDacWidget::GetDac() { LOG(logDEBUG) << "Getting Dac " << index; diff --git a/slsDetectorGui/src/qTabDeveloper.cpp b/slsDetectorGui/src/qTabDeveloper.cpp index f2fde92a9..7acfb5585 100644 --- a/slsDetectorGui/src/qTabDeveloper.cpp +++ b/slsDetectorGui/src/qTabDeveloper.cpp @@ -16,180 +16,52 @@ qTabDeveloper::qTabDeveloper(QWidget *parent, Detector *detector) qTabDeveloper::~qTabDeveloper() {} void qTabDeveloper::SetupWidgetWindow() { - int tempid = 0; - try { + // dacs + auto daclist = det->getDacList(); + for (auto it : daclist) { + dacWidgets.push_back( + new qDacWidget(this, det, true, sls::ToString(it), it)); + } + + // adcs slsDetectorDefs::detectorType detType = det->getDetectorType().squash(); + slsDetectorDefs::dacIndex ind = slsDetectorDefs::DAC_0; switch (detType) { case slsDetectorDefs::EIGER: - dacWidgets.push_back(new qDacWidget( - this, det, true, "vsvp: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vsvn ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vrpreamp: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vrshaper: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vtrim: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vtgstv: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vcal: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vcp ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vcn: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vishaper: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "rxb_lb: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "rxb_rb: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vcmp_ll: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vcmp_lr: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vcmp_rl: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vcmp_rr: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "vthreshold: ", getSLSIndex(detType, tempid++))); - adcWidgets.push_back(new qDacWidget( - this, det, false, - "Temperature FPGA Ext: ", getSLSIndex(detType, tempid++))); - adcWidgets.push_back(new qDacWidget( - this, det, false, - "Temperature 10GE: ", getSLSIndex(detType, tempid++))); - adcWidgets.push_back(new qDacWidget( - this, det, false, - "Temperature DCDC: ", getSLSIndex(detType, tempid++))); - adcWidgets.push_back(new qDacWidget( - this, det, false, - "Temperature SODL: ", getSLSIndex(detType, tempid++))); - adcWidgets.push_back(new qDacWidget( - this, det, false, - "Temperature SODR: ", getSLSIndex(detType, tempid++))); - adcWidgets.push_back(new qDacWidget( - this, det, false, - "Temperature FPGA: ", getSLSIndex(detType, tempid++))); + for (auto it : eiger_adcs) { + adcWidgets.push_back( + new qDacWidget(this, det, false, sls::ToString(it), it)); + } break; - case slsDetectorDefs::GOTTHARD: - dacWidgets.push_back(new qDacWidget( - this, det, true, - "v Reference: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "v Cascode n: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "v Cascode p: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "v Comp. Output: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, "v Cascode out ", - getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "v Comp. Input: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "v Comp. Ref: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "i Base Test: ", getSLSIndex(detType, tempid++))); - adcWidgets.push_back(new qDacWidget( - this, det, false, - "Temperature ADC: ", getSLSIndex(detType, tempid++))); - adcWidgets.push_back(new qDacWidget( - this, det, false, - "Temperature FPGA: ", getSLSIndex(detType, tempid++))); + ind = slsDetectorDefs::TEMPERATURE_ADC; + adcWidgets.push_back( + new qDacWidget(this, det, false, sls::ToString(ind), ind)); + ind = slsDetectorDefs::TEMPERATURE_FPGA; + adcWidgets.push_back( + new qDacWidget(this, det, false, sls::ToString(ind), ind)); break; case slsDetectorDefs::JUNGFRAU: - case slsDetectorDefs::MOENCH: - dacWidgets.push_back( - new qDacWidget(this, det, true, - "v vb comp: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "v vdd prot: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "v vin com: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "v vref prech: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "v vb pixbuf: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "v vb ds: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "v vref ds: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "i vref comp: ", getSLSIndex(detType, tempid++))); - adcWidgets.push_back(new qDacWidget( - this, det, false, - "Temperature ADC: ", getSLSIndex(detType, tempid++))); + ind = slsDetectorDefs::TEMPERATURE_ADC; + adcWidgets.push_back( + new qDacWidget(this, det, false, sls::ToString(ind), ind)); break; case slsDetectorDefs::GOTTHARD2: - dacWidgets.push_back( - new qDacWidget(this, det, true, - "vref_h_adc: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "vb_comp_fe: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "vb_comp_adc: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vcom_cds: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "vref_rstore: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "vb_opa_1st: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, - "vref_comp_fe: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "vcom_adc1: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "vref_prech: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "vref_l_adc: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vref_cds: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back(new qDacWidget( - this, det, true, "vb_cs: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "vb_opa_fd: ", getSLSIndex(detType, tempid++))); - dacWidgets.push_back( - new qDacWidget(this, det, true, - "vcom_adc2: ", getSLSIndex(detType, tempid++))); - adcWidgets.push_back(new qDacWidget( - this, det, false, - "Temperature FPGA: ", getSLSIndex(detType, tempid++))); + case slsDetectorDefs::MYTHEN3: + case slsDetectorDefs::MOENCH: + ind = slsDetectorDefs::TEMPERATURE_FPGA; + adcWidgets.push_back( + new qDacWidget(this, det, false, sls::ToString(ind), ind)); break; + default: break; } } - CATCH_DISPLAY(std::string("Could not get dac/ adc index ") + - std::to_string(tempid), + CATCH_DISPLAY("Could not get dac/ adc index ", "qTabDeveloper::SetupWidgetWindow") for (size_t i = 0; i < dacWidgets.size(); ++i) { @@ -214,7 +86,7 @@ void qTabDeveloper::SetupWidgetWindow() { void qTabDeveloper::Initialization() { connect(comboDetector, SIGNAL(currentIndexChanged(int)), this, - SLOT(Refresh())); + SLOT(setDetectorIndex())); } void qTabDeveloper::PopulateDetectors() { @@ -230,218 +102,31 @@ void qTabDeveloper::PopulateDetectors() { } } comboDetector->setCurrentIndex(0); + setDetectorIndex(); } CATCH_DISPLAY("Could not populate readouts for dacs/adcs", "qTabDeveloper::PopulateDetectors") } -slsDetectorDefs::dacIndex -qTabDeveloper::getSLSIndex(slsDetectorDefs::detectorType detType, int index) { - switch (detType) { - - case slsDetectorDefs::EIGER: - switch (index) { - case 0: - return slsDetectorDefs::VSVP; - case 1: - return slsDetectorDefs::VSVN; - case 2: - return slsDetectorDefs::VRPREAMP; - case 3: - return slsDetectorDefs::VRSHAPER; - case 4: - return slsDetectorDefs::VTRIM; - case 5: - return slsDetectorDefs::VTGSTV; - case 6: - return slsDetectorDefs::VCAL; - case 7: - return slsDetectorDefs::VCP; - case 8: - return slsDetectorDefs::VCN; - case 9: - return slsDetectorDefs::VISHAPER; - case 10: - return slsDetectorDefs::RXB_LB; - case 11: - return slsDetectorDefs::RXB_RB; - case 12: - return slsDetectorDefs::VCMP_LL; - case 13: - return slsDetectorDefs::VCMP_LR; - case 14: - return slsDetectorDefs::VCMP_RL; - case 15: - return slsDetectorDefs::VCMP_RR; - case 16: - return slsDetectorDefs::VTHRESHOLD; - case 17: - return slsDetectorDefs::TEMPERATURE_FPGAEXT; - case 18: - return slsDetectorDefs::TEMPERATURE_10GE; - case 19: - return slsDetectorDefs::TEMPERATURE_DCDC; - case 20: - return slsDetectorDefs::TEMPERATURE_SODL; - case 21: - return slsDetectorDefs::TEMPERATURE_SODR; - case 22: - return slsDetectorDefs::TEMPERATURE_FPGA; - default: - throw RuntimeError(std::string("Unknown dac/adc index") + - std::to_string(index)); - } - break; - case slsDetectorDefs::GOTTHARD: - switch (index) { - case 0: - return slsDetectorDefs::VREF_DS; - case 1: - return slsDetectorDefs::VCASCN_PB; - case 2: - return slsDetectorDefs::VCASCP_PB; - case 3: - return slsDetectorDefs::VOUT_CM; - case 4: - return slsDetectorDefs::VCASC_OUT; - case 5: - return slsDetectorDefs::VIN_CM; - case 6: - return slsDetectorDefs::VREF_COMP; - case 7: - return slsDetectorDefs::IB_TESTC; - case 8: - return slsDetectorDefs::TEMPERATURE_ADC; - case 9: - return slsDetectorDefs::TEMPERATURE_FPGA; - default: - throw RuntimeError(std::string("Unknown dac/adc index") + - std::to_string(index)); - } - break; - - case slsDetectorDefs::JUNGFRAU: - case slsDetectorDefs::MOENCH: - switch (index) { - case 0: - return slsDetectorDefs::VB_COMP; - case 1: - return slsDetectorDefs::VDD_PROT; - case 2: - return slsDetectorDefs::VIN_COM; - case 3: - return slsDetectorDefs::VREF_PRECH; - case 4: - return slsDetectorDefs::VB_PIXBUF; - case 5: - return slsDetectorDefs::VB_DS; - case 6: - return slsDetectorDefs::VREF_DS; - case 7: - return slsDetectorDefs::VREF_COMP; - case 8: - return slsDetectorDefs::TEMPERATURE_ADC; - default: - throw RuntimeError(std::string("Unknown dac/adc index") + - std::to_string(index)); - } - break; - - case slsDetectorDefs::MYTHEN3: - switch (index) { - case 0: - return slsDetectorDefs::VCASSH; - case 1: - return slsDetectorDefs::VTH2; - case 2: - return slsDetectorDefs::VRSHAPER; - case 3: - return slsDetectorDefs::VRSHAPER_N; - case 4: - return slsDetectorDefs::VIPRE_OUT; - case 5: - return slsDetectorDefs::VTH3; - case 6: - return slsDetectorDefs::VTH1; - case 7: - return slsDetectorDefs::VICIN; - case 8: - return slsDetectorDefs::VCAS; - case 9: - return slsDetectorDefs::VRPREAMP; - case 10: - return slsDetectorDefs::VCAL_P; - case 11: - return slsDetectorDefs::VIPRE; - case 12: - return slsDetectorDefs::VISHAPER; - case 13: - return slsDetectorDefs::VCAL_N; - case 14: - return slsDetectorDefs::VTRIM; - case 15: - return slsDetectorDefs::VDCSH; - case 16: - return slsDetectorDefs::VTHRESHOLD; - case 17: - return slsDetectorDefs::TEMPERATURE_FPGA; - default: - throw RuntimeError(std::string("Unknown dac/adc index") + - std::to_string(index)); - } - break; - - case slsDetectorDefs::GOTTHARD2: - switch (index) { - case 0: - return slsDetectorDefs::VREF_H_ADC; - case 1: - return slsDetectorDefs::VB_COMP_FE; - case 2: - return slsDetectorDefs::VB_COMP_ADC; - case 3: - return slsDetectorDefs::VCOM_CDS; - case 4: - return slsDetectorDefs::VREF_RSTORE; - case 5: - return slsDetectorDefs::VB_OPA_1ST; - case 6: - return slsDetectorDefs::VREF_COMP_FE; - case 7: - return slsDetectorDefs::VCOM_ADC1; - case 8: - return slsDetectorDefs::VREF_PRECH; - case 9: - return slsDetectorDefs::VREF_L_ADC; - case 10: - return slsDetectorDefs::VREF_CDS; - case 11: - return slsDetectorDefs::VB_CS; - case 12: - return slsDetectorDefs::VB_OPA_FD; - case 13: - return slsDetectorDefs::VCOM_ADC2; - case 14: - return slsDetectorDefs::TEMPERATURE_FPGA; - default: - throw RuntimeError(std::string("Unknown dac/adc index") + - std::to_string(index)); - } - break; - - default: - throw RuntimeError(std::string("Unknown detector type")); - } -} - -void qTabDeveloper::Refresh() { - LOG(logDEBUG) << "**Updating Developer Tab\n"; +void qTabDeveloper::setDetectorIndex() { + LOG(logDEBUG) << "set detector index"; for (const auto &it : dacWidgets) { it->SetDetectorIndex(comboDetector->currentIndex() - 1); } for (const auto &it : adcWidgets) { it->SetDetectorIndex(comboDetector->currentIndex() - 1); } + Refresh(); +} + +void qTabDeveloper::Refresh() { + LOG(logDEBUG) << "**Updating Developer Tab\n"; + for (const auto &it : dacWidgets) { + it->Refresh(); + } + for (const auto &it : adcWidgets) { + it->Refresh(); + } LOG(logDEBUG) << "**Updated Developer Tab"; } diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index b0658857b8de18fe7feff180e338a5ccf6e3f58d..2b21140d0d73decbf9923fb63f08fab9bf75ab72 100755 GIT binary patch delta 33 pcmdn-TX@HB;R%||2lm~ZZYaVc(dg3Z!r1D<)at^#)rFzQ}Ru`5fn*bHC4u}8% delta 33 pcmaFyROrQ1p$VGIJ09szUwEBaqS2+*g|XFzsnvyfs|(ALO#lb(4d(y= diff --git a/slsDetectorServers/moenchDetectorServer/RegisterDefs.h b/slsDetectorServers/moenchDetectorServer/RegisterDefs.h index 506dfda90..23d3daf8f 100644 --- a/slsDetectorServers/moenchDetectorServer/RegisterDefs.h +++ b/slsDetectorServers/moenchDetectorServer/RegisterDefs.h @@ -385,7 +385,7 @@ #define ASIC_CTRL_BOTSRTESTTOP_OFST (31) #define ASIC_CTRL_BOTSRTESTTOP_MSK (0x00000001 << ASIC_CTRL_BOTSRTESTTOP_OFST) -#define ASIC_CTRL_DEFAULT_VAL (ASIC_CTRL_INTRFCE_CLK_PLRTY_MSK | ASIC_CTRL_DSG1_BOT_MSK | \ +#define ASIC_CTRL_DEFAULT_VAL (ASIC_CTRL_DSG1_BOT_MSK | \ ASIC_CTRL_HG_BOT_MSK | ASIC_CTRL_STO2TOP_MSK | \ ASIC_CTRL_CONNCDSTOP_MSK | ASIC_CTRL_STO1TOP_MSK | \ ASIC_CTRL_BOTSRTESTBOT_MSK | ASIC_CTRL_PULSEOFFTOP_MSK | \ diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index c726809b04f8d6a408374b87dea6ec01ad04367f..551eafc955f3a6680dde466346c851ce85c5bf2d 100755 GIT binary patch delta 139149 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 Z9uM<=xS4urkS3BTzssZ&^4afN|3A$1K&Su! delta 135951 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 NSc?|)!e@P%{||5l@rD2Z diff --git a/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c index 02c59eacf..88db419d9 100644 --- a/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c @@ -1382,6 +1382,16 @@ int *getDetectorPosition() { return detPos; } /* moench specific - powerchip, clockdiv, pll, * flashing fpga */ +void setADCPipeline(int val) { + if (val < 0) { + return; + } + LOG(logINFO, ("Setting adc pipeline to %d\n", val)); + bus_w(ADC_OFST_REG, val); +} + +int getADCPipeline() { return bus_r(ADC_OFST_REG); } + int setReadNRows(int value) { if (value < 0 || (value % READ_N_ROWS_MULTIPLE != 0)) { LOG(logERROR, ("Invalid number of rows %d\n", value)); @@ -1492,6 +1502,8 @@ int setReadoutSpeed(int val) { uint32_t config = 0; uint32_t sampleAdcDecimationFactor = 0; + int adcPhase = 0; + int adcOffset = 0; switch (val) { @@ -1500,13 +1512,17 @@ int setReadoutSpeed(int val) { config = CONFIG_FULL_SPEED_40MHZ_VAL; sampleAdcDecimationFactor = ADC_DECMT_FULL_SPEED << SAMPLE_ADC_DECMT_FACTOR_OFST; + adcOffset = ADC_OFST_FULL_SPEED; + adcPhase = ADC_PHASE_DEG_FULL_SPEED; break; case HALF_SPEED: - LOG(logINFO, ("Setting Speed Speed (20 MHz):\n")); + LOG(logINFO, ("Setting Half Speed (20 MHz):\n")); config = CONFIG_HALF_SPEED_20MHZ_VAL; sampleAdcDecimationFactor = ADC_DECMT_HALF_SPEED << SAMPLE_ADC_DECMT_FACTOR_OFST; + adcOffset = ADC_OFST_HALF_SPEED; + adcPhase = ADC_PHASE_DEG_HALF_SPEED; break; case QUARTER_SPEED: @@ -1514,6 +1530,8 @@ int setReadoutSpeed(int val) { config = CONFIG_QUARTER_SPEED_10MHZ_VAL; sampleAdcDecimationFactor = ADC_DECMT_QUARTER_SPEED << SAMPLE_ADC_DECMT_FACTOR_OFST; + adcOffset = ADC_OFST_QUARTER_SPEED; + adcPhase = ADC_PHASE_DEG_QUARTER_SPEED; break; default: @@ -1529,7 +1547,13 @@ int setReadoutSpeed(int val) { bus_w(SAMPLE_REG, bus_r(SAMPLE_REG) | sampleAdcDecimationFactor); LOG(logINFO, ("\tSet Sample Reg to 0x%x\n", bus_r(SAMPLE_REG))); - // TODO: adcofst, adcphase? + setADCPipeline(adcOffset); + LOG(logINFO, ("\tSet ADC offset to 0x%x (%d)\n", getADCPipeline(), + getADCPipeline())); + + setPhase(ADC_CLK, adcPhase, 1); + LOG(logINFO, ("\tSet ADC Phase to %d degrees\n", adcPhase)); + return OK; } diff --git a/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h index 08cb366f1..4eecb9264 100644 --- a/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h @@ -41,7 +41,7 @@ #define DEFAULT_TX_UDP_PORT (0x7e9a) #define DEFAULT_TMP_THRSHLD (65 * 1000) // milli degree Celsius #define DEFAULT_FLIP_ROWS (0) -#define DEFAULT_SPEED (FULL_SPEED) +#define DEFAULT_SPEED (HALF_SPEED) #define DEFAULT_PARALLEL_ENABLE (0) #define HIGHVOLTAGE_MIN (60) @@ -69,13 +69,19 @@ #define ADC_DECMT_HALF_SPEED (0x1) #define ADC_DECMT_FULL_SPEED (0x0) +#define ADC_PHASE_DEG_QUARTER_SPEED (0) +#define ADC_PHASE_DEG_HALF_SPEED (0) +#define ADC_PHASE_DEG_FULL_SPEED (300) + +#define ADC_OFST_QUARTER_SPEED (0x12) +#define ADC_OFST_HALF_SPEED (0x12) +#define ADC_OFST_FULL_SPEED (0x12) + // pipeline #define ADC_PORT_INVERT_VAL (0x55555555) #define SAMPLE_ADC_FULL_SPEED \ (SAMPLE_ADC_SAMPLE_0_VAL + SAMPLE_ADC_DECMT_FACTOR_0_VAL) // 0x0 -#define ADC_PHASE_DEG_FULL_SPEED (140) -#define ADC_OFST_FULL_SPEED_VAL (0xf) /* Struct Definitions */ typedef struct udp_header_struct { @@ -107,29 +113,29 @@ 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 + MO_VBP_COLBUF, + MO_VIPRE, + MO_VIN_CM, + MO_VB_SDA, + MO_VCASC_SFP, + MO_VOUT_CM, + MO_VIPRE_CDS, + MO_IBIAS_SFP }; #define DAC_NAMES \ - "vb_comp", "vdd_prot", "vin_com", "vref_prech", "vb_pixbuf", "vb_ds", \ - "vref_ds", "vref_comp" + "vbp_colbuf", "vipre", "vin_cm", "vb_sda", "vcasc_sfp", "vout_cm", \ + "vipre_cds", "ibias_sfp" #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 */ \ + 1300, /* MO_VBP_COLBUF */ \ + 1000, /* MO_VIPRE */ \ + 1400, /* MO_VIN_CM */ \ + 680, /* MO_VB_SDA */ \ + 1428, /* MO_VCASC_SFP */ \ + 1200, /* MO_VOUT_CM */ \ + 800, /* MO_VIPRE_CDS */ \ + 900 /* MO_IBIAS_SFP */ \ }; enum MASTERINDEX { MASTER_HARDWARE, OW_MASTER, OW_SLAVE }; diff --git a/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h b/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h index 52bc97bfa..fbb399ff9 100644 --- a/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h +++ b/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h @@ -508,9 +508,6 @@ int getFrequency(enum CLKINDEX ind); void configureSyncFrequency(enum CLKINDEX ind); void setADCPipeline(int val); int getADCPipeline(); -#endif - -#ifdef CHIPTESTBOARDD void setDBITPipeline(int val); int getDBITPipeline(); int setLEDEnable(int enable); @@ -519,6 +516,10 @@ void setDigitalIODelay(uint64_t pinMask, int delay); // jungfrau/moench specific - powerchip, autocompdisable, clockdiv, asictimer, // clock, pll, flashing firmware +#if defined(MOENCHED) +void setADCPipeline(int val); +int getADCPipeline(); +#endif #if defined(JUNGFRAUD) || defined(MOENCHD) int setReadNRows(int value); int getReadNRows(); diff --git a/slsDetectorServers/slsDetectorServer/src/AD9257.c b/slsDetectorServers/slsDetectorServer/src/AD9257.c index 20502922d..7d49d4f0e 100644 --- a/slsDetectorServers/slsDetectorServer/src/AD9257.c +++ b/slsDetectorServers/slsDetectorServer/src/AD9257.c @@ -300,7 +300,7 @@ void AD9257_Configure() { AD9257_CLK_CH_IFCO_MSK); // vref -#ifdef GOTTHARDD +#if defined(GOTTHARDD) || defined(MOENCHD) LOG(logINFO, ("\tVref default at 2.0\n")); AD9257_SetVrefVoltage(AD9257_VREF_DEFAULT_VAL, 0); #else diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index b0041377d..3a4015767 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -1049,7 +1049,7 @@ enum DACINDEX getDACIndex(enum dacIndex ind) { case VCOM_ADC2: serverDacIndex = G2_VCOM_ADC2; break; -#elif defined(JUNGFRAUD) || defined(MOENCHD) +#elif JUNGFRAUD case HIGH_VOLTAGE: break; case VB_COMP: @@ -1076,6 +1076,33 @@ enum DACINDEX getDACIndex(enum dacIndex ind) { case VREF_COMP: serverDacIndex = J_VREF_COMP; break; +#elif MOENCHD + case HIGH_VOLTAGE: + break; + case VBP_COLBUF: + serverDacIndex = MO_VBP_COLBUF; + break; + case VIPRE: + serverDacIndex = MO_VIPRE; + break; + case VIN_CM: + serverDacIndex = MO_VIN_CM; + break; + case VB_SDA: + serverDacIndex = MO_VB_SDA; + break; + case VCASC_SFP: + serverDacIndex = MO_VCASC_SFP; + break; + case VOUT_CM: + serverDacIndex = MO_VOUT_CM; + break; + case VIPRE_CDS: + serverDacIndex = MO_VIPRE_CDS; + break; + case IBIAS_SFP: + serverDacIndex = MO_IBIAS_SFP; + break; #endif default: @@ -9053,7 +9080,7 @@ int set_adc_pipeline(int file_des) { return printSocketReadError(); LOG(logDEBUG1, ("Setting adc pipeline : %u\n", arg)); -#if !defined(CHIPTESTBOARDD) +#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD) functionNotImplemented(); #else @@ -9075,7 +9102,7 @@ int get_adc_pipeline(int file_des) { LOG(logDEBUG1, ("Getting adc pipeline\n")); -#if !defined(CHIPTESTBOARDD) +#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD) functionNotImplemented(); #else // get only diff --git a/slsDetectorSoftware/include/sls/Detector.h b/slsDetectorSoftware/include/sls/Detector.h index 4dce32fb1..fc0f1e311 100644 --- a/slsDetectorSoftware/include/sls/Detector.h +++ b/slsDetectorSoftware/include/sls/Detector.h @@ -1615,12 +1615,6 @@ class Detector { /** [CTB] in MHZ */ Result getSYNCClock(Positions pos = {}) const; - /** [CTB] */ - Result getADCPipeline(Positions pos = {}) const; - - /** [CTB] */ - void setADCPipeline(int value, Positions pos = {}); - /** gets list of voltage enums */ std::vector getVoltageList() const; @@ -1959,6 +1953,12 @@ class Detector { * * * ************************************************/ + /** [CTB][Moench] */ + Result getADCPipeline(Positions pos = {}) const; + + /** [CTB][Moench] */ + void setADCPipeline(int value, Positions pos = {}); + /** [Jungfrau][Moench][Gotthard][CTB][Mythen3][Gotthard2] * Advanced user Function! * Program firmware from command line, after which detector controller is diff --git a/slsDetectorSoftware/src/CmdProxy.cpp b/slsDetectorSoftware/src/CmdProxy.cpp index 340804b54..dff178822 100644 --- a/slsDetectorSoftware/src/CmdProxy.cpp +++ b/slsDetectorSoftware/src/CmdProxy.cpp @@ -2992,6 +2992,8 @@ std::string CmdProxy::PatternWaitTime(int action) { return os.str(); } +/* Advanced */ + std::string CmdProxy::AdditionalJsonHeader(int action) { std::ostringstream os; os << cmd << ' '; @@ -3067,8 +3069,6 @@ std::string CmdProxy::JsonParameter(int action) { return os.str(); } -/* Advanced */ - std::string CmdProxy::ProgramFpga(int action) { std::ostringstream os; os << cmd << ' '; diff --git a/slsDetectorSoftware/src/CmdProxy.h b/slsDetectorSoftware/src/CmdProxy.h index 75df55ae6..f89360cc6 100644 --- a/slsDetectorSoftware/src/CmdProxy.h +++ b/slsDetectorSoftware/src/CmdProxy.h @@ -1233,7 +1233,6 @@ class CmdProxy { {"adcclk", &CmdProxy::adcclk}, {"runclk", &CmdProxy::runclk}, {"syncclk", &CmdProxy::syncclk}, - {"adcpipeline", &CmdProxy::adcpipeline}, {"v_limit", &CmdProxy::v_limit}, {"adcenable", &CmdProxy::adcenable}, {"adcenable10g", &CmdProxy::adcenable10g}, @@ -1296,10 +1295,11 @@ class CmdProxy { {"patternstart", &CmdProxy::patternstart}, /* Moench */ - {"rx_jsonaddheader", &CmdProxy::AdditionalJsonHeader}, - {"rx_jsonpara", &CmdProxy::JsonParameter}, /* Advanced */ + {"adcpipeline", &CmdProxy::adcpipeline}, + {"rx_jsonaddheader", &CmdProxy::AdditionalJsonHeader}, + {"rx_jsonpara", &CmdProxy::JsonParameter}, {"programfpga", &CmdProxy::ProgramFpga}, {"resetfpga", &CmdProxy::resetfpga}, {"updatedetectorserver", &CmdProxy::UpdateDetectorServer}, @@ -2425,10 +2425,6 @@ class CmdProxy { GET_COMMAND(syncclk, getSYNCClock, "[n_clk in MHz]\n\t[Ctb] Sync clock in MHz."); - INTEGER_COMMAND_VEC_ID(adcpipeline, getADCPipeline, setADCPipeline, - StringTo, - "[n_value]\n\t[Ctb] Pipeline for ADC clock."); - INTEGER_IND_COMMAND(v_limit, getVoltage, setVoltage, StringTo, defs::V_LIMIT, "[n_value]\n\t[Ctb] Soft limit for power " @@ -2587,6 +2583,10 @@ class CmdProxy { /* Moench */ /* Advanced */ + INTEGER_COMMAND_VEC_ID( + adcpipeline, getADCPipeline, setADCPipeline, StringTo, + "[n_value]\n\t[Ctb][Moench] Pipeline for ADC clock."); + EXECUTE_SET_COMMAND(resetfpga, resetFPGA, "\n\t[Jungfrau][Moench][Ctb] Reset FPGA."); diff --git a/slsDetectorSoftware/src/Detector.cpp b/slsDetectorSoftware/src/Detector.cpp index 1c70a7326..5e63c8b71 100644 --- a/slsDetectorSoftware/src/Detector.cpp +++ b/slsDetectorSoftware/src/Detector.cpp @@ -718,7 +718,6 @@ std::vector Detector::getDacList() const { defs::VREF_DS, defs::VCASCN_PB, defs::VCASCP_PB, defs::VOUT_CM, defs::VCASC_OUT, defs::VIN_CM, defs::VREF_COMP, defs::IB_TESTC}; case defs::JUNGFRAU: - case defs::MOENCH: return std::vector{ defs::VB_COMP, defs::VDD_PROT, defs::VIN_COM, defs::VREF_PRECH, defs::VB_PIXBUF, defs::VB_DS, defs::VREF_DS, defs::VREF_COMP}; @@ -736,6 +735,10 @@ std::vector Detector::getDacList() const { defs::VCAS, defs::VRPREAMP, defs::VCAL_N, defs::VIPRE, defs::VISHAPER, defs::VCAL_P, defs::VTRIM, defs::VDCSH, defs::VTHRESHOLD}; + case defs::MOENCH: + return std::vector{ + defs::VBP_COLBUF, defs::VIPRE, defs::VIN_CM, defs::VB_SDA, + defs::VCASC_SFP, defs::VOUT_CM, defs::VIPRE_CDS, defs::IBIAS_SFP}; case defs::CHIPTESTBOARD: for (int i = 0; i != 18; ++i) { retval.push_back(static_cast(i)); @@ -2048,14 +2051,6 @@ Result Detector::getSYNCClock(Positions pos) const { return pimpl->Parallel(&Module::getClockFrequency, pos, defs::SYNC_CLOCK); } -Result Detector::getADCPipeline(Positions pos) const { - return pimpl->Parallel(&Module::getADCPipeline, pos); -} - -void Detector::setADCPipeline(int value, Positions pos) { - pimpl->Parallel(&Module::setADCPipeline, pos, value); -} - std::vector Detector::getVoltageList() const { if (getDetectorType().squash() != defs::CHIPTESTBOARD) { throw RuntimeError("Voltage list not implemented for this detector"); @@ -2533,6 +2528,8 @@ void Detector::startPattern(Positions pos) { pimpl->Parallel(&Module::startPattern, pos); } +// Json Header specific + Result> Detector::getAdditionalJsonHeader(Positions pos) const { return pimpl->Parallel(&Module::getAdditionalJsonHeader, pos); @@ -2556,6 +2553,14 @@ void Detector::setAdditionalJsonParameter(const std::string &key, // Advanced +Result Detector::getADCPipeline(Positions pos) const { + return pimpl->Parallel(&Module::getADCPipeline, pos); +} + +void Detector::setADCPipeline(int value, Positions pos) { + pimpl->Parallel(&Module::setADCPipeline, pos, value); +} + void Detector::programFPGA(const std::string &fname, const bool forceDeleteNormalFile, Positions pos) { LOG(logINFO) << "Updating Firmware..."; diff --git a/slsDetectorSoftware/src/HelpDacs.h b/slsDetectorSoftware/src/HelpDacs.h index 793038f81..75c87710e 100644 --- a/slsDetectorSoftware/src/HelpDacs.h +++ b/slsDetectorSoftware/src/HelpDacs.h @@ -91,7 +91,7 @@ std::string GetHelpDac(std::string dac) { } if (dac == "vref_ds") { return std::string("[dac or mV value][(optional unit) mV] " - "\n\t[Gotthard][Jungfrau][Moench] Dac for ??"); + "\n\t[Gotthard][Jungfrau] Dac for ??"); } if (dac == "vcascn_pb") { return std::string( @@ -103,7 +103,7 @@ std::string GetHelpDac(std::string dac) { } if (dac == "vout_cm") { return std::string("[dac or mV value][(optional unit) mV] " - "\n\t[Gotthard] Dac for ??"); + "\n\t[Gotthard] Dac for ??\n\t[Moench] Dac for 5"); } if (dac == "vcasc_out") { return std::string( @@ -111,11 +111,11 @@ std::string GetHelpDac(std::string dac) { } if (dac == "vin_cm") { return std::string("[dac or mV value][(optional unit) mV] " - "\n\t[Gotthard] Dac for ??"); + "\n\t[Gotthard] Dac for ??\n\t[Moench] Dac for 2"); } if (dac == "vref_comp") { return std::string("[dac or mV value][(optional unit) mV] " - "\n\t[Gotthard][Jungfrau][Moench] Dac for ??"); + "\n\t[Gotthard][Jungfrau] Dac for ??"); } if (dac == "ib_test_c") { return std::string( @@ -129,7 +129,7 @@ std::string GetHelpDac(std::string dac) { if (dac == "vipre") { return std::string( "[dac or mV value][(optional unit) mV] \n\t[Mythen3] Dac for the " - "preamplifier's input transistor current."); + "preamplifier's input transistor current.\n\t[Moench] Dac for 1"); } if (dac == "vdcsh") { return std::string( @@ -225,7 +225,7 @@ std::string GetHelpDac(std::string dac) { if (dac == "vref_prech") { return std::string( "[dac or mV value][(optional unit) mV] " - "\n\t[Gotthard2][Jungfrau][Moench] " + "\n\t[Gotthard2][Jungfrau] " "Dac for reference votlage for precharing the preamplifier."); } if (dac == "vref_l_adc") { @@ -256,38 +256,43 @@ std::string GetHelpDac(std::string dac) { } if (dac == "vb_ds") { return std::string("[dac or mV value][(optional unit) mV] " - "\n\t[Jungfrau][Moench] Dac for ??"); + "\n\t[Jungfrau] Dac for ??"); } if (dac == "vb_comp") { return std::string("[dac or mV value][(optional unit) mV] " - "\n\t[Jungfrau][Moench] Dac for ??"); + "\n\t[Jungfrau] Dac for ??"); } if (dac == "vb_pixbuf") { return std::string("[dac or mV value][(optional unit) mV] " - "\n\t[Jungfrau][Moench] Dac for ??"); + "\n\t[Jungfrau] Dac for ??"); } if (dac == "vin_com") { return std::string("[dac or mV value][(optional unit) mV] " - "\n\t[Jungfrau][Moench] Dac for ??"); + "\n\t[Jungfrau] Dac for ??"); } if (dac == "vdd_prot") { return std::string("[dac or mV value][(optional unit) mV] " - "\n\t[Jungfrau][Moench] Dac for ??"); + "\n\t[Jungfrau] Dac for ??"); } if (dac == "vbp_colbuf") { - return std::string("[dac or mV value][(optional unit) mV] \n"); + return std::string( + "[dac or mV value][(optional unit) mV] \n\t[Moench] Dac for 0"); } if (dac == "vb_sda") { - return std::string("[dac or mV value][(optional unit) mV] \n"); + return std::string( + "[dac or mV value][(optional unit) mV] \n\t[Moench] Dac for 3"); } if (dac == "vcasc_sfp") { - return std::string("[dac or mV value][(optional unit) mV] \n"); + return std::string( + "[dac or mV value][(optional unit) mV] \n\t[Moench] Dac for 4"); } if (dac == "vipre_cds") { - return std::string("[dac or mV value][(optional unit) mV] \n"); + return std::string( + "[dac or mV value][(optional unit) mV] \n\t[Moench] Dac for 6"); } if (dac == "ibias_sfp") { - return std::string("[dac or mV value][(optional unit) mV] \n"); + return std::string( + "[dac or mV value][(optional unit) mV] \n\t[Moench] Dac for 7"); } // clang-format off diff --git a/slsDetectorSoftware/src/Module.cpp b/slsDetectorSoftware/src/Module.cpp index b7a42459d..9e47652a7 100644 --- a/slsDetectorSoftware/src/Module.cpp +++ b/slsDetectorSoftware/src/Module.cpp @@ -2370,14 +2370,6 @@ void Module::setNumberOfAnalogSamples(int value) { } } -int Module::getADCPipeline() const { - return sendToDetector(F_GET_ADC_PIPELINE); -} - -void Module::setADCPipeline(int value) { - sendToDetector(F_SET_ADC_PIPELINE, value, nullptr); -} - uint32_t Module::getADCEnableMask() const { return sendToDetector(F_GET_ADC_ENABLE_MASK); } @@ -2630,6 +2622,8 @@ void Module::setPatternBitMask(uint64_t mask) { void Module::startPattern() { sendToDetector(F_START_PATTERN); } +// Json Header specific + std::map Module::getAdditionalJsonHeader() const { // TODO, refactor this function with a more robust sending. // Now assuming whitespace separated key value @@ -2718,6 +2712,15 @@ void Module::setAdditionalJsonParameter(const std::string &key, } // Advanced + +int Module::getADCPipeline() const { + return sendToDetector(F_GET_ADC_PIPELINE); +} + +void Module::setADCPipeline(int value) { + sendToDetector(F_SET_ADC_PIPELINE, value, nullptr); +} + void Module::programFPGA(std::vector buffer, const bool forceDeleteNormalFile) { switch (shm()->detType) { diff --git a/slsDetectorSoftware/src/Module.h b/slsDetectorSoftware/src/Module.h index 6a15b91b1..fd0b99eda 100644 --- a/slsDetectorSoftware/src/Module.h +++ b/slsDetectorSoftware/src/Module.h @@ -502,8 +502,6 @@ class Module : public virtual slsDetectorDefs { * ************************************************/ int getNumberOfAnalogSamples() const; void setNumberOfAnalogSamples(int value); - int getADCPipeline() const; - void setADCPipeline(int value); uint32_t getADCEnableMask() const; void setADCEnableMask(uint32_t mask); uint32_t getTenGigaADCEnableMask() const; @@ -557,7 +555,7 @@ class Module : public virtual slsDetectorDefs { /************************************************** * * - * Moench * + * Json Header specific * * * * ************************************************/ std::map getAdditionalJsonHeader() const; @@ -572,6 +570,8 @@ class Module : public virtual slsDetectorDefs { * Advanced * * * * ************************************************/ + int getADCPipeline() const; + void setADCPipeline(int value); void programFPGA(std::vector buffer, const bool forceDeleteNormalFile); void resetFPGA(); diff --git a/slsDetectorSoftware/tests/test-CmdProxy-chiptestboard.cpp b/slsDetectorSoftware/tests/test-CmdProxy-chiptestboard.cpp index 6b18ace3d..d23ec6a6b 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy-chiptestboard.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy-chiptestboard.cpp @@ -727,41 +727,6 @@ TEST_CASE("syncclk", "[.cmd]") { } } -TEST_CASE("adcpipeline", "[.cmd]") { - Detector det; - CmdProxy proxy(&det); - auto det_type = det.getDetectorType().squash(); - - if (det_type == defs::CHIPTESTBOARD) { - auto prev_val = det.getADCPipeline(); - { - std::ostringstream oss; - proxy.Call("adcpipeline", {"1"}, -1, PUT, oss); - REQUIRE(oss.str() == "adcpipeline 1\n"); - } - { - std::ostringstream oss; - proxy.Call("adcpipeline", {"0"}, -1, PUT, oss); - REQUIRE(oss.str() == "adcpipeline 0\n"); - } - { - std::ostringstream oss; - proxy.Call("adcpipeline", {"15"}, -1, PUT, oss); - REQUIRE(oss.str() == "adcpipeline 15\n"); - } - { - std::ostringstream oss; - proxy.Call("adcpipeline", {}, -1, GET, oss); - REQUIRE(oss.str() == "adcpipeline 15\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setADCPipeline(prev_val[i], {i}); - } - } else { - REQUIRE_THROWS(proxy.Call("adcpipeline", {}, -1, GET)); - } -} - TEST_CASE("v_limit", "[.cmd]") { Detector det; CmdProxy proxy(&det); diff --git a/slsDetectorSoftware/tests/test-CmdProxy.cpp b/slsDetectorSoftware/tests/test-CmdProxy.cpp index afbea7f0a..c52353805 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy.cpp @@ -3055,6 +3055,41 @@ TEST_CASE("zmqhwm", "[.cmd]") { /* Advanced */ +TEST_CASE("adcpipeline", "[.cmd]") { + Detector det; + CmdProxy proxy(&det); + auto det_type = det.getDetectorType().squash(); + + if (det_type == defs::CHIPTESTBOARD || det_type == defs::MOENCH) { + auto prev_val = det.getADCPipeline(); + { + std::ostringstream oss; + proxy.Call("adcpipeline", {"1"}, -1, PUT, oss); + REQUIRE(oss.str() == "adcpipeline 1\n"); + } + { + std::ostringstream oss; + proxy.Call("adcpipeline", {"0"}, -1, PUT, oss); + REQUIRE(oss.str() == "adcpipeline 0\n"); + } + { + std::ostringstream oss; + proxy.Call("adcpipeline", {"15"}, -1, PUT, oss); + REQUIRE(oss.str() == "adcpipeline 15\n"); + } + { + std::ostringstream oss; + proxy.Call("adcpipeline", {}, -1, GET, oss); + REQUIRE(oss.str() == "adcpipeline 15\n"); + } + for (int i = 0; i != det.size(); ++i) { + det.setADCPipeline(prev_val[i], {i}); + } + } else { + REQUIRE_THROWS(proxy.Call("adcpipeline", {}, -1, GET)); + } +} + TEST_CASE("programfpga", "[.cmd]") { Detector det; CmdProxy proxy(&det); diff --git a/slsReceiverSoftware/src/GeneralData.h b/slsReceiverSoftware/src/GeneralData.h index be88309a2..12a46f7a2 100644 --- a/slsReceiverSoftware/src/GeneralData.h +++ b/slsReceiverSoftware/src/GeneralData.h @@ -65,6 +65,8 @@ class GeneralData { slsDetectorDefs::ROI detectorRoi{}; uint32_t counterMask{0}; uint32_t transceiverMask{0}; + slsDetectorDefs::frameDiscardPolicy frameDiscardMode{ + slsDetectorDefs::NO_DISCARD}; GeneralData(){}; virtual ~GeneralData(){}; @@ -384,6 +386,7 @@ class MoenchData : public GeneralData { fifoDepth = 1000; standardheader = true; maxRowsPerReadout = 400; + frameDiscardMode = slsDetectorDefs::DISCARD_PARTIAL_FRAMES; UpdateImageSize(); }; diff --git a/slsReceiverSoftware/src/Implementation.cpp b/slsReceiverSoftware/src/Implementation.cpp index 197236e50..5548fc685 100644 --- a/slsReceiverSoftware/src/Implementation.cpp +++ b/slsReceiverSoftware/src/Implementation.cpp @@ -186,7 +186,6 @@ void Implementation::SetupListener(int i) { listener[i]->SetActivate(activated); listener[i]->SetNoRoi(portRois[i].noRoi()); listener[i]->SetDetectorDatastream(detectorDataStream[i]); - listener[i]->SetFrameDiscardPolicy(frameDiscardMode); listener[i]->SetSilentMode(silentMode); } @@ -327,14 +326,13 @@ void Implementation::setFifoDepth(const uint32_t i) { slsDetectorDefs::frameDiscardPolicy Implementation::getFrameDiscardPolicy() const { - return frameDiscardMode; + return generalData->frameDiscardMode; } void Implementation::setFrameDiscardPolicy(const frameDiscardPolicy i) { - frameDiscardMode = i; - for (const auto &it : listener) - it->SetFrameDiscardPolicy(frameDiscardMode); - LOG(logINFO) << "Frame Discard Policy: " << ToString(frameDiscardMode); + generalData->frameDiscardMode = i; + LOG(logINFO) << "Frame Discard Policy: " + << ToString(generalData->frameDiscardMode); } bool Implementation::getFramePaddingEnable() const { return framePadding; } @@ -931,7 +929,7 @@ void Implementation::StartMasterWriter() { masterAttributes.nPixels = xy(generalData->nPixelsX, generalData->nPixelsY); masterAttributes.maxFramesPerFile = generalData->framesPerFile; - masterAttributes.frameDiscardMode = frameDiscardMode; + masterAttributes.frameDiscardMode = generalData->frameDiscardMode; masterAttributes.framePadding = framePadding; masterAttributes.scanParams = scanParams; masterAttributes.totalFrames = numberOfTotalFrames; diff --git a/slsReceiverSoftware/src/Implementation.h b/slsReceiverSoftware/src/Implementation.h index 0aa5cc6fa..0e00d131a 100644 --- a/slsReceiverSoftware/src/Implementation.h +++ b/slsReceiverSoftware/src/Implementation.h @@ -312,7 +312,6 @@ class Implementation : private virtual slsDetectorDefs { int modulePos{0}; std::string detHostname; bool silentMode{false}; - frameDiscardPolicy frameDiscardMode{NO_DISCARD}; bool framePadding{true}; pid_t parentThreadId; pid_t tcpThreadId; diff --git a/slsReceiverSoftware/src/Listener.cpp b/slsReceiverSoftware/src/Listener.cpp index ef2aa3736..bb5a9a0c6 100644 --- a/slsReceiverSoftware/src/Listener.cpp +++ b/slsReceiverSoftware/src/Listener.cpp @@ -102,10 +102,6 @@ void Listener::SetNoRoi(bool enable) { disabledPort = (!activated || !detectorDataStream || noRoi); } -void Listener::SetFrameDiscardPolicy(frameDiscardPolicy value) { - frameDiscardMode = value; -} - void Listener::SetSilentMode(bool enable) { silentMode = enable; } void Listener::ResetParametersforNewAcquisition() { @@ -419,7 +415,7 @@ size_t Listener::HandleFuturePacket(bool EOA, uint32_t numpackets, uint64_t fnum, bool isHeaderEmpty, size_t imageSize, sls_receiver_header &dstHeader) { - switch (frameDiscardMode) { + switch (generalData->frameDiscardMode) { case DISCARD_EMPTY_FRAMES: if (!numpackets) { if (!EOA) { diff --git a/slsReceiverSoftware/src/Listener.h b/slsReceiverSoftware/src/Listener.h index fd1f8e00a..9b78ec95a 100644 --- a/slsReceiverSoftware/src/Listener.h +++ b/slsReceiverSoftware/src/Listener.h @@ -44,7 +44,6 @@ class Listener : private virtual slsDetectorDefs, public ThreadObject { void SetActivate(bool enable); void SetDetectorDatastream(bool enable); void SetNoRoi(bool enable); - void SetFrameDiscardPolicy(frameDiscardPolicy value); void SetSilentMode(bool enable); void ResetParametersforNewAcquisition(); @@ -115,7 +114,6 @@ class Listener : private virtual slsDetectorDefs, public ThreadObject { uint32_t udpPortNumber{0}; std::string eth; - frameDiscardPolicy frameDiscardMode; bool activated{false}; bool detectorDataStream{true}; bool noRoi{false}; diff --git a/slsReceiverSoftware/src/receiver_defs.h b/slsReceiverSoftware/src/receiver_defs.h index e649e2ea8..2a7a4d1ed 100644 --- a/slsReceiverSoftware/src/receiver_defs.h +++ b/slsReceiverSoftware/src/receiver_defs.h @@ -26,7 +26,7 @@ namespace sls { #define SHORT_MAX_FRAMES_PER_FILE 100000 #define EIGER_MAX_FRAMES_PER_FILE 10000 #define JFRAU_MAX_FRAMES_PER_FILE 10000 -#define MOENCH_MAX_FRAMES_PER_FILE 10000 +#define MOENCH_MAX_FRAMES_PER_FILE 100000 #define CTB_MAX_FRAMES_PER_FILE 20000 #define MYTHEN3_MAX_FRAMES_PER_FILE 10000 #define GOTTHARD2_MAX_FRAMES_PER_FILE 20000 diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 493e3ecaf..e7ce03cff 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -8,6 +8,6 @@ #define APIGOTTHARD "developer 0x230615" #define APIGOTTHARD2 "developer 0x230615" #define APIMYTHEN3 "developer 0x230621" -#define APIMOENCH "developer 0x230707" -#define APIJUNGFRAU "developer 0x230720" -#define APICTB "developer 0x230720" +#define APIJUNGFRAU "developer 0x230720" +#define APIMOENCH "developer 0x230725" +#define APICTB "developer 0x230720"