Line data Source code
1 : /**
2 : * @file ChronosDesign.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/ChronosDesign.hpp"
10 :
11 : #include <sstream>
12 : #include <string>
13 :
14 : namespace dunedaq::timing {
15 :
16 0 : UHAL_REGISTER_DERIVED_NODE(ChronosDesign)
17 :
18 : //-----------------------------------------------------------------------------
19 0 : ChronosDesign::ChronosDesign(const uhal::Node& node)
20 : : TopDesignInterface(node)
21 : , EndpointDesignInterface(node)
22 : , TopDesign(node)
23 0 : , HSIDesignInterface(node)
24 0 : {}
25 : //-----------------------------------------------------------------------------
26 :
27 : //-----------------------------------------------------------------------------
28 0 : ChronosDesign::~ChronosDesign()
29 0 : {}
30 : //-----------------------------------------------------------------------------
31 :
32 : //-----------------------------------------------------------------------------
33 : std::string
34 0 : ChronosDesign::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_endpoint_node_plain(0)->get_status();
39 0 : status << get_hsi_node().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 : ChronosDesign::configure(ClockSource clock_source) const
49 : {
50 0 : TopDesign::configure(clock_source);
51 : // TODO ept configure
52 : // TODO HSI configure
53 0 : }
54 : //-----------------------------------------------------------------------------
55 :
56 : //-----------------------------------------------------------------------------
57 : void
58 0 : ChronosDesign::get_info(timingfirmwareinfo::TimingDeviceInfo& mon_data) const
59 : {
60 0 : TopDesign::get_info(mon_data);
61 0 : HSIDesignInterface::get_info(mon_data);
62 0 : }
63 : //-----------------------------------------------------------------------------
64 : } // namespace dunedaq::timing
|