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