DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
sspmodules
src
anlBoard
DeviceManager.hpp
Go to the documentation of this file.
1
8
#ifndef SSPMODULES_SRC_ANLBOARD_DEVICEMANAGER_HPP_
9
#define SSPMODULES_SRC_ANLBOARD_DEVICEMANAGER_HPP_
10
11
// #include "ftd2xx.h"
12
// #include "USBDevice.h"
13
#include "
EthernetDevice.hpp
"
14
15
#include <cstdio>
16
#include <cstring>
17
#include <iomanip>
18
#include <iostream>
19
#include <map>
20
#include <memory>
21
#include <stdint.h>
22
#include <string>
23
#include <unistd.h>
24
#include <vector>
25
26
namespace
dunedaq
{
27
namespace
sspmodules
{
28
29
class
DeviceManager
30
{
31
32
public
:
33
// Get reference to instance of DeviceManager singleton
34
static
DeviceManager
&
Get
();
35
36
// unsigned int GetNUSBDevices();
37
38
// Open a device and return a pointer containing a handle to it
39
Device
*
OpenDevice
(
unsigned
int
deviceId,
bool
slowControlOnly =
false
);
40
41
// Interrogate FTDI for list of devices. GetNUSBDevices and OpenDevice will call this
42
// if it has not yet been run, so it should not normally be necessary to call this directly.
43
void
RefreshDevices
();
44
45
private
:
46
DeviceManager
();
47
48
DeviceManager
(
DeviceManager
const
&);
// Don't implement
49
50
void
operator=
(
DeviceManager
const
&);
// Don't implement
51
52
// List of USB devices on FTDI link
53
// std::vector<USBDevice> fUSBDevices;
54
55
// Ethernet devices keyed by IP address
56
std::map<unsigned long, std::unique_ptr<EthernetDevice>>
fEthernetDevices
;
// NOLINT(runtime/int)
57
58
bool
fHaveLookedForDevices
;
59
};
60
61
}
// namespace sspmodules
62
}
// namespace dunedaq
63
64
#endif
// SSPMODULES_SRC_ANLBOARD_DEVICEMANAGER_HPP_
EthernetDevice.hpp
dunedaq::sspmodules::DeviceManager::operator=
void operator=(DeviceManager const &)
dunedaq::sspmodules::DeviceManager::DeviceManager
DeviceManager(DeviceManager const &)
dunedaq::sspmodules::DeviceManager::OpenDevice
Device * OpenDevice(unsigned int deviceId, bool slowControlOnly=false)
Definition
DeviceManager.cxx:161
dunedaq::sspmodules::DeviceManager::RefreshDevices
void RefreshDevices()
Definition
DeviceManager.cxx:47
dunedaq::sspmodules::DeviceManager::fHaveLookedForDevices
bool fHaveLookedForDevices
Definition
DeviceManager.hpp:58
dunedaq::sspmodules::DeviceManager::Get
static DeviceManager & Get()
Definition
DeviceManager.cxx:29
dunedaq::sspmodules::DeviceManager::fEthernetDevices
std::map< unsigned long, std::unique_ptr< EthernetDevice > > fEthernetDevices
Definition
DeviceManager.hpp:56
dunedaq::sspmodules::DeviceManager::DeviceManager
DeviceManager()
Definition
DeviceManager.cxx:35
dunedaq::sspmodules::Device
Definition
Device.hpp:28
dunedaq::sspmodules
Definition
anlExceptions.hpp:15
dunedaq
The DUNE-DAQ namespace.
Definition
cib_utilities.cpp:5
Generated on
for DUNE-DAQ by
1.18.0