DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
FIBV2IONode.hpp
Go to the documentation of this file.
1
11
12
#ifndef TIMING_INCLUDE_TIMING_FIBV2IONODE_HPP_
13
#define TIMING_INCLUDE_TIMING_FIBV2IONODE_HPP_
14
15
// Timing Headers
16
#include "
timing/IONode.hpp
"
17
#include "
timing/CDCLVD110Node.hpp
"
18
#include "
timing/TimingIssues.hpp
"
19
20
#include "
logging/Logging.hpp
"
21
22
// uHal Headers
23
#include "uhal/DerivedNode.hpp"
24
25
// C++ Headers
26
#include <chrono>
27
#include <string>
28
29
namespace
dunedaq
{
30
namespace
timing
{
31
35
class
FIBV2IONode
:
public
IONode
{
36
UHAL_DERIVEDNODE(
FIBV2IONode
)
37
38
public
:
39
explicit
FIBV2IONode
(
const
uhal::Node& aNode);
40
virtual
~FIBV2IONode
();
41
47
std::string
get_uid_address_parameter_name
()
const override
;
48
52
std::string
get_status
(
bool
print_out=
false
)
const override
;
53
57
void
reset
(
const
ClockSource
& clock_source)
const override
;
58
62
void
reset_pll
()
const override
;
63
67
std::string
get_sfp_status
(uint32_t sfp_id,
bool
print_out=
false
)
const override
;
// NOLINT(build/unsigned)
68
72
void
switch_sfp_soft_tx_control_bit
(uint32_t sfp_id,
bool
turn_on)
const override
;
// NOLINT(build/unsigned)
73
77
void
switch_sfp_tx
(uint32_t sfp_id,
bool
turn_on)
const override
;
// NOLINT(build/unsigned)
78
82
bool
clocks_ok
()
const override
{
return
true
;}
//TODO measure clock freq.
83
87
std::string
get_pll_status
(
bool
print_out =
false
)
const override
;
88
92
float
read_board_temperature
()
const
;
93
94
void
get_info
(
timinghardwareinfo::TimingPLLMonitorData
& mon_data)
const override
;
95
97
// * @brief Get the PLL chip.
98
// *
99
// * @return { description_of_the_return_value }
100
// */
101
//std::unique_ptr<const CDCLVD110Node> get_pll() const;
102
103
// /**
104
// * @brief Fill hardware monitoring structure.
105
// */
106
// void get_info(timinghardwareinfo::TimingFIBMonitorData& mon_data) const;
107
108
// /**
109
// * @brief Give info to collector.
110
// */
111
// void get_info(opmonlib::InfoCollector& ci, int level) const override;
112
113
private
:
114
115
void
validate_sfp_id(uint32_t sfp_id)
const
;
// NOLINT(build/unsigned)
116
120
void
reset
(
const
std::string&
/*clock_config_file*/
)
const override
{}
121
127
std::unique_ptr<const SI534xSlave>
get_pll
()
const override
{
return
nullptr
;}
128
132
void
configure_pll
(
const
std::string& clock_config_file =
""
)
const override
;
133
134
};
135
136
}
// namespace timing
137
}
// namespace dunedaq
138
139
#endif
// TIMING_INCLUDE_TIMING_FIBV2IONODE_HPP_
CDCLVD110Node.hpp
IONode.hpp
dunedaq::timing::FIBV2IONode::get_pll_status
std::string get_pll_status(bool print_out=false) const override
Print status of on-board PLL.
Definition
FIBV2IONode.cpp:177
dunedaq::timing::FIBV2IONode::FIBV2IONode
FIBV2IONode(const uhal::Node &aNode)
Definition
FIBV2IONode.cpp:23
dunedaq::timing::FIBV2IONode::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
FIBV2IONode.cpp:130
dunedaq::timing::FIBV2IONode::reset
void reset(const std::string &) const override
Fill hardware monitoring structure. / void get_info(timinghardwareinfo::TimingFIBMonitorData& mon_da...
Definition
FIBV2IONode.hpp:120
dunedaq::timing::FIBV2IONode::get_status
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
Definition
FIBV2IONode.cpp:52
dunedaq::timing::FIBV2IONode::switch_sfp_tx
void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override
Switch on or off the SFP tx laser via the I2C IO expander controlling the sfp tx disable pin....
Definition
FIBV2IONode.cpp:142
dunedaq::timing::FIBV2IONode::configure_pll
void configure_pll(const std::string &clock_config_file="") const override
Configure clock chip.
Definition
FIBV2IONode.cpp:44
dunedaq::timing::FIBV2IONode::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
FIBV2IONode.cpp:111
dunedaq::timing::FIBV2IONode::reset_pll
void reset_pll() const override
Reset PLL.
Definition
FIBV2IONode.cpp:103
dunedaq::timing::FIBV2IONode::reset
void reset(const ClockSource &clock_source) const override
Reset IO, with clock file look up.
Definition
FIBV2IONode.cpp:69
dunedaq::timing::FIBV2IONode::read_board_temperature
float read_board_temperature() const
Read data from on-board temperature monitor.
Definition
FIBV2IONode.cpp:191
dunedaq::timing::FIBV2IONode::get_uid_address_parameter_name
std::string get_uid_address_parameter_name() const override
Get the UID address parameter name.
Definition
FIBV2IONode.cpp:36
dunedaq::timing::FIBV2IONode::clocks_ok
bool clocks_ok() const override
Clocks ready?
Definition
FIBV2IONode.hpp:82
dunedaq::timing::FIBV2IONode::get_pll
std::unique_ptr< const SI534xSlave > get_pll() const override
Get the PLL chip.
Definition
FIBV2IONode.hpp:127
dunedaq::timing::FIBV2IONode::get_info
void get_info(timinghardwareinfo::TimingPLLMonitorData &mon_data) const override
Definition
FIBV2IONode.cpp:168
dunedaq::timing::FIBV2IONode::~FIBV2IONode
virtual ~FIBV2IONode()
Definition
FIBV2IONode.cpp:30
dunedaq::timing::IONode::IONode
IONode(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
IONode.cpp:25
TimingIssues.hpp
Logging.hpp
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq::timing::ClockSource
ClockSource
Definition
definitions.hpp:115
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::timing::timinghardwareinfo::TimingPLLMonitorData
Definition
Structs.hpp:183
Generated on
for DUNE-DAQ by
1.17.0