$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 /* 00002 * Register.h 00003 * 00004 * Created on: Jul 29, 2015 00005 * Author: parilla 00006 */ 00007 00008 #ifndef _ots_Register_h_ 00009 #define _ots_Register_h_ 00010 #include <string> 00011 00012 namespace ots 00013 { 00014 class Register 00015 { 00016 public: 00017 Register(std::string name); 00018 virtual ~Register(); 00019 00020 // Setters 00021 void setState(std::string state, std::pair<int, int> valueSequencePair); 00022 void fillRegisterInfo(std::string registerBaseAddress, 00023 int registerSize, 00024 std::string registerAccess); 00025 void setInitialize(std::pair<int, int> initialize); 00026 void setConfigure(std::pair<int, int> configure); 00027 void setStart(std::pair<int, int> start); 00028 void setHalt(std::pair<int, int> halt); 00029 void setPause(std::pair<int, int> pause); 00030 void setResume(std::pair<int, int> resume); 00031 00032 // Getters 00033 std::string getName(void); 00034 std::string getBaseAddress(void); 00035 int getSize(void); 00036 std::string getAccess(void); 00037 std::pair<int, int> getInitialize(void); 00038 std::pair<int, int> getConfigure(void); 00039 std::pair<int, int> getStart(void); 00040 std::pair<int, int> getHalt(void); 00041 std::pair<int, int> getPause(void); 00042 std::pair<int, int> getResume(void); 00043 00044 protected: 00045 std::string registerName_; 00046 std::string registerBaseAddress_; 00047 int registerSize_; 00048 std::string registerAccess_; 00049 00050 // pair sequenced position : value 00051 // position of -1 translates to off 00052 std::pair<int, int> initialize_; 00053 std::pair<int, int> configuration_; 00054 std::pair<int, int> start_; 00055 std::pair<int, int> halt_; 00056 std::pair<int, int> pause_; 00057 std::pair<int, int> resume_; 00058 }; 00059 00060 } // namespace ots 00061 00062 #endif /* REGISTER_H_ */