From 96f7a1ecfb9656e96229b42334758cce333a931e Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 15 Jul 2024 12:31:53 +0200 Subject: [PATCH 1/5] moench server: changed default values of adcphase for full speed from 300 to 150 and dac vipre_cds from 800 to 1280 (#922) --- .../bin/moenchDetectorServer_developer | Bin 295476 -> 295476 bytes .../slsDetectorServer_defs.h | 4 ++-- slsSupportLib/include/sls/versionAPI.h | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index d00d2da38ce0b2aabb3b0adba40d1848882e9315..dfcf76c14050a49250e9ec74d9389240699104a8 100755 GIT binary patch delta 76 zcmdneBDAGNXo3byT5IUs=^s}!OKfzBGGdy>(7eE?eSs0<_60^v!l#+d4UD&M`^z+q dk%@tIyWfANwW465efy4$=^s}!OKfzBGGfwUY+hj0zQBla`vM~-;nU1U2Ikwh{bicQ d$fUr$-S0osT2ZjjKN04>%^;z^6U@tY0sug~93KDx diff --git a/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h index a2ca7be9b..b564f21af 100644 --- a/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h @@ -70,7 +70,7 @@ #define ADC_PHASE_DEG_QUARTER_SPEED (0) #define ADC_PHASE_DEG_HALF_SPEED (0) -#define ADC_PHASE_DEG_FULL_SPEED (300) +#define ADC_PHASE_DEG_FULL_SPEED (150) #define ADC_OFST_QUARTER_SPEED (0x12) #define ADC_OFST_HALF_SPEED (0x12) @@ -133,7 +133,7 @@ enum DACINDEX { 680, /* MO_VB_SDA */ \ 1428, /* MO_VCASC_SFP */ \ 1200, /* MO_VOUT_CM */ \ - 800, /* MO_VIPRE_CDS */ \ + 1280, /* MO_VIPRE_CDS */ \ 900 /* MO_IBIAS_SFP */ \ }; diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 745078acb..2f9c2ffd3 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -12,3 +12,5 @@ #define APIMOENCH "developer 0x240207" #define APIXILINXCTB "developer 0x240207" #define APIEIGER "developer 0x240207" +#define APIMOENCH "developer 0x240703" +#define APIMOENCH "developer 0x240703" From 08dc8e3cbb2ed8bd8bfdb01756deb98420426c62 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 16 Jul 2024 11:59:17 +0200 Subject: [PATCH 2/5] client bug fix: m3 multi module bad channel file throws bad allocation when modules skipped, needed to add vectors in 2d vector of bad channel list (#920) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Fröjdh --- slsDetectorSoftware/src/DetectorImpl.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/slsDetectorSoftware/src/DetectorImpl.cpp b/slsDetectorSoftware/src/DetectorImpl.cpp index 523c472f8..7792383b0 100644 --- a/slsDetectorSoftware/src/DetectorImpl.cpp +++ b/slsDetectorSoftware/src/DetectorImpl.cpp @@ -1981,7 +1981,7 @@ void DetectorImpl::setBadChannels(const std::vector list, Positions pos) { // update to multi values if multi modules if (isAllPositions(pos)) { - std::vector> badchannels; + std::vector> badchannels(modules.size()); int nchan = modules[0]->getNumberOfChannels().x; if (shm()->detType == MYTHEN3) { // assuming single counter @@ -2000,16 +2000,9 @@ void DetectorImpl::setBadChannels(const std::vector list, Positions pos) { std::to_string(badchannel) + " out of bounds."); } - if (badchannels.size() != imod + 1) { - badchannels.push_back(std::vector{}); - } badchannels[imod].push_back(ch); } for (size_t imod = 0; imod != modules.size(); ++imod) { - // add empty vector if no bad channels in this module - if (badchannels.size() != imod + 1) { - badchannels.push_back(std::vector{}); - } Parallel(&Module::setBadChannels, {static_cast(imod)}, badchannels[imod]); } From 1efd106c6a69464048dccd1b0fd0ea820468dbf7 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 16 Jul 2024 15:43:31 +0200 Subject: [PATCH 3/5] developer: blocking acquire stop with slave temporarily in waiting (#926) * client: stopping a blocking acquire of multi modules checks status to catch slaves that might still be in waiting. Problem is (gotthard2 25um at least) slave is in waiting only temporarily before going go idle/stopped. So a 50ms sleep is necessary ot not throw an unnecessary error * client: when stopping blocking acquire, wait up to 1s in 50ms increments for slave to stop waiting temporarily --- slsDetectorSoftware/src/DetectorImpl.cpp | 27 ++++++++++++------------ 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/slsDetectorSoftware/src/DetectorImpl.cpp b/slsDetectorSoftware/src/DetectorImpl.cpp index 7792383b0..169c0d086 100644 --- a/slsDetectorSoftware/src/DetectorImpl.cpp +++ b/slsDetectorSoftware/src/DetectorImpl.cpp @@ -744,9 +744,8 @@ void DetectorImpl::readFrameFromReceiver() { } } - LOG(logDEBUG) << "Call Back Info:" - << "\n\t nDetPixelsX: " << nDetPixelsX - << "\n\t nDetPixelsY: " << nDetPixelsY + LOG(logDEBUG) << "Call Back Info:" << "\n\t nDetPixelsX: " + << nDetPixelsX << "\n\t nDetPixelsY: " << nDetPixelsY << "\n\t databytes: " << multisize << "\n\t dynamicRange: " << dynamicRange; @@ -764,8 +763,8 @@ void DetectorImpl::readFrameFromReceiver() { callbackImage = multigappixels; imagesize = n; } - LOG(logDEBUG) << "Image Info:" - << "\n\tnDetActualPixelsX: " << nDetActualPixelsX + LOG(logDEBUG) << "Image Info:" << "\n\tnDetActualPixelsX: " + << nDetActualPixelsX << "\n\tnDetActualPixelsY: " << nDetActualPixelsY << "\n\timagesize: " << imagesize << "\n\tdynamicRange: " << dynamicRange; @@ -800,8 +799,7 @@ void DetectorImpl::readFrameFromReceiver() { int DetectorImpl::insertGapPixels(char *image, char *&gpImage, bool quadEnable, int dr, int &nPixelsx, int &nPixelsy) { - LOG(logDEBUG) << "Insert Gap pixels:" - << "\n\t nPixelsx: " << nPixelsx + LOG(logDEBUG) << "Insert Gap pixels:" << "\n\t nPixelsx: " << nPixelsx << "\n\t nPixelsy: " << nPixelsy << "\n\t quadEnable: " << quadEnable << "\n\t dr: " << dr; @@ -886,12 +884,10 @@ int DetectorImpl::insertGapPixels(char *image, char *&gpImage, bool quadEnable, << "nMod1Pixelsy: " << nMod1Pixelsy << "\n\t" << "nMod1GapPixelsx: " << nMod1GapPixelsx << "\n\t" << "nMod1GapPixelsy: " << nMod1GapPixelsy << "\n\t" - << "nChipy: " << nChipy << "\n\t" - << "nChipx: " << nChipx << "\n\t" - << "nModx: " << nModx << "\n\t" - << "nMody: " << nMody << "\n\t" - << "nTotx: " << nTotx << "\n\t" - << "nToty: " << nToty << "\n\t" + << "nChipy: " << nChipy << "\n\t" << "nChipx: " << nChipx + << "\n\t" << "nModx: " << nModx << "\n\t" + << "nMody: " << nMody << "\n\t" << "nTotx: " << nTotx + << "\n\t" << "nToty: " << nToty << "\n\t" << "bytesPerPixel: " << bytesPerPixel << "\n\t" << "imagesize: " << imagesize << "\n\t" << "nChipBytesx: " << nChipBytesx << "\n\t" @@ -1323,6 +1319,11 @@ void DetectorImpl::startAcquisition(const bool blocking, Positions pos) { // ensure all status normal (slaves not blocking) // to catch those slaves that are still 'waiting' auto status = Parallel(&Module::getRunStatus, pos); + // if any slave still waiting, wait up to 1s + for (int i = 0; i != 20 && status.any(WAITING); ++i) { + std::this_thread::sleep_for(std::chrono::milliseconds(50)); + status = Parallel(&Module::getRunStatus, pos); + } if (!status.contains_only(IDLE, STOPPED, RUN_FINISHED)) { throw RuntimeError("Acquisition not successful. " "Unexpected detector status"); From bf523c0c5e6ea21b543f210a3feb5e87414a633e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Fr=C3=B6jdh?= Date: Thu, 25 Jul 2024 17:15:14 +0200 Subject: [PATCH 4/5] fix to rapidjson for build with gcc 14 (#929) --- libs/rapidjson/rapidjson/document.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/rapidjson/rapidjson/document.h b/libs/rapidjson/rapidjson/document.h index f4073113d..266f78337 100755 --- a/libs/rapidjson/rapidjson/document.h +++ b/libs/rapidjson/rapidjson/document.h @@ -316,7 +316,8 @@ struct GenericStringRef { GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), length(rhs.length) {} - GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; } + // Removed to fix failing build in GCC 14 + // GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; } //! implicit conversion to plain CharType pointer operator const Ch *() const { return s; } From ce7f01bdc4f1a330e86a6824311e157cef35f908 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 25 Jul 2024 17:18:45 +0200 Subject: [PATCH 5/5] Dev: m3 clkdiv0 20 (#924) * m3: clk 0 changed from 10 to 20 (100MHz to 50MHz) * g2: startup clk div back to 10 as in firmware but setting in software startup to 20 * m3: minor print error if clk divider > max --- .../bin/moenchDetectorServer_developer | Bin 295476 -> 295476 bytes .../bin/mythen3DetectorServer_developer | Bin 301064 -> 301064 bytes .../slsDetectorFunctionList.c | 6 ++++++ .../slsDetectorServer_defs.h | 2 ++ slsSupportLib/include/sls/versionAPI.h | 4 +--- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index dfcf76c14050a49250e9ec74d9389240699104a8..8b00fa38740a29f1088cc3127321e135fe8add64 100755 GIT binary patch delta 33 pcmdneBDAGNXo4p5RKr)(Kdxq$Xmn|HVQh6_YIR}W>caA&5dh>o4C4R* delta 33 pcmdneBDAGNXo4nlYv|nRA6GL=G`h69Ft)ldwYo5Gbz%9?2ms$&45|PC diff --git a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer index 4ef9c132891582d5bf0e1542f28e988d24b62d00..c997ecb4ee6406696bc86e135cf795247fc9fe5f 100755 GIT binary patch delta 70439 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 Br$Yb$ delta 70286 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 diff --git a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c index 4b8fa905d..573836ab5 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c @@ -480,6 +480,11 @@ void setupDetector() { READOUT_PLL_VCO_FREQ_HZ, SYSTEM_PLL_VCO_FREQ_HZ); ALTERA_PLL_C10_ResetPLL(READOUT_PLL); ALTERA_PLL_C10_ResetPLL(SYSTEM_PLL); + // change startup clock divider in software + // because firmware only sets max clock divider + setClockDividerWithTimeUpdateOption(READOUT_C0, DEFAULT_READOUT_C0_STARTUP, + 0); + // hv DAC6571_SetDefines(HV_HARD_MAX_VOLTAGE, HV_DRIVER_FILE_NAME); // dac @@ -2333,6 +2338,7 @@ int setClockDividerWithTimeUpdateOption(enum CLKINDEX ind, int val, return FAIL; } if (val < 2 || val > getMaxClockDivider()) { + LOG(logERROR, ("Invalid clock divider %d\n", val)); return FAIL; } char *clock_names[] = {CLK_NAMES}; diff --git a/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h index 89b294ffc..5ba93057c 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h @@ -65,6 +65,8 @@ #define DEFAULT_SYSTEM_C2 (5) //(200000000) // smp_clk, 200 MHz const #define DEFAULT_TRIMMING_RUN_CLKDIV (40) // (25000000) // 25 MHz +#define DEFAULT_READOUT_C0_STARTUP (20) //(50000000) // rdo_clk, 50 MHz + #define DEFAULT_ASIC_LATCHING_NUM_PULSES (10) #define DEFAULT_MSTR_OTPT_P1_NUM_PULSES (20) #define DEFAULT_ADIF_PIPELINE_VAL (8) diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 2f9c2ffd3..5654a6f28 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -8,9 +8,7 @@ #define APIGOTTHARD "developer 0x240207" #define APIGOTTHARD2 "developer 0x240207" #define APIJUNGFRAU "developer 0x240207" -#define APIMYTHEN3 "developer 0x240207" -#define APIMOENCH "developer 0x240207" #define APIXILINXCTB "developer 0x240207" #define APIEIGER "developer 0x240207" #define APIMOENCH "developer 0x240703" -#define APIMOENCH "developer 0x240703" +#define APIMYTHEN3 "developer 0x240715"