1 #ifndef _mp7_MiniPODNode_hpp_ 2 #define _mp7_MiniPODNode_hpp_ 37 class MiniPODNode :
public OpenCoresI2C
39 UHAL_DERIVEDNODE ( MiniPODNode );
42 MiniPODNode (
const uhal::Node& aNode );
43 virtual ~MiniPODNode();
47 Measurement getTemp();
48 Measurement getOnTime();
49 std::vector < Measurement > getOpticalPowers();
51 void setChannelPolarity (
const uint32_t& aMask );
52 void disableChannel (
const uint32_t& aMask );
53 void disableSquelch (
const bool& aDisabled );
55 std::pair< bool , bool > getAlarmTemp();
56 std::pair< bool , bool > getAlarm3v3();
57 std::pair< bool , bool > getAlarm2v5();
58 std::vector< bool > getAlarmLOS();
59 std::vector< std::pair< bool , bool > > getAlarmOpticalPower();
61 MiniPODinfo getInfo();
64 uint16_t getUint16 (
const uint32_t& aMSB ,
const uint32_t& aLSB );
65 std::vector<uint8_t> block_read (
const uint32_t& aI2CbusAddress ,
const uint32_t aSize );
70 class MiniPODTxNode :
public MiniPODNode
72 UHAL_DERIVEDNODE ( MiniPODTxNode );
74 MiniPODTxNode (
const uhal::Node& aNode );
75 virtual ~MiniPODTxNode();
77 std::vector < Measurement > getBiasCurrents();
79 void setInputEqualization (
const double& aPercentage );
81 void marginMode (
const bool& aEnabled );
83 std::vector< bool > getAlarmFault();
84 std::vector< std::pair< bool , bool > > getAlarmBiasCurrent();
91 class MiniPODRxNode :
public MiniPODNode
93 UHAL_DERIVEDNODE ( MiniPODRxNode );
96 MiniPODRxNode (
const uhal::Node& aNode );
97 virtual ~MiniPODRxNode();
99 void setDeemphasis (
const double& aPercentage );
100 void setOutputAmplitude (
const double& aPercentage );
105 std::ostream& operator<< ( std::ostream& aStream ,
const mp7::MiniPODinfo& aInfo );
-test-ipbusaccess
Definition: AlignmentNode.hpp:15
std::string vendor_revision_number
Definition: MiniPODNode.hpp:31
std::string vendor_part_number
Definition: MiniPODNode.hpp:30
uint16_t vendor_firmware_revision
Definition: MiniPODNode.hpp:34
uint16_t supported_monitors
Definition: MiniPODNode.hpp:26
uint16_t supported_controls
Definition: MiniPODNode.hpp:27
std::vector<uint8_t> vendor_ieee_id
Definition: MiniPODNode.hpp:29
uint8_t type_identifier
Definition: MiniPODNode.hpp:18
uint8_t supported_flags
Definition: MiniPODNode.hpp:25
Measurement wavelength
Definition: MiniPODNode.hpp:24
Definition: MiniPODNode.hpp:16
uint8_t module_description
Definition: MiniPODNode.hpp:19
tm vendor_date_code
Definition: MiniPODNode.hpp:33
Measurement minimum_bit_rate
Definition: MiniPODNode.hpp:22
std::string vendor_name
Definition: MiniPODNode.hpp:28
uint8_t required_power_supplies
Definition: MiniPODNode.hpp:20
Measurement maximum_bit_rate
Definition: MiniPODNode.hpp:23
std::string vendor_serial_number
Definition: MiniPODNode.hpp:32
Measurement maximum_operating_temperature
Definition: MiniPODNode.hpp:21