DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
src
MasterNodeInterface.cpp
Go to the documentation of this file.
1
9
#include "
timing/MasterNodeInterface.hpp
"
10
11
#include <string>
12
13
namespace
dunedaq
{
14
namespace
timing
{
15
16
//-----------------------------------------------------------------------------
17
MasterNodeInterface::MasterNodeInterface
(
const
uhal::Node& node)
18
:
TimingNode
(node)
19
{}
20
//-----------------------------------------------------------------------------
21
22
//-----------------------------------------------------------------------------
23
MasterNodeInterface::~MasterNodeInterface
() {}
24
//-----------------------------------------------------------------------------
25
26
//-----------------------------------------------------------------------------
27
void
28
MasterNodeInterface::apply_endpoint_delay
(
const
ActiveEndpointConfig
& ept_config,
bool
measure_rtt)
const
29
{
30
std::string lEptIdD = ept_config.
id
;
31
uint32_t ept_address = ept_config.
adr
;
// NOLINT(build/unsigned)
32
uint32_t coarse_Delay = ept_config.
cdelay
;
// NOLINT(build/unsigned)
33
uint32_t fine_delay = ept_config.
fdelay
;
// NOLINT(build/unsigned)
34
uint32_t phase_delay = ept_config.
pdelay
;
// NOLINT(build/unsigned)
35
apply_endpoint_delay
(ept_address, coarse_Delay, fine_delay, phase_delay, measure_rtt);
36
}
37
//-----------------------------------------------------------------------------
38
39
//-----------------------------------------------------------------------------
40
void
41
MasterNodeInterface::enable_periodic_fl_cmd
(uint32_t channel,
double
rate,
bool
poisson, uint32_t clock_frequency_hz)
const
// NOLINT(build/unsigned)
42
{
43
enable_periodic_fl_cmd(0x8+channel, channel, rate, poisson, clock_frequency_hz);
44
}
45
//-----------------------------------------------------------------------------
46
47
//-----------------------------------------------------------------------------
48
void
49
MasterNodeInterface::enable_periodic_fl_cmd
(uint32_t command, uint32_t channel,
double
rate,
bool
poisson, uint32_t clock_frequency_hz)
const
// NOLINT(build/unsigned)
50
{
51
52
getNode<FLCmdGeneratorNode>(
"scmd_gen"
).enable_periodic_fl_cmd(command, channel, rate, poisson, clock_frequency_hz);
53
}
54
//-----------------------------------------------------------------------------
55
56
//-----------------------------------------------------------------------------
57
void
58
MasterNodeInterface::disable_periodic_fl_cmd
(uint32_t channel)
const
// NOLINT(build/unsigned)
59
{
60
getNode<FLCmdGeneratorNode>(
"scmd_gen"
).disable_fake_trigger(channel);
61
}
62
//------------------------------------------------------------------------------
63
64
}
// namespace timing
65
}
// namespace dunedaq
MasterNodeInterface.hpp
dunedaq::timing::MasterNodeInterface::apply_endpoint_delay
virtual 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) const =0
Apply delay to endpoint.
dunedaq::timing::MasterNodeInterface::enable_periodic_fl_cmd
virtual void enable_periodic_fl_cmd(uint32_t channel, double rate, bool poisson, uint32_t clock_frequency_hz) const
Configure fake trigger generator.
Definition
MasterNodeInterface.cpp:41
dunedaq::timing::MasterNodeInterface::disable_periodic_fl_cmd
virtual void disable_periodic_fl_cmd(uint32_t channel) const
Clear fake trigger configuration.
Definition
MasterNodeInterface.cpp:58
dunedaq::timing::MasterNodeInterface::MasterNodeInterface
MasterNodeInterface(const uhal::Node &node)
Definition
MasterNodeInterface.cpp:17
dunedaq::timing::MasterNodeInterface::~MasterNodeInterface
virtual ~MasterNodeInterface()
Definition
MasterNodeInterface.cpp:23
dunedaq::timing::TimingNode
Base class for timing nodes.
Definition
TimingNode.hpp:32
dunedaq
Including Qt Headers.
Definition
TimingController.hxx:1
timing
Definition
__init__.py:1
dunedaq::timing::ActiveEndpointConfig
Definition
definitions.hpp:136
dunedaq::timing::ActiveEndpointConfig::adr
uint32_t adr
Definition
definitions.hpp:138
dunedaq::timing::ActiveEndpointConfig::fdelay
uint32_t fdelay
Definition
definitions.hpp:143
dunedaq::timing::ActiveEndpointConfig::pdelay
uint32_t pdelay
Definition
definitions.hpp:144
dunedaq::timing::ActiveEndpointConfig::cdelay
uint32_t cdelay
Definition
definitions.hpp:142
dunedaq::timing::ActiveEndpointConfig::id
std::string id
Definition
definitions.hpp:137
Generated on Sat Jun 28 2025 for DUNE-DAQ by
1.12.0