Line data Source code
1 : /**
2 : * @file OuroborosDesign.cpp
3 : *
4 : * This is part of the DUNE DAQ Software Suite, copyright 2020.
5 : * Licensing/copyright details are in the COPYING file that you should have
6 : * received with this code.
7 : */
8 :
9 : #include "timing/OuroborosDesign.hpp"
10 :
11 : #include <sstream>
12 : #include <string>
13 :
14 : namespace dunedaq::timing {
15 :
16 0 : UHAL_REGISTER_DERIVED_NODE(OuroborosDesign)
17 :
18 : //-----------------------------------------------------------------------------
19 0 : OuroborosDesign::OuroborosDesign(const uhal::Node& node)
20 : : TopDesignInterface(node)
21 : , MasterDesignInterface(node)
22 : , MasterDesign(node)
23 0 : , EndpointDesignInterface(node)
24 0 : {}
25 : //-----------------------------------------------------------------------------
26 :
27 : //-----------------------------------------------------------------------------
28 0 : OuroborosDesign::~OuroborosDesign()
29 0 : {}
30 : //-----------------------------------------------------------------------------
31 :
32 : //-----------------------------------------------------------------------------
33 : std::string
34 0 : OuroborosDesign::get_status(bool print_out) const
35 : {
36 0 : std::stringstream status;
37 0 : status << get_io_node_plain()->get_pll_status();
38 0 : status << get_master_node_plain()->get_status();
39 0 : status << this->get_endpoint_node_plain(0)->get_status();
40 0 : if (print_out)
41 0 : TLOG() << status.str();
42 0 : return status.str();
43 0 : }
44 : //-----------------------------------------------------------------------------
45 :
46 : //-----------------------------------------------------------------------------
47 : void
48 0 : OuroborosDesign::configure(ClockSource clock_source, TimestampSource ts_source) const
49 : {
50 0 : MasterDesign::configure(clock_source, ts_source);
51 : //EndpointDesignInterface::configure(source);
52 0 : }
53 : //-----------------------------------------------------------------------------
54 :
55 : //-----------------------------------------------------------------------------
56 : // void
57 : // OuroborosDesign::get_info(opmonlib::InfoCollector& ci, int level) const
58 : // {
59 : // opmonlib::InfoCollector master_collector;
60 : // this->get_master_node_plain()->get_info(master_collector, level);
61 : // ci.add("master", master_collector);
62 :
63 : // opmonlib::InfoCollector hardware_collector;
64 : // this->get_io_node_plain()->get_info(hardware_collector, level);
65 : // ci.add("io", hardware_collector);
66 :
67 : // opmonlib::InfoCollector endpoint_collector;
68 : // this->get_endpoint_node_plain(0)->get_info(endpoint_collector, level);
69 : // ci.add("endpoint", endpoint_collector);
70 : // }
71 : //-----------------------------------------------------------------------------
72 : } // namespace dunedaq::timing
|