DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
FIBIONode.hpp
Go to the documentation of this file.
1
11
12
#ifndef TIMING_INCLUDE_TIMING_FIBIONODE_HPP_
13
#define TIMING_INCLUDE_TIMING_FIBIONODE_HPP_
14
15
// Timing Headers
16
#include "
timing/SFPMuxIONode.hpp
"
17
#include "
timing/TimingIssues.hpp
"
18
19
// uHal Headers
20
#include "uhal/DerivedNode.hpp"
21
22
// C++ Headers
23
#include <chrono>
24
#include <string>
25
26
namespace
dunedaq
{
27
namespace
timing
{
28
32
class
FIBIONode
:
public
SFPMuxIONode
{
33
UHAL_DERIVEDNODE(
FIBIONode
)
34
35
public
:
36
explicit
FIBIONode
(
const
uhal::Node& aNode);
37
virtual
~FIBIONode
();
38
44
std::string
get_uid_address_parameter_name
()
const override
;
45
49
std::string
get_status
(
bool
print_out=
false
)
const override
;
50
54
void
reset
(
const
std::string& clock_config_file)
const override
;
55
59
using
IONode::reset
;
60
64
void
switch_sfp_mux_channel
(uint32_t mux_channel)
const override
;
// NOLINT(build/unsigned)
65
69
uint32_t
read_active_sfp_mux_channel
()
const override
;
// NOLINT(build/unsigned)
70
74
std::string
get_sfp_status
(uint32_t sfp_id,
bool
print_out=
false
)
const override
;
// NOLINT(build/unsigned)
75
79
void
switch_sfp_soft_tx_control_bit
(uint32_t sfp_id,
bool
turn_on)
const override
;
// NOLINT(build/unsigned)
80
84
void
reset_pll
()
const
;
85
89
uint8_t
read_sfp_los_flag
(uint32_t sfp_id)
const
;
// NOLINT(build/unsigned)
90
94
uint8_t
read_sfp_fault_flag
(uint32_t sfp_id)
const
;
// NOLINT(build/unsigned)
95
99
uint8_t
read_sfp_los_flags
()
const
;
// NOLINT(build/unsigned)
100
104
uint8_t
read_sfp_fault_flags
()
const
;
// NOLINT(build/unsigned)
105
109
//void readSFPStatusFlags(uint32_t aSFPId) const;
110
114
void
switch_sfp_tx
(uint32_t sfp_id,
bool
turn_on)
const override
;
// NOLINT(build/unsigned)
115
119
bool
clocks_ok
()
const override
;
120
121
// /**
122
// * @brief Fill hardware monitoring structure.
123
// */
124
// void get_info(timinghardwareinfo::TimingFIBMonitorData& mon_data) const;
125
126
// /**
127
// * @brief Give info to collector.
128
// */
129
// void get_info(opmonlib::InfoCollector& ci, int level) const override;
130
131
private
:
132
133
void
validate_sfp_id
(uint32_t sfp_id)
const
;
// NOLINT(build/unsigned)
134
135
};
136
137
}
// namespace timing
138
}
// namespace dunedaq
139
140
#endif
// TIMING_INCLUDE_TIMING_FIBIONODE_HPP_
SFPMuxIONode.hpp
dunedaq::timing::FIBIONode::read_sfp_fault_flag
uint8_t read_sfp_fault_flag(uint32_t sfp_id) const
reset on-board SFP flags using I2C IO expanders
Definition
FIBIONode.cpp:233
dunedaq::timing::FIBIONode::switch_sfp_soft_tx_control_bit
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)
Definition
FIBIONode.cpp:182
dunedaq::timing::FIBIONode::validate_sfp_id
void validate_sfp_id(uint32_t sfp_id) const
Definition
FIBIONode.cpp:279
dunedaq::timing::FIBIONode::read_sfp_los_flags
uint8_t read_sfp_los_flags() const
reset on-board SFP flags using I2C IO expanders
Definition
FIBIONode.cpp:204
dunedaq::timing::FIBIONode::read_sfp_fault_flags
uint8_t read_sfp_fault_flags() const
reset on-board SFP flags using I2C IO expanders
Definition
FIBIONode.cpp:215
dunedaq::timing::FIBIONode::reset
void reset(const std::string &clock_config_file) const override
Reset FIB node.
Definition
FIBIONode.cpp:67
dunedaq::timing::FIBIONode::FIBIONode
FIBIONode(const uhal::Node &aNode)
Definition
FIBIONode.cpp:22
dunedaq::timing::FIBIONode::get_sfp_status
std::string get_sfp_status(uint32_t sfp_id, bool print_out=false) const override
Print status of on-board SFP.
Definition
FIBIONode.cpp:162
dunedaq::timing::FIBIONode::switch_sfp_tx
void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override
reset on-board SFP flags using I2C IO expanders
Definition
FIBIONode.cpp:241
dunedaq::timing::FIBIONode::read_active_sfp_mux_channel
uint32_t read_active_sfp_mux_channel() const override
Read the active SFP mux channel.
Definition
FIBIONode.cpp:152
dunedaq::timing::FIBIONode::reset_pll
void reset_pll() const
reset on-board PLL using I2C IO expanders
Definition
FIBIONode.cpp:195
dunedaq::timing::FIBIONode::switch_sfp_mux_channel
void switch_sfp_mux_channel(uint32_t mux_channel) const override
Switch the SFP mux channel.
Definition
FIBIONode.cpp:141
dunedaq::timing::FIBIONode::read_sfp_los_flag
uint8_t read_sfp_los_flag(uint32_t sfp_id) const
reset on-board SFP flags using I2C IO expanders
Definition
FIBIONode.cpp:225
dunedaq::timing::FIBIONode::~FIBIONode
virtual ~FIBIONode()
Definition
FIBIONode.cpp:29
dunedaq::timing::FIBIONode::get_uid_address_parameter_name
std::string get_uid_address_parameter_name() const override
Get the UID address parameter name.
Definition
FIBIONode.cpp:35
dunedaq::timing::FIBIONode::clocks_ok
bool clocks_ok() const override
Clocks ready?
Definition
FIBIONode.cpp:263
dunedaq::timing::FIBIONode::get_status
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
Definition
FIBIONode.cpp:43
dunedaq::timing::IONode::reset
virtual void reset(const std::string &clock_config_file) const =0
Reset timing node.
dunedaq::timing::SFPMuxIONode::SFPMuxIONode
SFPMuxIONode(const uhal::Node &node, std::string uid_i2c_bus, std::string pll_i2c_bus, std::string pll_i2c_device, std::vector< std::string > clock_names, std::vector< std::string > sfp_i2c_buses)
Definition
SFPMuxIONode.cpp:18
TimingIssues.hpp
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq
Including Qt Headers.
Definition
module.cpp:16
Generated on
for DUNE-DAQ by
1.17.0