DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
I2CExpanderNode.hpp
Go to the documentation of this file.
1
11
12
#ifndef TIMING_INCLUDE_TIMING_I2CEXPANDERNODE_HPP_
13
#define TIMING_INCLUDE_TIMING_I2CEXPANDERNODE_HPP_
14
15
#include "
timing/I2CMasterNode.hpp
"
16
#include "
timing/I2CSlave.hpp
"
17
18
#include "
logging/Logging.hpp
"
// NOTE: if ISSUES ARE DECLARED BEFORE include logging/Logging.hpp, TLOG_DEBUG<<issue wont work.
19
20
#include <map>
21
#include <string>
22
#include <vector>
23
24
namespace
dunedaq
{
25
ERS_DECLARE_ISSUE
(
timing
, SFPExpanderBankIDError,
" Invalid bank id: "
<< bank_id, ((std::string)bank_id))
26
27
namespace
timing
{
28
36
class
I2CExpanderSlave
:
public
I2CSlave
37
{
38
public
:
39
I2CExpanderSlave
(
const
I2CMasterNode
* i2c_master, uint8_t i2c_device_address);
// NOLINT(build/unsigned)
40
virtual
~I2CExpanderSlave
();
41
48
void
set_inversion(uint8_t bank_id, uint32_t inversion_mask)
const
;
// NOLINT(build/unsigned)
49
56
void
set_io(uint8_t bank_id, uint32_t io_mask)
const
;
// NOLINT(build/unsigned)
57
65
uint32_t read_inputs(uint8_t bank_id)
const
;
// NOLINT(build/unsigned)
66
73
void
set_outputs(uint8_t bank_id, uint32_t output_values)
const
;
// NOLINT(build/unsigned)
74
82
uint8_t read_outputs_config( uint8_t bank_id )
const
;
// NOLINT(build/unsigned)
83
84
std::vector<uint32_t> debug()
const
;
// NOLINT(build/unsigned)
85
86
private
:
87
void
ensure_valid_bank_id(uint8_t bank_id)
const
;
// NOLINT(build/unsigned)
88
};
89
90
}
// namespace timing
91
}
// namespace dunedaq
92
93
#endif
// TIMING_INCLUDE_TIMING_I2CEXPANDERNODE_HPP_
I2CMasterNode.hpp
I2CSlave.hpp
I2CExpanderSlave
Definition
I2CExpanderNode.hpp:25
I2CMasterNode
OpenCode I2C interface to a ipbus node.
I2CSlave
Class to provide OpenCode I2C interface to a ipbus node.
Logging.hpp
ERS_DECLARE_ISSUE
#define ERS_DECLARE_ISSUE( namespace_name, class_name, message_, attributes)
Definition
macro.hpp:65
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq
Including Qt Headers.
Definition
module.cpp:16
Generated on
for DUNE-DAQ by
1.17.0