DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
SFPMuxDesignInterface.hpp
Go to the documentation of this file.
1
11
12
#ifndef TIMING_INCLUDE_TIMING_SFPMUXDESIGNINTERFACE_HPP_
13
#define TIMING_INCLUDE_TIMING_SFPMUXDESIGNINTERFACE_HPP_
14
15
// PDT Headers
16
#include "
timing/MuxDesignInterface.hpp
"
17
#include "
timing/SFPMuxIONode.hpp
"
18
#include "
TimingIssues.hpp
"
19
20
// uHal Headers
21
#include "uhal/DerivedNode.hpp"
22
23
// C++ Headers
24
#include <chrono>
25
#include <sstream>
26
#include <string>
27
#include <vector>
28
29
namespace
dunedaq
{
30
namespace
timing
{
31
35
class
SFPMuxDesignInterface
:
virtual
public
MuxDesignInterface
36
{
37
38
public
:
39
explicit
SFPMuxDesignInterface
(
const
uhal::Node& node)
40
:
TopDesignInterface
(node)
41
,
MuxDesignInterface
(node) {}
42
virtual
~SFPMuxDesignInterface
() {}
43
47
void
switch_mux
(uint8_t mux_channel,
bool
resync_cdr=
false
) const override
// NOLINT(build/unsigned)
48
{
49
TopDesignInterface::get_io_node<timing::SFPMuxIONode>
()->switch_sfp_mux_channel(mux_channel);
50
51
if
(resync_cdr)
52
{
53
resync_active_cdr
();
54
}
55
}
56
60
uint8_t
read_active_mux
() const override
// NOLINT(build/unsigned)
61
{
62
return
TopDesignInterface::get_io_node<timing::SFPMuxIONode>
()->read_active_sfp_mux_channel();
63
}
64
68
virtual
std::vector<uint32_t>
scan_sfp_mux
()
const
= 0;
// NOLINT(build/unsigned)
69
};
70
71
}
// namespace timing
72
}
// namespace dunedaq
73
74
#endif
// TIMING_INCLUDE_TIMING_SFPMUXDESIGNINTERFACE_HPP_
MuxDesignInterface.hpp
SFPMuxIONode.hpp
dunedaq::timing::MuxDesignInterface::resync_active_cdr
virtual void resync_active_cdr() const =0
Resync active cdr.
dunedaq::timing::MuxDesignInterface::MuxDesignInterface
MuxDesignInterface(const uhal::Node &node)
Definition
MuxDesignInterface.hpp:37
dunedaq::timing::SFPMuxDesignInterface::scan_sfp_mux
virtual std::vector< uint32_t > scan_sfp_mux() const =0
Scan SFP for alive timing transmitters.
dunedaq::timing::SFPMuxDesignInterface::~SFPMuxDesignInterface
virtual ~SFPMuxDesignInterface()
Definition
SFPMuxDesignInterface.hpp:42
dunedaq::timing::SFPMuxDesignInterface::SFPMuxDesignInterface
SFPMuxDesignInterface(const uhal::Node &node)
Definition
SFPMuxDesignInterface.hpp:39
dunedaq::timing::SFPMuxDesignInterface::switch_mux
void switch_mux(uint8_t mux_channel, bool resync_cdr=false) const override
Switch the SFP mux channel.
Definition
SFPMuxDesignInterface.hpp:47
dunedaq::timing::SFPMuxDesignInterface::read_active_mux
uint8_t read_active_mux() const override
Read the active SFP mux channel.
Definition
SFPMuxDesignInterface.hpp:60
dunedaq::timing::TopDesignInterface
Base class for timing top design nodes.
Definition
TopDesignInterface.hpp:40
dunedaq::timing::TopDesignInterface::get_io_node
const IO * get_io_node() const
Definition
TopDesignInterface.hpp:53
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