8 #ifndef __mp7_mp7controller_hpp__ 9 #define __mp7_mp7controller_hpp__ 12 #include "uhal/HwInterface.hpp" 15 #include "boost/lexical_cast.hpp" 31 class MmcPipeInterface;
33 class MP7Controller :
public uhal::HwInterface {
36 class Parameters :
public boost::unordered_map<std::string, std::string> {
42 void set(
const std::string& aKey,
const T& aValue ) {
43 this->operator[](aKey) = boost::lexical_cast<std::string>(aValue);
47 T
get(
const std::string& aKey)
const {
48 const_iterator it = this->find(aKey);
50 if (it == this->end())
throw std::runtime_error(
"Parameter not found");
52 return boost::lexical_cast<T>(it->second);
68 boost::unordered_map<std::string, std::string>
refClkReport();
75 void configureClocking(
bool aExternalClk40 =
false,
const std::string& aClkCfg=
"internal");
82 boost::unordered_map<std::string, uint32_t>
mGenerics;
std::vector<uint32_t> mBufferChannels
List of channels with buffers.
Definition: MP7Controller.hpp:97
-test-ipbusaccess
Definition: AlignmentNode.hpp:15
boost::unordered_map<std::string, uint32_t> mGenerics
Definition: MP7Controller.hpp:82
void Constructor()
Definition: MP7Controller.cpp:46
const TTCNode* mTTC
Definition: MP7Controller.hpp:108
void configureClocking( bool aExternalClk40 = false, const std::string& aClkCfg="internal")
Definition: MP7Controller.cpp:119
boost::mutex mMutex
Mutex for multithread-safe environment.
Definition: MP7Controller.hpp:118
void reset()
Definition: MP7Controller.cpp:78
virtual ~MP7Controller()
Definition: MP7Controller.cpp:42
const MmcPipeInterface* mMmcPipe
Definition: MP7Controller.hpp:115
std::vector<uint32_t> mBufferRegions
Regions with buffers.
Definition: MP7Controller.hpp:88
const ChanBufferNode* mChanBuffer
Definition: MP7Controller.hpp:114
const CtrlNode* mCtrl
Specialised Nodes.
Definition: MP7Controller.hpp:106
std::vector<uint32_t> mMGTRegions
Regions with buggers and MGTs.
Definition: MP7Controller.hpp:91
void configureTTC(bool aEnable, bool aBC0Internal)
Configures TTC block and waits for BC0 lock.
Definition: MP7Controller.cpp:102
MP7Controller(uhal::HwInterface aInterface)
Definition: MP7Controller.cpp:37
const GTHQuadNode* mMGT
Definition: MP7Controller.hpp:112
std::vector<uint32_t> mRegions
List of regions instantiated in firmware.
Definition: MP7Controller.hpp:85
const ClockingNode* mClocking
Definition: MP7Controller.hpp:107
const AlignmentNode* mAlign
Definition: MP7Controller.hpp:111
std::vector<uint32_t> mActiveChannels
MGT Input Mask.
Definition: MP7Controller.hpp:103
std::vector<uint32_t> mChannels
List of channels.
Definition: MP7Controller.hpp:94
std::vector<uint32_t> mMGTChannels
List of channels with mgt block.
Definition: MP7Controller.hpp:100
boost::unordered_map<std::string, std::string> refClkReport()
Definition: MP7Controller.cpp:143
const DatapathNode* mDatapath
Definition: MP7Controller.hpp:110