DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
Base class for boards which have a physical SFP mux. More...
#include <SFPMuxIONode.hpp>
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. | |
![]() | |
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 |
![]() | |
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 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 () |
![]() | |
virtual void | write_soft_reset_register () const |
Write soft reset register. | |
![]() | |
static std::string | clock_source_to_string (const ClockSource &source) |
![]() | |
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 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, BoardRevision > | board_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< BoardType > | library_supported_boards |
static const std::vector< DesignType > | library_supported_designs |
Base class for boards which have a physical SFP mux.
Definition at line 33 of file SFPMuxIONode.hpp.
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.
|
virtual |
Definition at line 29 of file SFPMuxIONode.cpp.
|
pure virtual |
Read the active SFP mux channel.
Implemented in dunedaq::timing::FIBIONode, and dunedaq::timing::PC059IONode.
|
pure virtual |
Switch the SFP mux channel.
Implemented in dunedaq::timing::FIBIONode, and dunedaq::timing::PC059IONode.