DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
src
SwitchyardNode.cpp
Go to the documentation of this file.
1
8
9
#include "
timing/SwitchyardNode.hpp
"
10
11
#include "
timing/toolbox.hpp
"
12
#include "
logging/Logging.hpp
"
13
14
#include <string>
15
16
namespace
dunedaq
{
17
namespace
timing
{
18
19
UHAL_REGISTER_DERIVED_NODE(
SwitchyardNode
)
20
21
//-----------------------------------------------------------------------------
22
SwitchyardNode
::
SwitchyardNode
(const
uhal
::Node& node)
23
:
TimingNode
(node)
24
{}
25
//-----------------------------------------------------------------------------
26
27
//-----------------------------------------------------------------------------
28
SwitchyardNode::~SwitchyardNode
() {}
29
//-----------------------------------------------------------------------------
30
31
//-----------------------------------------------------------------------------
32
std::string
33
SwitchyardNode::get_status
(
bool
print_out)
const
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
}
43
//-----------------------------------------------------------------------------
44
45
//-----------------------------------------------------------------------------
46
void
47
SwitchyardNode::configure_master_source
(uint8_t master_source,
bool
dispatch)
const
// NOLINT(build/unsigned)
48
{
49
getNode(
"csr.ctrl.master_src"
).write(master_source);
50
if
(dispatch)
51
getClient().dispatch();
52
}
53
//-----------------------------------------------------------------------------
54
55
//-----------------------------------------------------------------------------
56
void
57
SwitchyardNode::configure_endpoint_source
(uint8_t endpoint_source,
bool
dispatch)
const
// NOLINT(build/unsigned)
58
{
59
getNode(
"csr.ctrl.ep_src"
).write(endpoint_source);
60
if
(dispatch)
61
getClient().dispatch();
62
}
63
//-----------------------------------------------------------------------------
64
65
}
// namespace timing
66
}
// namespace dunedaq
SwitchyardNode.hpp
dunedaq::timing::SwitchyardNode
Class for master global node.
Definition
SwitchyardNode.hpp:30
dunedaq::timing::SwitchyardNode::configure_endpoint_source
void configure_endpoint_source(uint8_t endpoint_source, bool dispatch=true) const
Configure endpoint source.
Definition
SwitchyardNode.cpp:57
dunedaq::timing::SwitchyardNode::SwitchyardNode
SwitchyardNode(const uhal::Node &node)
Definition
SwitchyardNode.cpp:22
dunedaq::timing::SwitchyardNode::configure_master_source
void configure_master_source(uint8_t master_source, bool dispatch=true) const
Configure master source.
Definition
SwitchyardNode.cpp:47
dunedaq::timing::SwitchyardNode::~SwitchyardNode
virtual ~SwitchyardNode()
Definition
SwitchyardNode.cpp:28
dunedaq::timing::SwitchyardNode::get_status
std::string get_status(bool print_out=false) const override
Print the status of the timing node.
Definition
SwitchyardNode.cpp:33
dunedaq::timing::TimingNode::TimingNode
TimingNode(const uhal::Node &node)
Definition
TimingNode.cpp:18
dunedaq::timing::TimingNode::read_sub_nodes
std::map< std::string, uhal::ValWord< uint32_t > > read_sub_nodes(const uhal::Node &node, bool dispatch=true) const
Read subnodes.
Definition
TimingNode.cpp:29
Logging.hpp
TLOG
#define TLOG(...)
Definition
macro.hpp:22
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq::timing::format_reg_table
std::string format_reg_table(T data, std::string title, std::vector< std::string > headers)
Format reg-value table.
Definition
toolbox.hxx:166
dunedaq
Including Qt Headers.
Definition
module.cpp:16
uhal
Definition
ProtocolAxi4Lite.hpp:63
toolbox.hpp
Generated on
for DUNE-DAQ by
1.17.0