Skip to content
Snippets Groups Projects
Commit aa0bd46e authored by Martin Christoph Hierholzer's avatar Martin Christoph Hierholzer
Browse files

bug fix: if data matching is disabled, do not send data twice

parent d5a59a30
No related branches found
No related tags found
No related merge requests found
......@@ -82,7 +82,9 @@ namespace ChimeraTK {
}
boost::dynamic_pointer_cast<DoocsProcessScalar<DOOCS_PRIMITIVE_T, DOOCS_T>>(doocsPV)->setMacroPulseNumberSource(
mpnDecorated);
_updater.addVariable(ChimeraTK::ScalarRegisterAccessor<int64_t>(mpnDecorated), _eqFct, [] {});
if(propertyDescription.dataMatching != DataConsistencyGroup::MatchingMode::none) {
_updater.addVariable(ChimeraTK::ScalarRegisterAccessor<int64_t>(mpnDecorated), _eqFct, [] {});
}
}
// set data matching mode
......@@ -110,8 +112,8 @@ namespace ChimeraTK {
assert(processArray->getNumberOfChannels() == 1);
assert(processArray->getNumberOfSamples() == 1); // array of strings is not supported
boost::shared_ptr<D_fct> doocsPV(
new DoocsProcessScalar<std::string, D_textUnifier>(_eqFct, propertyDescription.name.c_str(), processArray, _updater));
boost::shared_ptr<D_fct> doocsPV(new DoocsProcessScalar<std::string, D_textUnifier>(
_eqFct, propertyDescription.name.c_str(), processArray, _updater));
// set read only mode if configures in the xml file or for output variables
if(!processArray->isWriteable() || !propertyDescription.isWriteable) {
......@@ -139,7 +141,9 @@ namespace ChimeraTK {
}
boost::dynamic_pointer_cast<DoocsProcessScalar<std::string, D_textUnifier>>(doocsPV)->setMacroPulseNumberSource(
mpnDecorated);
_updater.addVariable(ChimeraTK::ScalarRegisterAccessor<int64_t>(mpnDecorated), _eqFct, [] {});
if(propertyDescription.dataMatching != DataConsistencyGroup::MatchingMode::none) {
_updater.addVariable(ChimeraTK::ScalarRegisterAccessor<int64_t>(mpnDecorated), _eqFct, [] {});
}
}
// set data matching mode
......@@ -214,7 +218,9 @@ namespace ChimeraTK {
"' is used as a macro pulse number source, but it is not readable.");
}
boost::dynamic_pointer_cast<DoocsSpectrum>(doocsPV)->setMacroPulseNumberSource(mpnDecorated);
_updater.addVariable(ChimeraTK::ScalarRegisterAccessor<int64_t>(mpnDecorated), _eqFct, [] {});
if(spectrumDescription.dataMatching != DataConsistencyGroup::MatchingMode::none) {
_updater.addVariable(ChimeraTK::ScalarRegisterAccessor<int64_t>(mpnDecorated), _eqFct, [] {});
}
}
// set data matching mode
......@@ -414,7 +420,9 @@ boost::shared_ptr<D_fct> DoocsPVFactory::typedCreateDoocsArray(AutoPropertyDescr
}
boost::dynamic_pointer_cast<DoocsProcessArray<DOOCS_T, DOOCS_PRIMITIVE_T>>(doocsPV)->setMacroPulseNumberSource(
mpnDecorated);
_updater.addVariable(ChimeraTK::ScalarRegisterAccessor<int64_t>(mpnDecorated), _eqFct, [] {});
if(propertyDescription.dataMatching != DataConsistencyGroup::MatchingMode::none) {
_updater.addVariable(ChimeraTK::ScalarRegisterAccessor<int64_t>(mpnDecorated), _eqFct, [] {});
}
}
// set data matching mode
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment