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

Class for timing fanout designs. More...

#include <SFPMuxDesignInterface.hpp>

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

Public Member Functions

 SFPMuxDesignInterface (const uhal::Node &node)
 
virtual ~SFPMuxDesignInterface ()
 
void switch_mux (uint8_t mux_channel, bool resync_cdr=false) const override
 Switch the SFP mux channel.
 
uint8_t read_active_mux () const override
 Read the active SFP mux channel.
 
virtual std::vector< uint32_t > scan_sfp_mux () const =0
 Scan SFP for alive timing transmitters.
 
- Public Member Functions inherited from dunedaq::timing::MuxDesignInterface
 MuxDesignInterface (const uhal::Node &node)
 
virtual ~MuxDesignInterface ()
 
virtual void resync_active_cdr () const =0
 Resync active cdr.
 
- Public Member Functions inherited from dunedaq::timing::TopDesignInterface
 TopDesignInterface (const uhal::Node &node)
 
virtual ~TopDesignInterface ()
 
virtual const IONodeget_io_node_plain () const =0
 Get io node pointer.
 
template<class IO >
const IO * get_io_node () const
 
virtual void soft_reset_io () const =0
 Reset timing node.
 
virtual void reset_io (const std::string &clock_config_file) const =0
 Reset timing node.
 
virtual void reset_io (const ClockSource &clock_source) const =0
 Reset timing node.
 
virtual void configure (ClockSource clock_source) const =0
 Prepare the timing device for data taking.
 
virtual std::string get_hardware_info (bool print_out=false) const =0
 Print hardware information.
 
virtual uint32_t read_firmware_version () const =0
 Read firmware version.
 
virtual void validate_firmware_version () const =0
 Validate firmware version.
 
virtual void get_info (timingfirmwareinfo::TimingDeviceInfo &mon_data) const =0
 Give info to collector.
 
- 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.
 

Detailed Description

Class for timing fanout designs.

Definition at line 35 of file SFPMuxDesignInterface.hpp.

Constructor & Destructor Documentation

◆ SFPMuxDesignInterface()

dunedaq::timing::SFPMuxDesignInterface::SFPMuxDesignInterface ( const uhal::Node & node)
inlineexplicit

Definition at line 39 of file SFPMuxDesignInterface.hpp.

40 : TopDesignInterface(node)
41 , MuxDesignInterface(node) {}

◆ ~SFPMuxDesignInterface()

virtual dunedaq::timing::SFPMuxDesignInterface::~SFPMuxDesignInterface ( )
inlinevirtual

Definition at line 42 of file SFPMuxDesignInterface.hpp.

42{}

Member Function Documentation

◆ read_active_mux()

uint8_t dunedaq::timing::SFPMuxDesignInterface::read_active_mux ( ) const
inlineoverridevirtual

Read the active SFP mux channel.

Implements dunedaq::timing::MuxDesignInterface.

Definition at line 60 of file SFPMuxDesignInterface.hpp.

61 {
62 return TopDesignInterface::get_io_node<timing::SFPMuxIONode>()->read_active_sfp_mux_channel();
63 }

◆ scan_sfp_mux()

virtual std::vector< uint32_t > dunedaq::timing::SFPMuxDesignInterface::scan_sfp_mux ( ) const
pure virtual

Scan SFP for alive timing transmitters.

Implemented in dunedaq::timing::MasterMuxDesign.

◆ switch_mux()

void dunedaq::timing::SFPMuxDesignInterface::switch_mux ( uint8_t mux_channel,
bool resync_cdr = false ) const
inlineoverridevirtual

Switch the SFP mux channel.

Implements dunedaq::timing::MuxDesignInterface.

Definition at line 47 of file SFPMuxDesignInterface.hpp.

48 {
49 TopDesignInterface::get_io_node<timing::SFPMuxIONode>()->switch_sfp_mux_channel(mux_channel);
50
51 if (resync_cdr)
52 {
54 }
55 }
virtual void resync_active_cdr() const =0
Resync active cdr.

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