DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
SFPMuxIONode.hpp
Go to the documentation of this file.
1
12#ifndef TIMING_INCLUDE_TIMING_SFPMUXIONODE_HPP_
13#define TIMING_INCLUDE_TIMING_SFPMUXIONODE_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
27namespace dunedaq {
28namespace timing {
29
33class SFPMuxIONode : public IONode
34{
35
36public:
37 SFPMuxIONode(const uhal::Node& node,
38 std::string uid_i2c_bus,
39 std::string pll_i2c_bus,
40 std::string pll_i2c_device,
41 std::vector<std::string> clock_names,
42 std::vector<std::string> sfp_i2c_buses);
43 virtual ~SFPMuxIONode();
44
48 virtual void switch_sfp_mux_channel(uint32_t mux_channel) const = 0; // NOLINT(build/unsigned)
49
53 virtual uint32_t read_active_sfp_mux_channel() const = 0; // NOLINT(build/unsigned)
54};
55
56} // namespace timing
57} // namespace dunedaq
58
59#endif // TIMING_INCLUDE_TIMING_SFPMUXIONODE_HPP_
Base class for timing IO nodes.
Definition IONode.hpp:44
Base class for boards which have a physical SFP mux.
virtual uint32_t read_active_sfp_mux_channel() const =0
Read the active SFP mux channel.
virtual void switch_sfp_mux_channel(uint32_t mux_channel) const =0
Switch the SFP mux channel.
SFPMuxIONode(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)
Including Qt Headers.