mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-08-06 23:52:28 +02:00
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:
@@ -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
|
||||
==========================================
|
||||
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user