DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
timing
include
timing
HSINode.hpp
Go to the documentation of this file.
1
11
12
#ifndef TIMING_INCLUDE_TIMING_HSINODE_HPP_
13
#define TIMING_INCLUDE_TIMING_HSINODE_HPP_
14
15
// PDT Headers
16
#include "
TimingIssues.hpp
"
17
#include "
timing/TimingNode.hpp
"
18
#include "
timing/definitions.hpp
"
19
20
#include "
timing/timingfirmwareinfo/Nljs.hpp
"
21
#include "
timing/timingfirmwareinfo/Structs.hpp
"
22
23
// uHal Headers
24
#include "uhal/DerivedNode.hpp"
25
26
// C++ Headers
27
#include <chrono>
28
#include <string>
29
30
namespace
dunedaq
{
31
namespace
timing
{
32
36
class
HSINode
:
public
TimingNode
37
{
38
UHAL_DERIVEDNODE(
HSINode
)
39
public
:
40
explicit
HSINode
(
const
uhal::Node& node);
41
virtual
~HSINode
();
42
46
std::string
get_status
(
bool
print_out =
false
)
const override
;
47
53
uint32_t
read_buffer_count
()
const
;
// NOLINT(build/unsigned)
54
60
uhal::ValVector<uint32_t>
read_data_buffer
(uint16_t& n_words,
// NOLINT(build/unsigned)
61
bool
read_all =
false
,
62
bool
fail_on_error =
false
)
const
;
63
uhal::ValVector<uint32_t>
read_data_buffer
(
bool
read_all =
false
,
// NOLINT(build/unsigned)
64
bool
fail_on_error =
false
)
const
;
65
71
std::string
get_data_buffer_table
(
bool
read_all =
false
,
bool
print_out =
false
)
const
;
72
77
void
configure_hsi
(uint32_t src,
// NOLINT(build/unsigned)
78
uint32_t re_mask,
// NOLINT(build/unsigned)
79
uint32_t fe_mask,
// NOLINT(build/unsigned)
80
uint32_t inv_mask,
// NOLINT(build/unsigned)
81
double
rate,
82
uint32_t clock_frequency_hz,
// NOLINT(build/unsigned)
83
bool
dispatch =
true
)
const
;
84
89
void
start_hsi
(
bool
dispatch =
true
)
const
;
90
95
void
stop_hsi
(
bool
dispatch =
true
)
const
;
96
101
void
reset_hsi
(
bool
dispatch =
true
)
const
;
102
107
bool
read_buffer_warning
()
const
;
108
113
bool
read_buffer_error
()
const
;
114
119
uint32_t
read_buffer_state
()
const
;
// NOLINT(build/unsigned)
120
125
uint32_t
read_signal_source_mode
()
const
;
// NOLINT(build/unsigned)
126
131
void
get_info
(
timingfirmwareinfo::HSIFirmwareMonitorData
& mon_data)
const
;
132
133
static
inline
constexpr
size_t
hsi_buffer_event_words_number
= 5;
134
};
135
136
}
// namespace timing
137
}
// namespace dunedaq
138
139
#endif
// TIMING_INCLUDE_TIMING_HSINODE_HPP_
TimingNode.hpp
dunedaq::timing::HSINode::get_info
void get_info(timingfirmwareinfo::HSIFirmwareMonitorData &mon_data) const
Collect monitoring information for timing endpoint.
Definition
HSINode.cpp:315
dunedaq::timing::HSINode::read_buffer_warning
bool read_buffer_warning() const
Read butffer warning flag.
Definition
HSINode.cpp:267
dunedaq::timing::HSINode::get_status
std::string get_status(bool print_out=false) const override
Print the status of the timing node.
Definition
HSINode.cpp:36
dunedaq::timing::HSINode::stop_hsi
void stop_hsi(bool dispatch=true) const
Stop HSI triggering.
Definition
HSINode.cpp:238
dunedaq::timing::HSINode::read_buffer_error
bool read_buffer_error() const
Read butffer error flag.
Definition
HSINode.cpp:277
dunedaq::timing::HSINode::configure_hsi
void configure_hsi(uint32_t src, uint32_t re_mask, uint32_t fe_mask, uint32_t inv_mask, double rate, uint32_t clock_frequency_hz, bool dispatch=true) const
Configure HSI triggering.
Definition
HSINode.cpp:174
dunedaq::timing::HSINode::read_data_buffer
uhal::ValVector< uint32_t > read_data_buffer(uint16_t &n_words, bool read_all=false, bool fail_on_error=false) const
Read the contents of the endpoint data buffer.
Definition
HSINode.cpp:90
dunedaq::timing::HSINode::read_buffer_state
uint32_t read_buffer_state() const
Read butffer error/warning/word count.
Definition
HSINode.cpp:287
dunedaq::timing::HSINode::start_hsi
void start_hsi(bool dispatch=true) const
Start HSI triggering.
Definition
HSINode.cpp:228
dunedaq::timing::HSINode::get_data_buffer_table
std::string get_data_buffer_table(bool read_all=false, bool print_out=false) const
Print the contents of the endpoint data buffer.
Definition
HSINode.cpp:150
dunedaq::timing::HSINode::~HSINode
virtual ~HSINode()
Definition
HSINode.cpp:31
dunedaq::timing::HSINode::read_buffer_count
uint32_t read_buffer_count() const
Read the number of words in the data buffer.
Definition
HSINode.cpp:80
dunedaq::timing::HSINode::HSINode
HSINode(const uhal::Node &node)
Definition
HSINode.cpp:25
dunedaq::timing::HSINode::read_signal_source_mode
uint32_t read_signal_source_mode() const
Read signal source, 0 - hardware, 1 - internal emulation.
Definition
HSINode.cpp:305
dunedaq::timing::HSINode::hsi_buffer_event_words_number
static constexpr size_t hsi_buffer_event_words_number
Definition
HSINode.hpp:133
dunedaq::timing::HSINode::reset_hsi
void reset_hsi(bool dispatch=true) const
Reset HSI.
Definition
HSINode.cpp:248
dunedaq::timing::TimingNode::TimingNode
TimingNode(const uhal::Node &node)
Definition
TimingNode.cpp:18
definitions.hpp
TimingIssues.hpp
dunedaq::timing
< Message parameters
Definition
BoreasDesign.hpp:29
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::timing::timingfirmwareinfo::HSIFirmwareMonitorData
Definition
Structs.hpp:31
Nljs.hpp
Structs.hpp
Generated on
for DUNE-DAQ by
1.17.0