DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
FMCIONode.hpp
Go to the documentation of this file.
1
12#ifndef TIMING_INCLUDE_TIMING_FMCIONODE_HPP_
13#define TIMING_INCLUDE_TIMING_FMCIONODE_HPP_
14
15// PDT Headers
16#include "TimingIssues.hpp"
17#include "timing/IONode.hpp"
18
19// uHal Headers
20#include "uhal/DerivedNode.hpp"
21
22// C++ Headers
23#include <chrono>
24#include <string>
25
26namespace dunedaq {
27namespace timing {
28
32class FMCIONode : public IONode
33{
34 UHAL_DERIVEDNODE(FMCIONode)
35
36public:
37 explicit FMCIONode(const uhal::Node& node);
38 virtual ~FMCIONode();
39
45 std::string get_uid_address_parameter_name() const override;
46
50 std::string get_status(bool print_out = false) const override;
51
55 void reset(const std::string& clock_config_file) const override;
56
60 using IONode::reset;
61
65 std::vector<double> read_clock_frequencies() const override;
66
70 std::string get_clock_frequencies_table(bool print_out = false) const override;
71
75 bool clocks_ok() const override;
76
80 void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override; // NOLINT(build/unsigned)
81
82 // /**
83 // * @brief Fill hardware monitoring structure.
84 // */
85 // void get_info(timinghardwareinfo::TimingFMCMonitorData& mon_data) const;
86
87 // /**
88 // * @brief Give info to collector.
89 // */
90 // void get_info(opmonlib::InfoCollector& ci, int level) const override;
91private:
92 void validate_sfp_id(uint32_t sfp_id) const; // NOLINT(build/unsigned)
93};
94
95} // namespace timing
96} // namespace dunedaq
97
98#endif // TIMING_INCLUDE_TIMING_FMCIONODE_HPP_
Class for the timing FMC board.
Definition FMCIONode.hpp:33
bool clocks_ok() const override
Clocks ready?
FMCIONode(const uhal::Node &node)
Definition FMCIONode.cpp:19
std::string get_uid_address_parameter_name() const override
Get the UID address parameter name.
Definition FMCIONode.cpp:31
std::string get_clock_frequencies_table(bool print_out=false) const override
Print frequencies of on-board clocks.
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
Definition FMCIONode.cpp:45
std::vector< double > read_clock_frequencies() const override
Read frequencies of on-board clocks.
void validate_sfp_id(uint32_t sfp_id) const
Fill hardware monitoring structure.
void reset(const std::string &clock_config_file) const override
Reset FMC IO.
Definition FMCIONode.cpp:60
void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override
control tx laser of on-board SFP
Base class for timing IO nodes.
Definition IONode.hpp:44
virtual void reset(const std::string &clock_config_file) const =0
Reset timing node.
Including Qt Headers.