DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::timing::I2CSFPNode Class Reference

#include <I2CSFPNode.hpp>

Inheritance diagram for dunedaq::timing::I2CSFPNode:
[legend]
Collaboration diagram for dunedaq::timing::I2CSFPNode:
[legend]

Public Member Functions

 I2CSFPNode (const uhal::Node &node)
 
 I2CSFPNode (const I2CSFPNode &node)
 
virtual ~I2CSFPNode ()
 
- Public Member Functions inherited from dunedaq::timing::I2CMasterNode
 I2CMasterNode (const uhal::Node &node)
 
 I2CMasterNode (const I2CMasterNode &node)
 
virtual ~I2CMasterNode ()
 
virtual uint16_t get_i2c_clock_prescale () const
 
virtual std::vector< std::string > get_slaves () const
 
virtual uint8_t get_slave_address (const std::string &name) const
 
virtual const I2CSlaveget_slave (const std::string &name) const
 
void reset () const
 
virtual uint8_t read_i2c (uint8_t i2c_device_address, uint32_t i2c_reg_address) const
 commodity functions
 
virtual void write_i2c (uint8_t i2c_device_address, uint32_t i2c_reg_address, uint8_t data, bool send_stop=true) const
 
virtual std::vector< uint8_t > read_i2cArray (uint8_t i2c_device_address, uint32_t i2c_reg_address, uint32_t number_of_words) const
 
virtual void write_i2cArray (uint8_t i2c_device_address, uint32_t i2c_reg_address, std::vector< uint8_t > data, bool send_stop=true) const
 
virtual std::vector< uint8_t > read_i2cPrimitive (uint8_t i2c_device_address, uint32_t number_of_bytes) const
 
virtual void write_i2cPrimitive (uint8_t i2c_device_address, const std::vector< uint8_t > &data, bool send_stop=true) const
 
bool ping (uint8_t i2c_device_address) const
 
std::vector< uint8_t > scan () const
 
- Public Member Functions inherited from dunedaq::timing::I2CSFPSlave
 I2CSFPSlave (const I2CMasterNode *i2c_master, uint8_t i2c_device_address)
 
virtual ~I2CSFPSlave ()
 
void sfp_reachable () const
 Check if SFP responds.
 
void ddm_available () const
 Check if DDM is supported.
 
std::pair< double, double > read_calibration_parameter_pair (uint32_t calib_parameter_id) const
 Read the raw SFP temperature.
 
double read_temperature_raw () const
 Read the raw SFP temperature.
 
double read_temperature () const
 Read the calibrated SFP temperature.
 
double read_voltage_raw () const
 Read the raw SFP voltage.
 
double read_voltage () const
 Read the calibrated SFP voltage.
 
double read_rx_power_raw () const
 Read the raw SFP temperature.
 
double read_rx_ower () const
 Read the raw SFP temperature.
 
double read_tx_power_raw () const
 Read the raw SFP tx power.
 
double read_tx_power () const
 Read the calibrated SFP tx power.
 
double read_current_raw () const
 Read the raw SFP current.
 
double read_current () const
 Read the calibrated SFP current.
 
std::string read_vendor_name () const
 Read the vendor name.
 
std::string read_vendor_part_number () const
 Read the vendor name.
 
std::string read_serial_number () const
 Read the SFP serial number.
 
bool read_ddm_support_bit () const
 Find out if SFP supports DDM.
 
bool read_soft_tx_control_support_bit () const
 Find out if SFP supports soft tx laser disable.
 
bool read_soft_tx_control_state () const
 Read the value of the soft tx disable control bit.
 
bool read_tx_disable_pin_state () const
 Read the state of the tx disable control pin.
 
bool read_i2c_reg_addressSwapBit () const
 Read whether the SFP has seperate I2C addresses, or if a special I2C address swap is required. True = address swap required.
 
void switch_soft_tx_control_bit (bool turn_on) const
 Switch on or off the SFP tx laser via the soft control bit.
 
std::string get_status (bool print_out=false) const
 Get SFP status.
 
- Public Member Functions inherited from dunedaq::timing::I2CSlave
virtual ~I2CSlave ()
 
uint8_t get_i2c_address () const
 
uint8_t read_i2c (uint32_t i2c_device_address, uint32_t i2c_reg_address) const
 comodity functions
 
uint8_t read_i2c (uint32_t i2c_reg_address) const
 
void write_i2c (uint32_t i2c_device_address, uint32_t i2c_reg_address, uint8_t data, bool send_stop=true) const
 
void write_i2c (uint32_t i2c_reg_address, uint8_t data, bool send_stop=true) const
 
std::vector< uint8_t > read_i2cArray (uint32_t i2c_device_address, uint32_t i2c_reg_address, uint32_t number_of_words) const
 
std::vector< uint8_t > read_i2cArray (uint32_t i2c_reg_address, uint32_t number_of_words) const
 
void write_i2cArray (uint32_t i2c_device_address, uint32_t i2c_reg_address, std::vector< uint8_t > data, bool send_stop=true) const
 
void write_i2cArray (uint32_t i2c_reg_address, std::vector< uint8_t > data, bool send_stop=true) const
 
std::vector< uint8_t > read_i2cPrimitive (uint32_t number_of_bytes) const
 
void write_i2cPrimitive (const std::vector< uint8_t > &data, bool send_stop=true) const
 
bool ping () const
 
std::string get_master_id () const
 

Additional Inherited Members

- Protected Member Functions inherited from dunedaq::timing::I2CMasterNode
virtual std::vector< uint8_t > read_block_i2c (uint8_t i2c_device_address, uint32_t number_of_bytes) const
 
virtual void write_block_i2c (uint8_t i2c_device_address, const std::vector< uint8_t > &data, bool send_stop=true) const
 
uint8_t send_i2c_command_and_read_data (uint8_t command) const
 
void send_i2c_command_and_write_data (uint8_t command, uint8_t data) const
 
- Protected Member Functions inherited from dunedaq::timing::I2CSlave
 I2CSlave (const I2CMasterNode *i2c_master, uint8_t i2c_device_address)
 
- Protected Attributes inherited from dunedaq::timing::I2CMasterNode
std::unordered_map< std::string, uint8_t > m_i2c_device_addresses
 Slaves.
 
- Protected Attributes inherited from dunedaq::timing::I2CSFPSlave
const std::vector< uint32_t > m_calibration_parameter_start_addresses
 Get and fill SFP hardware data.
 

Detailed Description

Definition at line 201 of file I2CSFPNode.hpp.

Constructor & Destructor Documentation

◆ I2CSFPNode() [1/2]

dunedaq::timing::I2CSFPNode::I2CSFPNode ( const uhal::Node & node)
explicit

Definition at line 458 of file I2CSFPNode.cpp.

459 : I2CMasterNode(node)
460 , I2CSFPSlave(this, this->get_slave_address("SFP_EEProm"))
461{}
virtual uint8_t get_slave_address(const std::string &name) const
I2CSFPSlave(const I2CMasterNode *i2c_master, uint8_t i2c_device_address)
friend class I2CMasterNode
Definition I2CSlave.hpp:90

◆ I2CSFPNode() [2/2]

dunedaq::timing::I2CSFPNode::I2CSFPNode ( const I2CSFPNode & node)

Definition at line 465 of file I2CSFPNode.cpp.

466 : I2CMasterNode(node)
467 , I2CSFPSlave(this, this->get_slave_address("SFP_EEProm"))
468{}

◆ ~I2CSFPNode()

dunedaq::timing::I2CSFPNode::~I2CSFPNode ( )
virtual

Definition at line 472 of file I2CSFPNode.cpp.

472{}

The documentation for this class was generated from the following files: