DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
src
BoreasDesign.cpp
Go to the documentation of this file.
1
8
9
#include "
timing/BoreasDesign.hpp
"
10
11
#include <sstream>
12
#include <string>
13
14
namespace
dunedaq::timing
{
15
16
UHAL_REGISTER_DERIVED_NODE(
BoreasDesign
)
17
18
//-----------------------------------------------------------------------------
19
BoreasDesign
::
BoreasDesign
(const
uhal
::Node& node)
20
:
TopDesignInterface
(node)
21
,
MasterDesignInterface
(node)
22
,
EndpointDesignInterface
(node)
23
,
MasterDesign
(node)
24
,
HSIDesignInterface
(node)
25
{}
26
//-----------------------------------------------------------------------------
27
28
//-----------------------------------------------------------------------------
29
BoreasDesign::~BoreasDesign
()
30
{}
31
//-----------------------------------------------------------------------------
32
33
//-----------------------------------------------------------------------------
34
std::string
35
BoreasDesign::get_status
(
bool
print_out)
const
36
{
37
std::stringstream status;
38
status <<
get_io_node_plain
()->
get_pll_status
();
39
status <<
get_master_node_plain
()->
get_status
();
40
status <<
get_endpoint_node_plain
(0)->
get_status
();
41
status <<
get_hsi_node
().
get_status
();
42
if
(print_out)
43
TLOG
() << status.str();
44
return
status.str();
45
}
46
//-----------------------------------------------------------------------------
47
48
//-----------------------------------------------------------------------------
49
void
50
BoreasDesign::configure
(
ClockSource
clock_source,
TimestampSource
ts_source)
const
51
{
52
MasterDesign::configure
(clock_source, ts_source);
53
// configure endpoint
54
// configure hsi
55
// get_his_node().
56
}
57
//-----------------------------------------------------------------------------
58
59
//-----------------------------------------------------------------------------
60
void
61
BoreasDesign::get_info
(
timingfirmwareinfo::TimingDeviceInfo
& mon_data)
const
62
{
63
MasterDesign::get_info
(mon_data);
64
HSIDesignInterface::get_info
(mon_data);
65
}
66
//-----------------------------------------------------------------------------
67
}
// namespace dunedaq::timing
BoreasDesign.hpp
dunedaq::timing::BoreasDesign
Class for timing master with integrated HSI designs.
Definition
BoreasDesign.hpp:35
dunedaq::timing::BoreasDesign::~BoreasDesign
virtual ~BoreasDesign()
Definition
BoreasDesign.cpp:29
dunedaq::timing::BoreasDesign::get_status
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
Definition
BoreasDesign.cpp:35
dunedaq::timing::BoreasDesign::BoreasDesign
BoreasDesign(const uhal::Node &node)
Definition
BoreasDesign.cpp:19
dunedaq::timing::BoreasDesign::configure
void configure(ClockSource clock_source, TimestampSource ts_source) const override
Prepare the timing master for data taking.
Definition
BoreasDesign.cpp:50
dunedaq::timing::BoreasDesign::get_info
void get_info(timingfirmwareinfo::TimingDeviceInfo &mon_data) const override
Give info to collector.
Definition
BoreasDesign.cpp:61
dunedaq::timing::EndpointDesignInterface
Base class for timing endpoint design nodes.
Definition
EndpointDesignInterface.hpp:38
dunedaq::timing::EndpointDesignInterface::get_endpoint_node_plain
virtual const EndpointNodeInterface * get_endpoint_node_plain(uint32_t ept_id) const
Return the timing endpoint node.
Definition
EndpointDesignInterface.hpp:50
dunedaq::timing::HSIDesignInterface::HSIDesignInterface
HSIDesignInterface(const uhal::Node &node)
Definition
HSIDesignInterface.hpp:41
dunedaq::timing::HSIDesignInterface::get_info
void get_info(timingfirmwareinfo::TimingDeviceInfo &mon_data) const override
Give info to collector.
Definition
HSIDesignInterface.hpp:83
dunedaq::timing::HSIDesignInterface::get_hsi_node
virtual const HSINode & get_hsi_node() const
Get the HSI node.
Definition
HSIDesignInterface.hpp:51
dunedaq::timing::HSINode::get_status
std::string get_status(bool print_out=false) const override
Print the status of the timing node.
Definition
HSINode.cpp:36
dunedaq::timing::IONode::get_pll_status
virtual std::string get_pll_status(bool print_out=false) const
Print status of on-board PLL.
Definition
IONode.cpp:289
dunedaq::timing::MasterDesignInterface
Base class for timing master designs.
Definition
MasterDesignInterface.hpp:35
dunedaq::timing::MasterDesign::get_info
void get_info(timingfirmwareinfo::TimingDeviceInfo &mon_data) const override
Give info to collector.
Definition
MasterDesign.cpp:136
dunedaq::timing::MasterDesign::get_master_node_plain
const MasterNodeInterface * get_master_node_plain() const override
Get master node pointer.
Definition
MasterDesign.hpp:95
dunedaq::timing::MasterDesign::configure
void configure(ClockSource clock_source, TimestampSource ts_source) const override
Prepare the timing master for data taking.
Definition
MasterDesign.cpp:39
dunedaq::timing::MasterDesign::MasterDesign
MasterDesign(const uhal::Node &node)
Definition
MasterDesign.cpp:11
dunedaq::timing::TimingNode::get_status
virtual std::string get_status(bool print_out=false) const =0
Get the status string of the timing node. Optionally print it.
dunedaq::timing::TopDesignInterface
Base class for timing top design nodes.
Definition
TopDesignInterface.hpp:40
dunedaq::timing::TopDesign::get_io_node_plain
const IONode * get_io_node_plain() const override
Get io node pointer.
Definition
TopDesign.hpp:48
TLOG
#define TLOG(...)
Definition
macro.hpp:22
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq::timing::ClockSource
ClockSource
Definition
definitions.hpp:115
dunedaq::timing::TimestampSource
TimestampSource
Definition
definitions.hpp:124
uhal
Definition
ProtocolAxi4Lite.hpp:63
dunedaq::timing::timingfirmwareinfo::TimingDeviceInfo
Definition
Structs.hpp:105
Generated on
for DUNE-DAQ by
1.17.0