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, bool atomic=false) 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, bool atomic=false) 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, bool throw_excp=false) 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
uint8_t read_i2c_atomic (uint32_t i2c_device_address, uint32_t i2c_reg_address) const
uint8_t read_i2c_atomic (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
std::vector< uint8_t > read_i2cArray_atomic (uint32_t i2c_reg_address, uint32_t number_of_words) const
std::vector< uint8_t > read_i2cArray_atomic (uint32_t i2c_device_address, 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 (bool throw_excp=false) 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, bool send_reset=true) 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:97

◆ 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: