DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
MasterMuxDesign.hpp
Go to the documentation of this file.
1
11
12
#ifndef TIMING_INCLUDE_TIMING_MASTERMUXDESIGN_HPP_
13
#define TIMING_INCLUDE_TIMING_MASTERMUXDESIGN_HPP_
14
15
// PDT Headers
16
#include "
timing/SFPMuxDesignInterface.hpp
"
17
#include "
timing/MasterDesign.hpp
"
18
19
// uHal Headers
20
#include "uhal/DerivedNode.hpp"
21
22
// C++ Headers
23
#include <chrono>
24
#include <sstream>
25
#include <string>
26
#include <vector>
27
28
namespace
dunedaq
{
29
namespace
timing
{
30
34
class
MasterMuxDesign
35
:
public
SFPMuxDesignInterface
,
public
MasterDesign
36
{
37
UHAL_DERIVEDNODE(
MasterMuxDesign
)
38
public
:
39
explicit
MasterMuxDesign
(
const
uhal::Node& node);
40
virtual
~MasterMuxDesign
();
41
45
std::string
get_status
(
bool
print_out =
false
)
const override
;
46
47
53
uint32_t
measure_endpoint_rtt
(uint32_t
address
,
// NOLINT(build/unsigned)
54
bool
control_sfp =
true
,
55
int
sfp_mux = -1)
const override
;
59
void
apply_endpoint_delay
(uint32_t
address
,
// NOLINT(build/unsigned)
60
uint32_t coarse_delay,
// NOLINT(build/unsigned)
61
uint32_t fine_delay,
// NOLINT(build/unsigned)
62
uint32_t phase_delay,
// NOLINT(build/unsigned)
63
bool
measure_rtt =
false
,
64
bool
control_sfp =
true
,
65
int
sfp_mux = -1)
const override
;
66
70
std::vector<uint32_t>
scan_sfp_mux
()
const override
;
// NOLINT(build/unsigned)
71
77
void
resync_active_cdr
()
const override
;
// NOLINT(build/unsigned)
78
79
// In leiu of UHAL_DERIVEDNODE
80
protected
:
81
// virtual uhal::Node* clone() const;
82
83
};
84
85
}
// namespace timing
86
}
// namespace dunedaq
87
88
#endif
// TIMING_INCLUDE_TIMING_MASTERMUXDESIGN_HPP_
MasterDesign.hpp
SFPMuxDesignInterface.hpp
dunedaq::timing::MasterDesign::MasterDesign
MasterDesign(const uhal::Node &node)
Definition
MasterDesign.cpp:11
dunedaq::timing::MasterMuxDesign::resync_active_cdr
void resync_active_cdr() const override
Resync active cdr.
Definition
MasterMuxDesign.cpp:122
dunedaq::timing::MasterMuxDesign::get_status
std::string get_status(bool print_out=false) const override
Get status string, optionally print.
Definition
MasterMuxDesign.cpp:27
dunedaq::timing::MasterMuxDesign::~MasterMuxDesign
virtual ~MasterMuxDesign()
Definition
MasterMuxDesign.cpp:21
dunedaq::timing::MasterMuxDesign::scan_sfp_mux
std::vector< uint32_t > scan_sfp_mux() const override
Scan SFP for alive timing transmitters.
Definition
MasterMuxDesign.cpp:88
dunedaq::timing::MasterMuxDesign::MasterMuxDesign
MasterMuxDesign(const uhal::Node &node)
Definition
MasterMuxDesign.cpp:11
dunedaq::timing::MasterMuxDesign::measure_endpoint_rtt
uint32_t measure_endpoint_rtt(uint32_t address, bool control_sfp=true, int sfp_mux=-1) const override
Measure the endpoint round trip time.
Definition
MasterMuxDesign.cpp:41
dunedaq::timing::MasterMuxDesign::apply_endpoint_delay
void apply_endpoint_delay(uint32_t address, uint32_t coarse_delay, uint32_t fine_delay, uint32_t phase_delay, bool measure_rtt=false, bool control_sfp=true, int sfp_mux=-1) const override
Apply delay to endpoint.
Definition
MasterMuxDesign.cpp:61
dunedaq::timing::SFPMuxDesignInterface::SFPMuxDesignInterface
SFPMuxDesignInterface(const uhal::Node &node)
Definition
SFPMuxDesignInterface.hpp:39
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::address
Invalid address
Definition
CommonIssues.hpp:29
Generated on
for DUNE-DAQ by
1.17.0