8 #include "otsdaq-core/ConfigurationDataFormats/RegisterBase.h"
9 #include "otsdaq-core/ConfigurationDataFormats/RegisterConfigurationInfoReader.h"
10 #include "otsdaq-core/ConfigurationDataFormats/RegisterSequencerInfoReader.h"
16 RegisterBase::RegisterBase(std::string configurationName, std::string componentType)
17 : ConfigurationBase(configurationName), componentTypeName_(componentType)
20 configurationInfoReader.read(
this);
23 sequencerInfoReader.read(
this);
28 RegisterBase::~RegisterBase()
33 void RegisterBase::init(
void)
35 theComponentList_.clear();
38 for(
auto it : *mockupRegisterView_.getRegistersSequencerInfoPointer())
43 theComponentList_.insert(
44 std::make_pair(it.getComponentName(),
Component(it.getComponentName())));
48 theComponentList_.find(it.getComponentName())->second.getRegistersPointer();
49 std::find_if(regs->begin(),
51 [it](
auto r) {
return r.getName() == it.getRegisterName(); })
52 ->setState(it.getState(), it.getValueSequencePair());
55 for(
auto aComponent : theComponentList_)
58 for(
auto registerFromConfiguration : *aComponent.second.getRegistersPointer())
61 for(
auto aRegister : *mockupRegisterView_.getRegistersInfoPointer())
64 if(aRegister.getRegisterName() == registerFromConfiguration.getName()
69 registerFromConfiguration.fillRegisterInfo(aRegister.getBaseAddress(),
71 aRegister.getAccess());
78 for(
auto aComponent : theComponentList_)
80 aComponent.second.printInfo();
129 const RegisterView& RegisterBase::getRegisterView()
const {
return *activeRegisterView_; }
132 RegisterView* RegisterBase::getRegisterViewPointer() {
return activeRegisterView_; }
135 RegisterView* RegisterBase::getMockupRegisterViewPointer()
137 return &mockupRegisterView_;
140 std::string RegisterBase::getTypeName() {
return componentTypeName_; }