$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 /* 00002 * Component.h 00003 * 00004 * Created on: Aug 3, 2015 00005 * Author: parilla 00006 */ 00007 00008 #ifndef HARDWARE_H_ 00009 #define HARDWARE_H_ 00010 #include <list> 00011 #include <map> 00012 #include <string> 00013 #include "Register.h" 00014 00015 namespace ots 00016 { 00017 class Component 00018 { 00019 public: 00020 Component(std::string name, std::string typeName = ""); 00021 virtual ~Component(); 00022 void addRegister(std::string name); 00023 void addRegister(std::string name, 00024 std::string baseAddress, 00025 int size, 00026 std::string access, 00027 int globalSequencePosition, 00028 int globalValue); 00029 void addRegister(std::string name, 00030 std::string baseAddress, 00031 int size, 00032 std::string access, 00033 int initializeSequencePosition, 00034 int initializeValue, 00035 int configureSequencePosition, 00036 int configureValue); 00037 void addRegister(std::string name, 00038 std::string baseAddress, 00039 int size, 00040 std::string access, 00041 int initializeSequencePosition, 00042 int initializeValue, 00043 int configureSequencePosition, 00044 int configureValue, 00045 int startSequencePosition, 00046 int startValue, 00047 int haltSequencePosition, 00048 int haltValue, 00049 int pauseSequencePosition, 00050 int pauseValue, 00051 int resumeSequencePosition, 00052 int resumeValue); 00053 void setState(std::string state, std::pair<int, int> sequenceValuePair); 00054 // Getters 00055 std::list<Register> getRegisters(void); 00056 std::list<Register>* getRegistersPointer(void); 00057 std::string getComponentName(void); 00058 std::string getTypeName(void); 00059 00060 // Print 00061 std::string printPair(std::pair<int, int>); 00062 void printInfo(void); 00063 00064 protected: 00065 std::list<Register> registers_; 00066 std::string componentName_; 00067 std::string typeName_; 00068 // Register* tempRegister_ ; 00069 }; 00070 00071 } // namespace ots 00072 00073 #endif /* HARDWARE_H_ */