8 #ifndef MP7_MINIPODMASTERNODE_HPP 9 #define MP7_MINIPODMASTERNODE_HPP 25 class MiniPODMasterNode :
public opencores::I2CBaseNode {
36 const MiniPODRxSlave&
getRxPOD(
const std::string&
name)
const;
37 const MiniPODTxSlave&
getTxPOD(
const std::string& name)
const;
39 std::vector<std::string>
getRxPODs()
const;
40 std::vector<std::string>
getTxPODs()
const;
43 boost::unordered_map<std::string, MiniPODRxSlave*>
mRxPODs;
44 boost::unordered_map<std::string, MiniPODTxSlave*>
mTxPODs;
53 class MiniPODSlave :
public opencores::I2CSlave {
55 MiniPODSlave(
const opencores::I2CBaseNode* aMaster, uint8_t aSlaveAddress);
56 virtual ~MiniPODSlave();
58 virtual Measurement get3v3();
59 virtual Measurement get2v5();
60 virtual Measurement getTemp();
61 virtual Measurement getOnTime();
62 virtual std::vector < Measurement > getOpticalPowers();
64 virtual void setChannelPolarity(
const uint32_t& aMask);
65 virtual void disableChannel(
const uint32_t& aMask);
66 virtual void disableSquelch(
const bool& aDisabled);
68 virtual std::pair< bool, bool > getAlarmTemp();
69 virtual std::pair< bool, bool > getAlarm3v3();
70 virtual std::pair< bool, bool > getAlarm2v5();
71 virtual std::vector< bool > getAlarmLOS();
72 virtual std::vector< std::pair< bool, bool > > getAlarmOpticalPower();
74 virtual MiniPODinfo getInfo();
77 uint16_t getUint16(
const uint32_t& aMSB,
const uint32_t& aLSB);
78 std::vector<uint8_t> block_read(
const uint32_t& aI2CbusAddress,
const uint32_t aSize);
85 class MiniPODRxSlave :
public MiniPODSlave {
87 MiniPODRxSlave(
const opencores::I2CBaseNode* aMaster, uint8_t aSlaveAddress);
88 virtual ~MiniPODRxSlave();
90 void setDeemphasis (
const double& aPercentage );
91 void setOutputAmplitude (
const double& aPercentage );
96 class MiniPODTxSlave :
public MiniPODSlave {
98 MiniPODTxSlave(
const opencores::I2CBaseNode* aMaster, uint8_t aSlaveAddress);
99 virtual ~MiniPODTxSlave();
101 virtual std::vector < Measurement > getBiasCurrents();
103 virtual void setInputEqualization (
const double& aPercentage );
105 virtual void marginMode (
const bool& aEnabled );
107 virtual std::vector< bool > getAlarmFault();
108 virtual std::vector< std::pair< bool , bool > > getAlarmBiasCurrent();
-test-ipbusaccess
Definition: AlignmentNode.hpp:15
UHAL_DERIVEDNODE(MiniPODMasterNode)
boost::unordered_map<std::string, MiniPODTxSlave*> mTxPODs
Definition: MiniPODMasterNode.hpp:44
const MiniPODRxSlave& getRxPOD(const std::string& name) const
Definition: MiniPODMasterNode.cpp:73
MiniPODMasterNode(const uhal::Node& aNode)
Definition: MiniPODMasterNode.cpp:29
const MiniPODTxSlave& getTxPOD(const std::string& name) const
Definition: MiniPODMasterNode.cpp:84
std::vector<std::string> getTxPODs() const
Definition: MiniPODMasterNode.cpp:102
boost::unordered_map<std::string, MiniPODRxSlave*> mRxPODs
Definition: MiniPODMasterNode.hpp:43
virtual ~MiniPODMasterNode()
Definition: MiniPODMasterNode.cpp:37
std::vector<std::string> getRxPODs() const
Definition: MiniPODMasterNode.cpp:95
void constructor()
Construct the object from uhal::Node.
Definition: MiniPODMasterNode.cpp:51
name
Definition: setup.py:8