DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
GIBIONode.hpp
Go to the documentation of this file.
1
12#ifndef TIMING_INCLUDE_TIMING_GIBIONODE_HPP_
13#define TIMING_INCLUDE_TIMING_GIBIONODE_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 GIBIONode : public IONode
33{
34 UHAL_DERIVEDNODE(GIBIONode)
35
36public:
37 explicit GIBIONode(const uhal::Node& node);
38 virtual ~GIBIONode();
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 std::unique_ptr<const SI534xSlave> get_pll() const override;
56
60 std::string get_hardware_info(bool print_out) const override;
61
65 void set_up_io_infrastructure() const override;
66
70 void reset(const std::string& clock_config_file) const override;
71
75 using IONode::reset;
76
80 void reset_pll() const override;
81
85 std::string get_sfp_status(uint32_t sfp_id, bool print_out = false) const override; // NOLINT(build/unsigned)
86
90 void switch_sfp_soft_tx_control_bit(uint32_t sfp_id, bool turn_on) const override; // NOLINT(build/unsigned)
91
95 bool clocks_ok() const override;
96
100 void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override; // NOLINT(build/unsigned)
101
105 //void get_info(timinghardwareinfo::TimingGIBMonitorData& mon_data) const;
106
107 // /**
108 // * @brief Give info to collector.
109 // */
110 // void get_info(opmonlib::InfoCollector& ci, int level) const override;
111
115 void set_i2c_mux_channels(uint8_t mux_channel_bitmask) const;
116
120 float read_board_temperature() const;
121
122private:
123 void validate_sfp_id(uint32_t sfp_id) const; // NOLINT(build/unsigned)
124};
125
126} // namespace timing
127} // namespace dunedaq
128
129#endif // TIMING_INCLUDE_TIMING_GIBIONODE_HPP_
Class for the timing FMC board.
Definition GIBIONode.hpp:33
void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override
control tx laser of on-board SFP softly (I2C command)
void set_i2c_mux_channels(uint8_t mux_channel_bitmask) const
Fill hardware monitoring structure.
void reset(const std::string &clock_config_file) const override
Reset GIB IO.
void set_up_io_infrastructure() const override
Set up i2c buses, enable ICs.
Definition GIBIONode.cpp:81
std::unique_ptr< const SI534xSlave > get_pll() const override
GET PLL I2C interface.
Definition GIBIONode.cpp:61
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)
void validate_sfp_id(uint32_t sfp_id) const
std::string get_hardware_info(bool print_out) const override
Print hardware information.
Definition GIBIONode.cpp:71
void reset_pll() const override
Reset PLL.
std::string get_uid_address_parameter_name() const override
Get the UID address parameter name.
Definition GIBIONode.cpp:33
GIBIONode(const uhal::Node &node)
Definition GIBIONode.cpp:21
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 GIBIONode.cpp:41
bool clocks_ok() const override
Clocks ready?
float read_board_temperature() const
Read board temp.
Base class for timing IO nodes.
Definition IONode.hpp:44
virtual void reset(const std::string &clock_config_file) const =0
Reset timing node.
The DUNE-DAQ namespace.
Definition DataStore.hpp:57