8 #include "otsdaq-core/ConfigurationDataFormats/Component.h"
14 Component::Component(std::string name, std::string typeName)
15 : componentName_(name), typeName_(typeName)
19 Component::~Component()
24 void Component::addRegister(std::string name)
27 registers_.push_back(tempRegister_);
30 void Component::addRegister(std::string name,
31 std::string baseAddress,
34 int globalSequencePosition,
38 tempRegister_.fillRegisterInfo(baseAddress, size, access);
39 tempRegister_.setInitialize(std::make_pair(globalSequencePosition, globalValue));
40 tempRegister_.setConfigure(std::make_pair(globalSequencePosition, globalValue));
41 tempRegister_.setStart(std::make_pair(globalSequencePosition, globalValue));
42 tempRegister_.setHalt(std::make_pair(globalSequencePosition, globalValue));
43 tempRegister_.setPause(std::make_pair(globalSequencePosition, globalValue));
44 tempRegister_.setResume(std::make_pair(globalSequencePosition, globalValue));
45 registers_.push_back(tempRegister_);
48 void Component::addRegister(std::string name,
49 std::string baseAddress,
52 int initializeSequencePosition,
54 int configureSequencePosition,
58 tempRegister_.fillRegisterInfo(baseAddress, size, access);
59 tempRegister_.setInitialize(
60 std::make_pair(initializeSequencePosition, initializeValue));
61 tempRegister_.setConfigure(std::make_pair(configureSequencePosition, configureValue));
62 tempRegister_.setStart(std::make_pair(-1, 0));
63 tempRegister_.setHalt(std::make_pair(-1, 0));
64 tempRegister_.setPause(std::make_pair(-1, 0));
65 tempRegister_.setResume(std::make_pair(-1, 0));
66 registers_.push_back(tempRegister_);
69 void Component::addRegister(std::string name,
70 std::string baseAddress,
73 int initializeSequencePosition,
75 int configureSequencePosition,
77 int startSequencePosition,
79 int haltSequencePosition,
81 int pauseSequencePosition,
83 int resumeSequencePosition,
87 tempRegister_.fillRegisterInfo(baseAddress, size, access);
88 tempRegister_.setInitialize(
89 std::make_pair(initializeSequencePosition, initializeValue));
90 tempRegister_.setConfigure(std::make_pair(configureSequencePosition, configureValue));
91 tempRegister_.setStart(std::make_pair(startSequencePosition, startValue));
92 tempRegister_.setHalt(std::make_pair(haltSequencePosition, haltValue));
93 tempRegister_.setPause(std::make_pair(pauseSequencePosition, pauseValue));
94 tempRegister_.setResume(std::make_pair(resumeSequencePosition, resumeValue));
95 registers_.push_back(tempRegister_);
100 std::list<Register> Component::getRegisters(
void) {
return registers_; }
102 std::list<Register>* Component::getRegistersPointer(
void) {
return ®isters_; }
104 std::string Component::getComponentName(
void) {
return componentName_; }
106 std::string Component::getTypeName(
void) {
return typeName_; }
108 std::string Component::printPair(std::pair<int, int> in)
110 return "(" + std::to_string(in.first) +
"," + std::to_string(in.second) +
")";
113 void Component::printInfo(
void)
115 std::cout << __COUT_HDR_FL__
116 <<
"======================================================================="
119 std::cout << __COUT_HDR_FL__ <<
"===============================" << componentName_
121 std::cout << __COUT_HDR_FL__
122 <<
"======================================================================="
125 std::cout << __COUT_HDR_FL__
126 <<
"REGISTER \t\t BASE ADDRESS \t\t SIZE \t\t ACCESS \t\t||\t INIT \t "
127 "CONFIG \t START \t STOP \t PAUSE \t RESUME "
130 for(std::list<Register>::iterator aRegister = registers_.begin();
131 aRegister != registers_.end();
134 std::cout << __COUT_HDR_FL__ << aRegister->getName() <<
"\t\t"
135 << aRegister->getBaseAddress() <<
"\t\t"
136 << std::to_string(aRegister->getSize()) <<
"\t\t"
137 << aRegister->getAccess() <<
"\t\t||\t"
138 << printPair(aRegister->getInitialize()) <<
"/t"
139 << printPair(aRegister->getStart()) <<
"\t"
140 << printPair(aRegister->getHalt()) <<
"\t"
141 << printPair(aRegister->getPause()) <<
"\t"
142 << printPair(aRegister->getResume()) << std::endl;