DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
TimingHardwareInterface.hpp
Go to the documentation of this file.
1
7#ifndef TIMINGLIBS_INCLUDE_TIMINGLIBS_TIMINGHARDWAREINTERFACE_HPP_
8#define TIMINGLIBS_INCLUDE_TIMINGLIBS_TIMINGHARDWAREINTERFACE_HPP_
9
11
12#include "nlohmann/json.hpp"
13
14#include "uhal/ConnectionManager.hpp"
15#include "uhal/ProtocolUDP.hpp"
16#include "uhal/log/exception.hpp"
17#include "uhal/utilities/files.hpp"
18#include <ers/Issue.hpp>
20
21#include <memory>
22#include <string>
23#include <vector>
24
25
26namespace dunedaq {
27namespace timinglibs {
28
33{
34public:
39 explicit TimingHardwareInterface();
40
45
46protected:
47
48 template<class TIMING_DEV> TIMING_DEV cast_timing_device(const uhal::Node* device_node, std::string timing_device_name);
50 void configure_uhal(const std::string& uhal_log_level, const std::string& connections_file);
51
52 void scrap_uhal ();
53 std::string m_connections_file;
54 std::string m_uhal_log_level;
55 std::unique_ptr<uhal::ConnectionManager> m_connection_manager;
56};
57} // namespace timinglibs
58} // namespace dunedaq
59
61
62#endif // TIMINGLIBS_INCLUDE_TIMINGLIBS_TIMINGHARDWAREINTERFACE_HPP_
63
64// Local Variables:
65// c-basic-offset: 2
66// End:
TimingHardwareInterface sets up IPBus UHAL interface.
TimingHardwareInterface(const TimingHardwareInterface &)=delete
TimingHardwareInterface is not copy-constructible.
TIMING_DEV cast_timing_device(const uhal::Node *device_node, std::string timing_device_name)
std::unique_ptr< uhal::ConnectionManager > m_connection_manager
TimingHardwareInterface()
TimingHardwareInterface Constructor.
TimingHardwareInterface & operator=(TimingHardwareInterface &&)=delete
TimingHardwareInterface is not move-assignable.
void configure_uhal(const dunedaq::timinglibs::dal::TimingHardwareInterfaceConf *mdal)
TimingHardwareInterface & operator=(const TimingHardwareInterface &)=delete
TimingHardwareInterface is not copy-assignable.
TimingHardwareInterface(TimingHardwareInterface &&)=delete
TimingHardwareInterface is not move-constructible.
Including Qt Headers.