8 #include "otsdaq-core/ConfigurationDataFormats/Component.h"
15 Component::Component(std::string name, std::string typeName):
20 Component::~Component() {
24 void Component::addRegister (std::string name){
26 registers_.push_back(tempRegister_);
29 void Component::addRegister (std::string name, std::string baseAddress,
int size, std::string access,
int globalSequencePosition,
int globalValue)
32 tempRegister_.fillRegisterInfo( baseAddress, size, access);
33 tempRegister_.setInitialize ( std::make_pair( globalSequencePosition, globalValue));
34 tempRegister_.setConfigure ( std::make_pair( globalSequencePosition, globalValue));
35 tempRegister_.setStart ( std::make_pair( globalSequencePosition, globalValue));
36 tempRegister_.setHalt ( std::make_pair( globalSequencePosition, globalValue));
37 tempRegister_.setPause ( std::make_pair( globalSequencePosition, globalValue));
38 tempRegister_.setResume ( std::make_pair( globalSequencePosition, globalValue));
39 registers_.push_back(tempRegister_);
42 void Component::addRegister (std::string name, std::string baseAddress,
int size, std::string access,
int initializeSequencePosition,
int initializeValue,
int configureSequencePosition,
int configureValue)
45 tempRegister_.fillRegisterInfo( baseAddress, size, access);
46 tempRegister_.setInitialize ( std::make_pair( initializeSequencePosition, initializeValue));
47 tempRegister_.setConfigure ( std::make_pair( configureSequencePosition, configureValue));
48 tempRegister_.setStart ( std::make_pair( -1, 0));
49 tempRegister_.setHalt ( std::make_pair( -1, 0));
50 tempRegister_.setPause ( std::make_pair( -1, 0));
51 tempRegister_.setResume ( std::make_pair( -1, 0));
52 registers_.push_back(tempRegister_);
55 void Component::addRegister (std::string name, std::string baseAddress,
int size, std::string access,
int initializeSequencePosition,
int initializeValue,
int configureSequencePosition,
int configureValue,
int startSequencePosition,
int startValue,
int haltSequencePosition,
int haltValue,
int pauseSequencePosition,
int pauseValue,
int resumeSequencePosition,
int resumeValue)
58 tempRegister_.fillRegisterInfo( baseAddress, size, access);
59 tempRegister_.setInitialize ( std::make_pair( initializeSequencePosition, initializeValue));
60 tempRegister_.setConfigure ( std::make_pair( configureSequencePosition, configureValue));
61 tempRegister_.setStart ( std::make_pair( startSequencePosition, startValue));
62 tempRegister_.setHalt ( std::make_pair( haltSequencePosition, haltValue));
63 tempRegister_.setPause ( std::make_pair( pauseSequencePosition, pauseValue));
64 tempRegister_.setResume ( std::make_pair( resumeSequencePosition, resumeValue));
65 registers_.push_back(tempRegister_);
70 std::list<Register> Component::getRegisters(
void){
74 std::list<Register>* Component::getRegistersPointer(
void){
78 std::string Component::getComponentName(
void){
79 return componentName_;
82 std::string Component::getTypeName(
void){
86 std::string Component::printPair(std::pair<int, int> in)
88 return "(" + std::to_string(in.first) +
"," + std::to_string(in.second) +
")";
91 void Component::printInfo(
void){
93 std::cout << __COUT_HDR_FL__ <<
"==============================================================================" << std::endl;
94 std::cout << __COUT_HDR_FL__ <<
"===============================" << componentName_ << std::endl;
95 std::cout << __COUT_HDR_FL__ <<
"==============================================================================" << std::endl;
96 std::cout << __COUT_HDR_FL__ <<
"REGISTER \t\t BASE ADDRESS \t\t SIZE \t\t ACCESS \t\t||\t INIT \t CONFIG \t START \t STOP \t PAUSE \t RESUME " << std::endl;
98 for(std::list<Register>::iterator aRegister = registers_.begin(); aRegister != registers_.end(); aRegister++)
100 std::cout << __COUT_HDR_FL__ << aRegister->getName() <<
"\t\t" << aRegister->getBaseAddress() <<
"\t\t" << std::to_string(aRegister->getSize()) <<
"\t\t" << aRegister->getAccess() <<
"\t\t||\t" << printPair(aRegister->getInitialize()) <<
"/t" << printPair(aRegister->getStart()) <<
"\t" << printPair(aRegister->getHalt()) <<
"\t" << printPair(aRegister->getPause()) <<
"\t" << printPair(aRegister->getResume()) << std::endl;