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

Base class for timing top design nodes. More...

#include <TopDesignInterface.hpp>

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

Public Member Functions

 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

Base class for timing top design nodes.

Definition at line 39 of file TopDesignInterface.hpp.

Constructor & Destructor Documentation

◆ TopDesignInterface()

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

Definition at line 42 of file TopDesignInterface.hpp.

43 : TimingNode(node) {}
TimingNode(const uhal::Node &node)

◆ ~TopDesignInterface()

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

Definition at line 44 of file TopDesignInterface.hpp.

44{}

Member Function Documentation

◆ configure()

virtual void dunedaq::timing::TopDesignInterface::configure ( ClockSource clock_source) const
pure virtual

◆ get_hardware_info()

virtual std::string dunedaq::timing::TopDesignInterface::get_hardware_info ( bool print_out = false) const
pure virtual

Print hardware information.

Implemented in dunedaq::timing::TopDesign.

◆ get_info()

◆ get_io_node()

template<class IO >
const IO * dunedaq::timing::TopDesignInterface::get_io_node ( ) const
inline

Definition at line 53 of file TopDesignInterface.hpp.

54 {
55 return dynamic_cast<const IO*>(get_io_node_plain());
56 }
virtual const IONode * get_io_node_plain() const =0
Get io node pointer.

◆ get_io_node_plain()

virtual const IONode * dunedaq::timing::TopDesignInterface::get_io_node_plain ( ) const
pure virtual

Get io node pointer.

Implemented in dunedaq::timing::TopDesign.

◆ read_firmware_version()

virtual uint32_t dunedaq::timing::TopDesignInterface::read_firmware_version ( ) const
pure virtual

Read firmware version.

Returns
{ description_of_the_return_value }

Implemented in dunedaq::timing::ChronosDesign, dunedaq::timing::EndpointDesign, dunedaq::timing::FanoutDesign, and dunedaq::timing::MasterDesign.

◆ reset_io() [1/2]

virtual void dunedaq::timing::TopDesignInterface::reset_io ( const ClockSource & clock_source) const
pure virtual

Reset timing node.

Implemented in dunedaq::timing::TopDesign.

◆ reset_io() [2/2]

virtual void dunedaq::timing::TopDesignInterface::reset_io ( const std::string & clock_config_file) const
pure virtual

Reset timing node.

Implemented in dunedaq::timing::TopDesign.

◆ soft_reset_io()

virtual void dunedaq::timing::TopDesignInterface::soft_reset_io ( ) const
pure virtual

Reset timing node.

Implemented in dunedaq::timing::TopDesign.

◆ validate_firmware_version()

virtual void dunedaq::timing::TopDesignInterface::validate_firmware_version ( ) const
pure virtual

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