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) :
18 ,componentTypeName_ (componentType)
22 configurationInfoReader.read(
this);
25 sequencerInfoReader.read(
this);
30 RegisterBase::~RegisterBase() {
34 void RegisterBase::init(
void)
36 theComponentList_.clear();
39 for(
auto it : *mockupRegisterView_.getRegistersSequencerInfoPointer())
43 theComponentList_.insert(std::make_pair(it.getComponentName(),
Component(it.getComponentName())));
45 auto regs = theComponentList_.find(it.getComponentName())->second.getRegistersPointer();
46 std::find_if(regs->begin(), regs->end(),[it](
auto r){
return r.getName() == it.getRegisterName();})->setState(it.getState(), it.getValueSequencePair());
50 for(
auto aComponent : theComponentList_) {
52 for(
auto registerFromConfiguration : *aComponent.second.getRegistersPointer())
55 for(
auto aRegister : *mockupRegisterView_.getRegistersInfoPointer())
58 if(aRegister.getRegisterName() == registerFromConfiguration.getName()
61 registerFromConfiguration.fillRegisterInfo(aRegister.getBaseAddress(), aRegister.getSize(), aRegister.getAccess());
68 for(
auto aComponent : theComponentList_) {
69 aComponent.second.printInfo();
124 const RegisterView& RegisterBase::getRegisterView()
const
126 return *activeRegisterView_;
132 return activeRegisterView_;
136 RegisterView* RegisterBase::getMockupRegisterViewPointer()
138 return &mockupRegisterView_;
141 std::string RegisterBase::getTypeName()
143 return componentTypeName_;