DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
BoreasDesign.cpp
Go to the documentation of this file.
1
10
11#include <sstream>
12#include <string>
13
14namespace dunedaq::timing {
15
16UHAL_REGISTER_DERIVED_NODE(BoreasDesign)
17
18//-----------------------------------------------------------------------------
19BoreasDesign::BoreasDesign(const uhal::Node& node)
20 : TopDesignInterface(node)
23 , MasterDesign(node)
24 , HSIDesignInterface(node)
25{}
26//-----------------------------------------------------------------------------
27
28//-----------------------------------------------------------------------------
31//-----------------------------------------------------------------------------
32
33//-----------------------------------------------------------------------------
34std::string
35BoreasDesign::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//-----------------------------------------------------------------------------
49void
51{
52 MasterDesign::configure(clock_source, ts_source);
53 // configure endpoint
54 // configure hsi
55 // get_his_node().
56}
57//-----------------------------------------------------------------------------
58
59//-----------------------------------------------------------------------------
60void
66//-----------------------------------------------------------------------------
67} // namespace dunedaq::timing
Class for timing master with integrated HSI designs.
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
void configure(ClockSource clock_source, TimestampSource ts_source) const override
Prepare the timing master for data taking.
void get_info(timingfirmwareinfo::TimingDeviceInfo &mon_data) const override
Give info to collector.
Base class for timing endpoint design nodes.
virtual const EndpointNodeInterface * get_endpoint_node_plain(uint32_t ept_id) const
Return the timing endpoint node.
Base class for timing hsi design nodes.
void get_info(timingfirmwareinfo::TimingDeviceInfo &mon_data) const override
Give info to collector.
virtual const HSINode & get_hsi_node() const
Get the HSI node.
std::string get_status(bool print_out=false) const override
Print the status of the timing node.
Definition HSINode.cpp:36
virtual std::string get_pll_status(bool print_out=false) const
Print status of on-board PLL.
Definition IONode.cpp:288
Base class for timing master designs.
Base class for timing master designs.
void get_info(timingfirmwareinfo::TimingDeviceInfo &mon_data) const override
Give info to collector.
const MasterNodeInterface * get_master_node_plain() const override
Get master node pointer.
void configure(ClockSource clock_source, TimestampSource ts_source) const override
Prepare the timing master for data taking.
virtual std::string get_status(bool print_out=false) const =0
Get the status string of the timing node. Optionally print it.
Base class for timing top design nodes.
const IONode * get_io_node_plain() const override
Get io node pointer.
Definition TopDesign.hpp:48
#define TLOG(...)
Definition macro.hpp:22
< Message parameters