DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
TimingSourceMuxDesignInterface.hpp
Go to the documentation of this file.
1
11
12
#ifndef TIMING_INCLUDE_TIMING_TIMINGSOURCEMUXDESIGNINTERFACE_HPP_
13
#define TIMING_INCLUDE_TIMING_TIMINGSOURCEMUXDESIGNINTERFACE_HPP_
14
15
// PDT Headers
16
#include "
TimingIssues.hpp
"
17
#include "
timing/TopDesignInterface.hpp
"
18
19
// uHal Headers
20
#include "uhal/DerivedNode.hpp"
21
22
// C++ Headers
23
#include <chrono>
24
#include <sstream>
25
#include <string>
26
27
namespace
dunedaq
{
28
namespace
timing
{
29
33
class
TimingSourceMuxDesignInterface
:
virtual
public
TopDesignInterface
34
{
35
36
public
:
37
explicit
TimingSourceMuxDesignInterface
(
const
uhal::Node& node)
38
:
TopDesignInterface
(node) {}
39
virtual
~TimingSourceMuxDesignInterface
() {}
40
46
virtual
uint8_t
read_active_timing_source_mux
() const
// NOLINT(build/unsigned)
47
{
48
auto
active_sfp_mux_channel = getNode(
"timing_source_mux.csr.ctrl.src"
).read();
49
getClient().dispatch();
50
return
active_sfp_mux_channel.value();
51
}
52
58
virtual
void
switch_timing_source_mux
(uint8_t mux_channel)
const
// NOLINT(build/unsigned)
59
{
60
// TODO add mux channel validity check
61
getNode(
"timing_source_mux.csr.ctrl.src"
).write(mux_channel);
62
getClient().dispatch();
63
}
64
69
virtual
void
switch_timing_source
(
ClockSource
clock_source)
const
= 0;
// NOLINT(build/unsigned)
70
71
};
72
73
}
// namespace timing
74
}
// namespace dunedaq
75
76
#endif
// TIMING_INCLUDE_TIMING_TIMINGSOURCEMUXDESIGNINTERFACE_HPP_
TopDesignInterface.hpp
dunedaq::timing::TimingSourceMuxDesignInterface::switch_timing_source_mux
virtual void switch_timing_source_mux(uint8_t mux_channel) const
Switch timing source mux.
Definition
TimingSourceMuxDesignInterface.hpp:58
dunedaq::timing::TimingSourceMuxDesignInterface::TimingSourceMuxDesignInterface
TimingSourceMuxDesignInterface(const uhal::Node &node)
Definition
TimingSourceMuxDesignInterface.hpp:37
dunedaq::timing::TimingSourceMuxDesignInterface::read_active_timing_source_mux
virtual uint8_t read_active_timing_source_mux() const
Read timing source mux.
Definition
TimingSourceMuxDesignInterface.hpp:46
dunedaq::timing::TimingSourceMuxDesignInterface::switch_timing_source
virtual void switch_timing_source(ClockSource clock_source) const =0
Switch timing source.
dunedaq::timing::TimingSourceMuxDesignInterface::~TimingSourceMuxDesignInterface
virtual ~TimingSourceMuxDesignInterface()
Definition
TimingSourceMuxDesignInterface.hpp:39
dunedaq::timing::TopDesignInterface::TopDesignInterface
TopDesignInterface(const uhal::Node &node)
Definition
TopDesignInterface.hpp:42
TimingIssues.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
Generated on
for DUNE-DAQ by
1.17.0