DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
Class for the FIB board. More...
#include <FIBV2IONode.hpp>
Public Member Functions | |
FIBV2IONode (const uhal::Node &aNode) | |
virtual | ~FIBV2IONode () |
std::string | get_uid_address_parameter_name () const override |
Get the UID address parameter name. | |
std::string | get_status (bool print_out=false) const override |
Get status string, optionally print. | |
void | reset (const ClockSource &clock_source) const override |
Reset IO, with clock file look up. | |
std::string | get_sfp_status (uint32_t sfp_id, bool print_out=false) const override |
Print status of on-board SFP. | |
void | switch_sfp_soft_tx_control_bit (uint32_t sfp_id, bool turn_on) const override |
control tx laser of on-board SFP softly (I2C command) | |
void | switch_sfp_tx (uint32_t sfp_id, bool turn_on) const override |
Switch on or off the SFP tx laser via the I2C IO expander controlling the sfp tx disable pin. aOn=1: laster transmitting, tx disable pin = 0; aOn=0: laster NOT transmitting, tx disable pin = 1. | |
bool | clocks_ok () const override |
Clocks ready? | |
std::string | get_pll_status (bool print_out=false) const override |
Print status of on-board PLL. | |
void | get_info (timinghardwareinfo::TimingPLLMonitorData &mon_data) const override |
![]() | |
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 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::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 void | soft_reset () const |
Reset timing node. | |
![]() | |
TimingNode (const uhal::Node &node) | |
virtual | ~TimingNode () |
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. | |
Private Member Functions | |
void | validate_sfp_id (uint32_t sfp_id) const |
Get the PLL chip. | |
void | reset (const std::string &) const override |
No config file for FIB v2. | |
std::unique_ptr< const SI534xSlave > | get_pll () const override |
Get the PLL chip. | |
void | configure_pll (const std::string &clock_config_file="") const override |
Configure clock chip. | |
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 |
Class for the FIB board.
Definition at line 35 of file FIBV2IONode.hpp.
|
explicit |
Definition at line 22 of file FIBV2IONode.cpp.
|
virtual |
Definition at line 29 of file FIBV2IONode.cpp.
|
inlineoverridevirtual |
Clocks ready?
Implements dunedaq::timing::IONode.
Definition at line 77 of file FIBV2IONode.hpp.
|
overrideprivatevirtual |
Configure clock chip.
Reimplemented from dunedaq::timing::IONode.
Definition at line 43 of file FIBV2IONode.cpp.
|
overridevirtual |
Reimplemented from dunedaq::timing::IONode.
Definition at line 157 of file FIBV2IONode.cpp.
|
inlineoverrideprivatevirtual |
Get the PLL chip.
Reimplemented from dunedaq::timing::IONode.
Definition at line 117 of file FIBV2IONode.hpp.
|
overridevirtual |
Print status of on-board PLL.
Reimplemented from dunedaq::timing::IONode.
Definition at line 166 of file FIBV2IONode.cpp.
|
overridevirtual |
Print status of on-board SFP.
Reimplemented from dunedaq::timing::IONode.
Definition at line 100 of file FIBV2IONode.cpp.
|
overridevirtual |
Get status string, optionally print.
Implements dunedaq::timing::TimingNode.
Definition at line 51 of file FIBV2IONode.cpp.
|
overridevirtual |
Get the UID address parameter name.
Implements dunedaq::timing::IONode.
Definition at line 35 of file FIBV2IONode.cpp.
|
overridevirtual |
Reset IO, with clock file look up.
Reimplemented from dunedaq::timing::IONode.
Definition at line 67 of file FIBV2IONode.cpp.
|
inlineoverrideprivatevirtual |
No config file for FIB v2.
Implements dunedaq::timing::IONode.
Definition at line 110 of file FIBV2IONode.hpp.
|
overridevirtual |
control tx laser of on-board SFP softly (I2C command)
Reimplemented from dunedaq::timing::IONode.
Definition at line 119 of file FIBV2IONode.cpp.
|
overridevirtual |
Switch on or off the SFP tx laser via the I2C IO expander controlling the sfp tx disable pin. aOn=1: laster transmitting, tx disable pin = 0; aOn=0: laster NOT transmitting, tx disable pin = 1.
Implements dunedaq::timing::IONode.
Definition at line 131 of file FIBV2IONode.cpp.
|
private |
Get the PLL chip.
Fill hardware monitoring structure.
Give info to collector.
Definition at line 187 of file FIBV2IONode.cpp.