DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
DACNode.hpp
Go to the documentation of this file.
1
11
12
#ifndef TIMING_INCLUDE_TIMING_DACNODE_HPP_
13
#define TIMING_INCLUDE_TIMING_DACNODE_HPP_
14
15
#include "
timing/I2CMasterNode.hpp
"
16
#include "
timing/I2CSlave.hpp
"
17
18
#include "
ers/Issue.hpp
"
19
#include "
logging/Logging.hpp
"
// NOTE: if ISSUES ARE DECLARED BEFORE include logging/Logging.hpp, TLOG_DEBUG<<issue wont work.
20
21
#include <string>
22
23
namespace
dunedaq
{
24
25
ERS_DECLARE_ISSUE
(
timing
,
26
DACChannelOutOfRange,
27
" DAC channel out of range: "
<< channel,
28
((std::string)channel)
29
)
30
ERS_DECLARE_ISSUE
(
timing
,
31
DACValueOutOfRange
,
32
" DAC value out of range: "
<< value,
33
((std::string)value)
34
)
35
36
namespace
timing
{
37
41
class
DACSlave
:
public
I2CSlave
42
{
43
public
:
44
DACSlave
(
const
I2CMasterNode
* i2c_master, uint8_t i2c_device_address);
// NOLINT(build/unsigned)
45
virtual
~DACSlave
() =
default
;
46
50
void
set_interal_ref
(
bool
internal_ref)
const
;
51
55
void
set_dac
(uint8_t channel, uint32_t code)
const
;
// NOLINT(build/unsigned)
56
};
57
66
class
DACNode
67
:
public
I2CMasterNode
68
,
public
DACSlave
69
{
70
UHAL_DERIVEDNODE(
DACNode
)
71
public
:
72
explicit
DACNode
(
const
uhal::Node& node);
73
DACNode
(
const
DACNode
& node);
74
virtual
~DACNode
();
75
};
76
77
}
// namespace timing
78
}
// namespace dunedaq
79
80
#endif
// TIMING_INCLUDE_TIMING_DACNODE_HPP_
I2CMasterNode.hpp
I2CSlave.hpp
Issue.hpp
dunedaq::timing::DACNode::~DACNode
virtual ~DACNode()
Definition
DACNode.cpp:65
dunedaq::timing::DACNode::DACNode
DACNode(const uhal::Node &node)
Definition
DACNode.cpp:51
dunedaq::timing::DACSlave::set_interal_ref
void set_interal_ref(bool internal_ref) const
Use DAC internal reference.
Definition
DACNode.cpp:25
dunedaq::timing::DACSlave::DACSlave
DACSlave(const I2CMasterNode *i2c_master, uint8_t i2c_device_address)
Definition
DACNode.cpp:18
dunedaq::timing::DACSlave::~DACSlave
virtual ~DACSlave()=default
dunedaq::timing::DACSlave::set_dac
void set_dac(uint8_t channel, uint32_t code) const
Configure DAC channel.
Definition
DACNode.cpp:33
dunedaq::timing::I2CMasterNode::I2CMasterNode
I2CMasterNode(const uhal::Node &node)
Definition
I2CMasterNode.cpp:59
dunedaq::timing::I2CSlave::I2CMasterNode
friend class I2CMasterNode
Definition
I2CSlave.hpp:97
dunedaq::timing::I2CSlave::I2CSlave
I2CSlave(const I2CMasterNode *i2c_master, uint8_t i2c_device_address)
Definition
I2CSlave.cpp:33
Logging.hpp
ERS_DECLARE_ISSUE
#define ERS_DECLARE_ISSUE( namespace_name, class_name, message_, attributes)
Definition
macro.hpp:65
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::DACValueOutOfRange
DACValueOutOfRange
< Namespace
Definition
DACNode.hpp:31
timing
Definition
__init__.py:1
Generated on
for DUNE-DAQ by
1.17.0