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

This commit is contained in:
2026-08-06 11:11:32 +02:00
parent 281943eb69
commit c3741bc462
2 changed files with 18 additions and 1 deletions
+16
View File
@@ -197,6 +197,9 @@ void Module::setSettings(detectorSettings isettings) {
"Cannot set settings for Eiger. Use threshold energy.");
}
sendToDetector<int>(F_SET_SETTINGS, isettings);
if (shm()->detType == MYTHEN3) {
updateRxAllThresholdMetadata(getAllThresholdEnergy());
}
}
int Module::getThresholdEnergy() const {
@@ -267,6 +270,8 @@ void Module::setThresholdEnergy(int e_eV, detectorSettings isettings,
}
}
void Module::setAllThresholdEnergy(std::array<int, 3> e_eV,
detectorSettings isettings, bool trimbits) {
if (shm()->detType != MYTHEN3) {
@@ -415,7 +420,9 @@ void Module::setAllThresholdEnergy(std::array<int, 3> e_eV,
throw RuntimeError("setThresholdEnergyAndSettings: Could not set "
"settings in Module");
}
}
void Module::updateRxAllThresholdMetadata(std::array<int, 3> e_eV) {
if (shm()->useReceiverFlag) {
sendToReceiver(F_RECEIVER_SET_ALL_THRESHOLD, e_eV, nullptr);
}
@@ -478,6 +485,9 @@ int Module::getAllTrimbits() const {
void Module::setAllTrimbits(int val) {
sendToDetector<int>(F_SET_ALL_TRIMBITS, val);
if (shm()->detType == MYTHEN3) {
updateRxAllThresholdMetadata(getAllThresholdEnergy());
}
}
std::vector<int> Module::getTrimEn() const {
@@ -805,6 +815,9 @@ 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);
if (shm()->detType == MYTHEN3) {
updateRxAllThresholdMetadata(getAllThresholdEnergy());
}
}
bool Module::getPowerChip() const {
@@ -3605,6 +3618,9 @@ void Module::setModule(sls_detector_module &module, bool trimbits) {
throw DetectorError("Module " + std::to_string(moduleIndex) +
" returned error: " + client.readErrorMessage());
}
if (shm()->detType == MYTHEN3) {
updateRxAllThresholdMetadata(getAllThresholdEnergy());
}
}
sls_detector_module Module::getModule() {
+2 -1
View File
@@ -109,7 +109,8 @@ class Module : public virtual slsDetectorDefs {
bool trimbits);
void setAllThresholdEnergy(std::array<int, 3> e_eV,
detectorSettings isettings, bool trimbits);
std::string getSettingsDir() const;
std::string getSettingsDir() const;
void updateRxAllThresholdMetadata(std::array<int, 3> e_eV);
std::string setSettingsDir(const std::string &dir);
void loadTrimbits(const std::string &fname);
void saveTrimbits(const std::string &fname);