DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
SIMIONode.hpp
Go to the documentation of this file.
1
11
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
27
namespace
dunedaq
{
28
namespace
timing
{
29
33
class
SIMIONode
:
public
IONode
34
{
35
UHAL_DERIVEDNODE(
SIMIONode
)
36
37
public
:
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
78
void
reset_pll
()
const override
;
79
85
uint64_t
read_board_uid
()
const override
;
// NOLINT(build/unsigned)
86
90
void
configure_pll
(
const
std::string& clock_config_file =
""
)
const override
;
91
95
std::vector<double>
read_clock_frequencies
()
const override
;
96
100
std::string
get_clock_frequencies_table
(
bool
print_out =
false
)
const override
;
101
105
std::string
get_pll_status
(
bool
print_out =
false
)
const override
;
106
110
std::string
get_sfp_status
(uint32_t sfp_id,
bool
print_out =
false
)
const override
;
// NOLINT(build/unsigned)
111
115
void
switch_sfp_soft_tx_control_bit
(uint32_t sfp_id,
bool
turn_on)
const override
;
// NOLINT(build/unsigned)
116
120
bool
clocks_ok
()
const override
{
return
true
;}
121
125
void
switch_sfp_tx
(uint32_t sfp_id,
bool
turn_on)
const override
;
// NOLINT(build/unsigned)
126
};
127
128
}
// namespace timing
129
}
// namespace dunedaq
130
131
#endif
// TIMING_INCLUDE_TIMING_SIMIONODE_HPP_
IONode.hpp
dunedaq::timing::IONode::reset
virtual void reset(const std::string &clock_config_file) const =0
Reset timing node.
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
dunedaq::timing::SIMIONode::get_board_revision
BoardRevision get_board_revision() const override
Read the word identifying the timing board.
Definition
SIMIONode.cpp:65
dunedaq::timing::SIMIONode::get_clock_frequencies_table
std::string get_clock_frequencies_table(bool print_out=false) const override
Print frequencies of on-board clocks.
Definition
SIMIONode.cpp:149
dunedaq::timing::SIMIONode::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
SIMIONode.cpp:176
dunedaq::timing::SIMIONode::get_pll_status
std::string get_pll_status(bool print_out=false) const override
Print status of on-board PLL.
Definition
SIMIONode.cpp:158
dunedaq::timing::SIMIONode::get_hardware_info
std::string get_hardware_info(bool print_out=false) const override
Print hardware information.
Definition
SIMIONode.cpp:73
dunedaq::timing::SIMIONode::configure_pll
void configure_pll(const std::string &clock_config_file="") const override
Configure clock chip.
Definition
SIMIONode.cpp:132
dunedaq::timing::SIMIONode::read_board_uid
uint64_t read_board_uid() const override
Read the word containing the timing board UID.
Definition
SIMIONode.cpp:57
dunedaq::timing::SIMIONode::read_clock_frequencies
std::vector< double > read_clock_frequencies() const override
Read frequencies of on-board clocks.
Definition
SIMIONode.cpp:140
dunedaq::timing::SIMIONode::get_uid_address_parameter_name
std::string get_uid_address_parameter_name() const override
Get the UID address parameter name.
Definition
SIMIONode.cpp:34
dunedaq::timing::SIMIONode::~SIMIONode
virtual ~SIMIONode()
Definition
SIMIONode.cpp:29
dunedaq::timing::SIMIONode::reset_pll
void reset_pll() const override
Reset PLL.
Definition
SIMIONode.cpp:125
dunedaq::timing::SIMIONode::SIMIONode
SIMIONode(const uhal::Node &node)
Definition
SIMIONode.cpp:23
dunedaq::timing::SIMIONode::reset
void reset(const std::string &clock_config_file) const override
Reset IO.
Definition
SIMIONode.cpp:116
dunedaq::timing::SIMIONode::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
SIMIONode.cpp:167
dunedaq::timing::SIMIONode::get_status
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
Definition
SIMIONode.cpp:42
dunedaq::timing::SIMIONode::switch_sfp_tx
void switch_sfp_tx(uint32_t sfp_id, bool turn_on) const override
Control tx laser of on-board SFP softly (I2C command).
Definition
SIMIONode.cpp:184
dunedaq::timing::SIMIONode::clocks_ok
bool clocks_ok() const override
Clocks ready?
Definition
SIMIONode.hpp:120
TimingIssues.hpp
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq::timing::BoardRevision
BoardRevision
Definition
definitions.hpp:76
dunedaq
Including Qt Headers.
Definition
module.cpp:16
Generated on
for DUNE-DAQ by
1.17.0