DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
SIMIONode.hpp
Go to the documentation of this file.
1
12#ifndef TIMING_INCLUDE_TIMING_SIMIONODE_HPP_
13#define TIMING_INCLUDE_TIMING_SIMIONODE_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#include <vector>
26
27namespace dunedaq {
28namespace timing {
29
33class SIMIONode : public IONode
34{
35 UHAL_DERIVEDNODE(SIMIONode)
36
37public:
38 explicit SIMIONode(const uhal::Node& node);
39 virtual ~SIMIONode();
40
46 std::string get_uid_address_parameter_name() const override;
47
51 std::string get_status(bool print_out = false) const override;
52
58 BoardRevision get_board_revision() const override;
59
63 std::string get_hardware_info(bool print_out = false) const override;
64
68 void reset(const std::string& clock_config_file) const override;
69
73 using IONode::reset;
74
80 uint64_t read_board_uid() const override; // NOLINT(build/unsigned)
81
85 void configure_pll(const std::string& clock_config_file = "") const override;
86
90 std::vector<double> read_clock_frequencies() const override;
91
95 std::string get_clock_frequencies_table(bool print_out = false) const override;
96
100 std::string get_pll_status(bool print_out = false) const override;
101
105 std::string get_sfp_status(uint32_t sfp_id, bool print_out = false) const override; // NOLINT(build/unsigned)
106
110 void switch_sfp_soft_tx_control_bit(uint32_t sfp_id, bool turn_on) const override; // NOLINT(build/unsigned)
111
115 bool clocks_ok() const override {return true;}
116
120 void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override; // NOLINT(build/unsigned)
121};
122
123} // namespace timing
124} // namespace dunedaq
125
126#endif // TIMING_INCLUDE_TIMING_SIMIONODE_HPP_
Base class for timing IO nodes.
Definition IONode.hpp:44
virtual void reset(const std::string &clock_config_file) const =0
Reset timing node.
Class for the timing simulation IO.
Definition SIMIONode.hpp:34
BoardRevision get_board_revision() const override
Read the word identifying the timing board.
Definition SIMIONode.cpp:65
std::string get_clock_frequencies_table(bool print_out=false) const override
Print frequencies of on-board clocks.
void switch_sfp_soft_tx_control_bit(uint32_t sfp_id, bool turn_on) const override
Control tx laser of on-board SFP softly (I2C command)
std::string get_pll_status(bool print_out=false) const override
Print status of on-board PLL.
std::string get_hardware_info(bool print_out=false) const override
Print hardware information.
Definition SIMIONode.cpp:73
void configure_pll(const std::string &clock_config_file="") const override
Configure clock chip.
uint64_t read_board_uid() const override
Read the word containing the timing board UID.
Definition SIMIONode.cpp:57
std::vector< double > read_clock_frequencies() const override
Read frequencies of on-board clocks.
std::string get_uid_address_parameter_name() const override
Get the UID address parameter name.
Definition SIMIONode.cpp:34
SIMIONode(const uhal::Node &node)
Definition SIMIONode.cpp:23
void reset(const std::string &clock_config_file) const override
Reset IO.
std::string get_sfp_status(uint32_t sfp_id, bool print_out=false) const override
Print status of on-board SFP.
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
Definition SIMIONode.cpp:42
void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override
Control tx laser of on-board SFP softly (I2C command)
bool clocks_ok() const override
Clocks ready?
Including Qt Headers.