1010/update rx metadata threshold m3 (#1508)

* update rx master file for all threshold energies(m3) when setting dac directly, custom trimbits, setting settings, trimbits etc

* formatting

* refactored for future modifications for eier

* renaming

* release notes
This commit is contained in:
2026-08-06 16:28:00 +02:00
committed by GitHub
parent 281943eb69
commit 0aaea316c5
3 changed files with 13 additions and 1 deletions
+2
View File
@@ -58,6 +58,8 @@ added rx_streamdummyheader to send the zmq dummy header any time. Allows pre-con
zmqsocket - allowing hwm to be set already at the constructor level. As before, can still be set after construction with socket reconnection.
M3: threshold energy updated to -1 in receiver master file whenever it is set in the detector server (setting dacs directly, custom trimbit file, set all trimbits etc.)
2 On-board Detector Server Compatibility
==========================================
+10 -1
View File
@@ -197,6 +197,7 @@ void Module::setSettings(detectorSettings isettings) {
"Cannot set settings for Eiger. Use threshold energy.");
}
sendToDetector<int>(F_SET_SETTINGS, isettings);
updateRxThresholdEnergyMetadata();
}
int Module::getThresholdEnergy() const {
@@ -415,9 +416,14 @@ void Module::setAllThresholdEnergy(std::array<int, 3> e_eV,
throw RuntimeError("setThresholdEnergyAndSettings: Could not set "
"settings in Module");
}
}
void Module::updateRxThresholdEnergyMetadata() {
if (shm()->useReceiverFlag) {
sendToReceiver(F_RECEIVER_SET_ALL_THRESHOLD, e_eV, nullptr);
if (shm()->detType == MYTHEN3) {
auto e_eV = getAllThresholdEnergy();
sendToReceiver(F_RECEIVER_SET_ALL_THRESHOLD, e_eV, nullptr);
}
}
}
@@ -478,6 +484,7 @@ int Module::getAllTrimbits() const {
void Module::setAllTrimbits(int val) {
sendToDetector<int>(F_SET_ALL_TRIMBITS, val);
updateRxThresholdEnergyMetadata();
}
std::vector<int> Module::getTrimEn() const {
@@ -805,6 +812,7 @@ void Module::resetToDefaultDacs(const bool hardReset) {
void Module::setDAC(int val, dacIndex index, bool mV) {
int args[]{static_cast<int>(index), static_cast<int>(mV), val};
sendToDetector<int>(F_SET_DAC, args);
updateRxThresholdEnergyMetadata();
}
bool Module::getPowerChip() const {
@@ -3605,6 +3613,7 @@ void Module::setModule(sls_detector_module &module, bool trimbits) {
throw DetectorError("Module " + std::to_string(moduleIndex) +
" returned error: " + client.readErrorMessage());
}
updateRxThresholdEnergyMetadata();
}
sls_detector_module Module::getModule() {
+1
View File
@@ -110,6 +110,7 @@ class Module : public virtual slsDetectorDefs {
void setAllThresholdEnergy(std::array<int, 3> e_eV,
detectorSettings isettings, bool trimbits);
std::string getSettingsDir() const;
void updateRxThresholdEnergyMetadata();
std::string setSettingsDir(const std::string &dir);
void loadTrimbits(const std::string &fname);
void saveTrimbits(const std::string &fname);