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

Base class for boards which have a physical SFP mux. More...

#include <SFPMuxIONode.hpp>

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

Public Member Functions

 SFPMuxIONode (const uhal::Node &node, std::string uid_i2c_bus, std::string pll_i2c_bus, std::string pll_i2c_device, std::vector< std::string > clock_names, std::vector< std::string > sfp_i2c_buses)
 
virtual ~SFPMuxIONode ()
 
virtual void switch_sfp_mux_channel (uint32_t mux_channel) const =0
 Switch the SFP mux channel.
 
virtual uint32_t read_active_sfp_mux_channel () const =0
 Read the active SFP mux channel.
 
- Public Member Functions inherited from dunedaq::timing::IONode
 IONode (const uhal::Node &node, std::string uid_i2c_bus, std::string pll_i2c_bus, std::string pll_i2c_device, std::vector< std::string > clock_names, std::vector< std::string > sfp_i2c_buses)
 
virtual ~IONode ()
 
virtual std::string get_uid_address_parameter_name () const =0
 Get the UID address parameter name.
 
virtual uint32_t read_board_type () const
 Read the word identifying the timing board.
 
virtual uint32_t read_carrier_type () const
 Read the word identifying the FPFA carrier board.
 
virtual uint32_t read_design_type () const
 Read the word identifying the firmware design in the FPGA.
 
virtual uint32_t read_firmware_frequency () const
 Read the word identifying the frequency [units of Hz] of the firmware in the FPGA.
 
virtual uint64_t read_board_uid () const
 Read the word containing the timing board UID.
 
virtual BoardRevision get_board_revision () const
 Read the word identifying the timing board.
 
virtual std::string get_hardware_info (bool print_out=false) const
 Print hardware information.
 
virtual std::string get_full_clock_config_file_path (const ClockSource &clock_source) const
 Get the full config path.
 
template<class T >
std::unique_ptr< const T > get_i2c_device (const std::string &i2c_bus_name, const std::string &i2c_device_name) const
 Get the an I2C chip.
 
virtual std::unique_ptr< const SI534xSlave > get_pll () const
 Get the PLL chip.
 
virtual void configure_pll (const std::string &clock_config_file="") const
 Configure clock chip.
 
virtual std::vector< double > read_clock_frequencies () const
 Read frequencies of on-board clocks.
 
virtual std::string get_clock_frequencies_table (bool print_out=false) const
 Print frequencies of on-board clocks.
 
virtual std::string get_pll_status (bool print_out=false) const
 Print status of on-board PLL.
 
virtual std::string get_sfp_status (uint32_t sfp_id, bool print_out=false) const
 Print status of on-board SFP.
 
virtual void switch_sfp_soft_tx_control_bit (uint32_t sfp_id, bool turn_on) const
 control tx laser of on-board SFP softly (I2C command)
 
virtual void switch_sfp_tx (uint32_t sfp_id, bool turn_on) const =0
 control tx laser of on-board SFP
 
virtual void soft_reset () const
 Reset timing node.
 
virtual void reset (const std::string &clock_config_file) const =0
 Reset timing node.
 
virtual void reset (const ClockSource &clock_source) const
 Reset timing node with clock file lookup.
 
virtual bool clocks_ok () const =0
 Clocks ready?
 
virtual void get_info (timinghardwareinfo::TimingPLLMonitorData &mon_data) const
 
- Public Member Functions inherited from dunedaq::timing::TimingNode
 TimingNode (const uhal::Node &node)
 
virtual ~TimingNode ()
 
virtual std::string get_status (bool print_out=false) const =0
 Get the status string of the timing node. Optionally print it.
 
std::map< std::string, uhal::ValWord< uint32_t > > read_sub_nodes (const uhal::Node &node, bool dispatch=true) const
 Read subnodes.
 
void reset_sub_nodes (const uhal::Node &node, uint32_t aValue=0x0, bool dispatch=true) const
 Reset subnodes.
 

Additional Inherited Members

- Static Public Member Functions inherited from dunedaq::timing::IONode
static const std::map< BoardType, std::string > & get_board_type_map ()
 
static const std::map< CarrierType, std::string > & get_carrier_type_map ()
 
static const std::map< BoardRevision, std::string > & get_board_revision_map ()
 
static const std::map< uint64_t, BoardRevision > & get_board_uid_revision_map ()
 
static const std::map< DesignType, std::string > & get_design_type_map ()
 
static const std::map< std::string, std::string > & get_clock_config_map ()
 
static const std::vector< BoardType > & get_library_supported_boards ()
 
static const std::vector< DesignType > & get_library_supported_designs ()
 
- Protected Member Functions inherited from dunedaq::timing::IONode
virtual void write_soft_reset_register () const
 Write soft reset register.
 
- Static Protected Member Functions inherited from dunedaq::timing::IONode
static std::string clock_source_to_string (const ClockSource &source)
 
- Protected Attributes inherited from dunedaq::timing::IONode
const std::string m_uid_i2c_bus
 
const std::string m_pll_i2c_bus
 
const std::string m_pll_i2c_device
 
const std::vector< std::string > m_clock_names
 
const std::vector< std::string > m_sfp_i2c_buses
 
- Static Protected Attributes inherited from dunedaq::timing::IONode
static const std::map< BoardType, std::string > board_type_map
 
static const std::map< CarrierType, std::string > carrier_type_map
 
static const std::map< BoardRevision, std::string > board_revision_map
 
static const std::map< DesignType, std::string > design_type_map
 
static const std::map< uint64_t, BoardRevisionboard_uid_revision_map
 
static const std::map< ClockSource, std::string > clock_source_map
 
static const std::map< std::string, std::string > clock_config_map
 
static const std::vector< BoardTypelibrary_supported_boards
 
static const std::vector< DesignTypelibrary_supported_designs
 

Detailed Description

Base class for boards which have a physical SFP mux.

Definition at line 33 of file SFPMuxIONode.hpp.

Constructor & Destructor Documentation

◆ SFPMuxIONode()

dunedaq::timing::SFPMuxIONode::SFPMuxIONode ( const uhal::Node & node,
std::string uid_i2c_bus,
std::string pll_i2c_bus,
std::string pll_i2c_device,
std::vector< std::string > clock_names,
std::vector< std::string > sfp_i2c_buses )

Definition at line 18 of file SFPMuxIONode.cpp.

24 : IONode(node, uid_i2c_bus, pll_i2c_bus, pll_i2c_device, clock_names, sfp_i2c_buses)
25{}
IONode(const uhal::Node &node, std::string uid_i2c_bus, std::string pll_i2c_bus, std::string pll_i2c_device, std::vector< std::string > clock_names, std::vector< std::string > sfp_i2c_buses)
Definition IONode.cpp:25

◆ ~SFPMuxIONode()

dunedaq::timing::SFPMuxIONode::~SFPMuxIONode ( )
virtual

Definition at line 29 of file SFPMuxIONode.cpp.

29{}

Member Function Documentation

◆ read_active_sfp_mux_channel()

virtual uint32_t dunedaq::timing::SFPMuxIONode::read_active_sfp_mux_channel ( ) const
pure virtual

Read the active SFP mux channel.

Implemented in dunedaq::timing::FIBIONode, and dunedaq::timing::PC059IONode.

◆ switch_sfp_mux_channel()

virtual void dunedaq::timing::SFPMuxIONode::switch_sfp_mux_channel ( uint32_t mux_channel) const
pure virtual

Switch the SFP mux channel.

Implemented in dunedaq::timing::FIBIONode, and dunedaq::timing::PC059IONode.


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