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

Class for master global node. More...

#include <SwitchyardNode.hpp>

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

Public Member Functions

 SwitchyardNode (const uhal::Node &node)
 
virtual ~SwitchyardNode ()
 
std::string get_status (bool print_out=false) const override
 Print the status of the timing node.
 
void configure_master_source (uint8_t master_source, bool dispatch=true) const
 Configure master source.
 
void configure_endpoint_source (uint8_t endpoint_source, bool dispatch=true) const
 Configure endpoint source.
 
- 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.
 

Detailed Description

Class for master global node.

Definition at line 29 of file SwitchyardNode.hpp.

Constructor & Destructor Documentation

◆ SwitchyardNode()

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

Definition at line 22 of file SwitchyardNode.cpp.

23 : TimingNode(node)
24{}
TimingNode(const uhal::Node &node)

◆ ~SwitchyardNode()

dunedaq::timing::SwitchyardNode::~SwitchyardNode ( )
virtual

Definition at line 28 of file SwitchyardNode.cpp.

28{}

Member Function Documentation

◆ configure_endpoint_source()

void dunedaq::timing::SwitchyardNode::configure_endpoint_source ( uint8_t endpoint_source,
bool dispatch = true ) const

Configure endpoint source.

Definition at line 57 of file SwitchyardNode.cpp.

58{
59 getNode("csr.ctrl.ep_src").write(endpoint_source);
60 if (dispatch)
61 getClient().dispatch();
62}

◆ configure_master_source()

void dunedaq::timing::SwitchyardNode::configure_master_source ( uint8_t master_source,
bool dispatch = true ) const

Configure master source.

Definition at line 47 of file SwitchyardNode.cpp.

48{
49 getNode("csr.ctrl.master_src").write(master_source);
50 if (dispatch)
51 getClient().dispatch();
52}

◆ get_status()

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

Print the status of the timing node.

Implements dunedaq::timing::TimingNode.

Definition at line 33 of file SwitchyardNode.cpp.

34{
35 std::stringstream status;
36 auto subnodes = read_sub_nodes(getNode("csr.ctrl"));
37 status << format_reg_table(subnodes, "Switchyard state");
38
39 if (print_out)
40 TLOG() << status.str();
41 return status.str();
42}
std::map< std::string, uhal::ValWord< uint32_t > > read_sub_nodes(const uhal::Node &node, bool dispatch=true) const
Read subnodes.
#define TLOG(...)
Definition macro.hpp:22
std::string format_reg_table(T data, std::string title, std::vector< std::string > headers)
Format reg-value table.
Definition toolbox.hxx:166

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