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

Class for PDI ouroboros timing master design. More...

#include <OuroborosMuxDesign.hpp>

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

Public Member Functions

 OuroborosMuxDesign (const uhal::Node &node)
 
virtual ~OuroborosMuxDesign ()
 
std::string get_status (bool print_out=false) const override
 Get status string, optionally print.
 
- Public Member Functions inherited from dunedaq::timing::MasterMuxDesign
 MasterMuxDesign (const uhal::Node &node)
 
virtual ~MasterMuxDesign ()
 
uint32_t measure_endpoint_rtt (uint32_t address, bool control_sfp=true, int sfp_mux=-1) const override
 Measure the endpoint round trip time.
 
void apply_endpoint_delay (uint32_t address, uint32_t coarse_delay, uint32_t fine_delay, uint32_t phase_delay, bool measure_rtt=false, bool control_sfp=true, int sfp_mux=-1) const override
 Apply delay to endpoint.
 
std::vector< uint32_t > scan_sfp_mux () const override
 Scan SFP for alive timing transmitters.
 
void resync_active_cdr () const override
 Resync active cdr.
 
- Public Member Functions inherited from dunedaq::timing::SFPMuxDesignInterface
 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.
 
- Public Member Functions inherited from dunedaq::timing::MuxDesignInterface
 MuxDesignInterface (const uhal::Node &node)
 
virtual ~MuxDesignInterface ()
 
- Public Member Functions inherited from dunedaq::timing::TopDesignInterface
 TopDesignInterface (const uhal::Node &node)
 
virtual ~TopDesignInterface ()
 
template<class IO >
const IO * get_io_node () const
 
- Public Member Functions inherited from dunedaq::timing::TimingNode
 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.
 
- Public Member Functions inherited from dunedaq::timing::MasterDesign
 MasterDesign (const uhal::Node &node)
 
virtual ~MasterDesign ()
 
void configure (ClockSource clock_source, TimestampSource ts_source) const override
 Prepare the timing master for data taking.
 
uint64_t read_master_timestamp () const override
 Read the current timestamp.
 
void sync_timestamp (TimestampSource source) const override
 Sync timestamp to current machine value.
 
void enable_periodic_fl_cmd (uint32_t channel, double rate, bool poisson=false) const override
 Configure fake trigger generator.
 
void enable_periodic_fl_cmd (uint32_t command, uint32_t channel, double rate, bool poisson=false) const override
 Configure fake trigger generator.
 
const MasterNodeInterfaceget_master_node_plain () const override
 Get master node pointer.
 
uint32_t read_firmware_version () const override
 Read master firmware version.
 
void validate_firmware_version () const override
 Validate master firmware version.
 
void get_info (timingfirmwareinfo::TimingDeviceInfo &mon_data) const override
 Give info to collector.
 
void get_info (timingfirmwareinfo::MasterMonitorData &mon_data) const override
 Give info to collector.
 
- Public Member Functions inherited from dunedaq::timing::TopDesign
 TopDesign (const uhal::Node &node)
 
virtual ~TopDesign ()
 
const IONodeget_io_node_plain () const override
 Get io node pointer.
 
void soft_reset_io () const override
 Reset timing node.
 
void reset_io (const std::string &clock_config_file) const override
 Reset timing node.
 
void reset_io (const ClockSource &clock_source) const override
 Reset timing node.
 
void configure (ClockSource clock_source) const override
 Prepare the timing device for data taking.
 
std::string get_hardware_info (bool print_out=false) const override
 Print hardware information.
 
void get_info (timingfirmwareinfo::TimingDeviceInfo &mon_data) const override
 Give info to collector.
 
- Public Member Functions inherited from dunedaq::timing::MasterDesignInterface
 MasterDesignInterface (const uhal::Node &node)
 
virtual ~MasterDesignInterface ()
 
template<class MST >
const MST * get_master_node () const
 
virtual void get_info (timingfirmwareinfo::TimingDeviceInfo &mon_data) const=0
 Give info to collector.
 
- Public Member Functions inherited from dunedaq::timing::EndpointDesignInterface
 EndpointDesignInterface (const uhal::Node &node)
 
virtual ~EndpointDesignInterface ()
 
virtual const EndpointNodeInterfaceget_endpoint_node_plain (uint32_t ept_id) const
 Return the timing endpoint node.
 
virtual uint32_t get_number_of_endpoint_nodes () const
 Return the timing endpoint node.
 
virtual void get_info (uint32_t ept_id, timingendpointinfo::TimingEndpointInfo &mon_data) const
 Give info to collector.
 
virtual void get_info (timingfirmwareinfo::TimingDeviceInfo &mon_data) const=0
 Give info to collector.
 

Detailed Description

Class for PDI ouroboros timing master design.

Definition at line 33 of file OuroborosMuxDesign.hpp.

Constructor & Destructor Documentation

◆ OuroborosMuxDesign()

dunedaq::timing::OuroborosMuxDesign::OuroborosMuxDesign ( const uhal::Node & node)
explicit

Definition at line 19 of file OuroborosMuxDesign.cpp.

20 : TopDesignInterface(node)
21 , MuxDesignInterface(node)
23 , MasterMuxDesign(node)
25
26{}
MasterMuxDesign(const uhal::Node &node)

◆ ~OuroborosMuxDesign()

dunedaq::timing::OuroborosMuxDesign::~OuroborosMuxDesign ( )
virtual

Definition at line 30 of file OuroborosMuxDesign.cpp.

31{}

Member Function Documentation

◆ get_status()

std::string dunedaq::timing::OuroborosMuxDesign::get_status ( bool print_out = false) const
overridevirtual

Get status string, optionally print.

Reimplemented from dunedaq::timing::MasterMuxDesign.

Definition at line 36 of file OuroborosMuxDesign.cpp.

37{
38 std::stringstream status;
41 status << this->get_endpoint_node_plain(0)->get_status();
42 // mux status
43 if (print_out)
44 TLOG() << status.str();
45 return status.str();
46}
virtual const EndpointNodeInterface * get_endpoint_node_plain(uint32_t ept_id) const
Return the timing endpoint node.
virtual std::string get_pll_status(bool print_out=false) const
Print status of on-board PLL.
Definition IONode.cpp:288
const MasterNodeInterface * get_master_node_plain() const override
Get master node pointer.
virtual std::string get_status(bool print_out=false) const =0
Get the status string of the timing node. Optionally print it.
virtual const IONode * get_io_node_plain() const =0
Get io node pointer.
#define TLOG(...)
Definition macro.hpp:22

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