DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
fddetdataformats
pybindsrc
daphneeth.cpp
Go to the documentation of this file.
1
8
9
#include "
fddetdataformats/DAPHNEEthFrame.hpp
"
10
11
#include <pybind11/pybind11.h>
12
#include <pybind11/stl.h>
13
14
namespace
py = pybind11;
15
16
namespace
dunedaq::fddetdataformats::python
{
17
18
// NOLINTBEGIN(build/unsigned)
19
20
void
21
register_daphneeth
(py::module& m)
22
{
23
24
py::class_<DAPHNEEthFrame::Header>(m,
"DAPHNEEthHeader"
)
25
// .def_property("w0",
26
// [](DAPHNEEthFrame::Header& self) -> uint32_t {return self.w0;},
27
// [](DAPHNEEthFrame::Header& self, uint32_t w0) {self.w0 = w0;}
28
// )
29
.def_property(
30
"w1"
,
31
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
w1
; },
32
[](
DAPHNEEthFrame::Header
& self, uint32_t w1) { self.
w1
= w1; })
33
.def_property(
34
"w2"
,
35
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
w2
; },
36
[](
DAPHNEEthFrame::Header
& self, uint32_t w2) { self.
w2
= w2; })
37
.def_property(
38
"w3"
,
39
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
w3
; },
40
[](
DAPHNEEthFrame::Header
& self, uint32_t w3) { self.
w3
= w3; })
41
.def_property(
42
"w4"
,
43
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
w4
; },
44
[](
DAPHNEEthFrame::Header
& self, uint32_t w4) { self.
w4
= w4; })
45
.def_property(
46
"w5"
,
47
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
w5
; },
48
[](
DAPHNEEthFrame::Header
& self, uint32_t w5) { self.
w5
= w5; })
49
.def_property(
50
"w6"
,
51
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
w6
; },
52
[](
DAPHNEEthFrame::Header
& self, uint32_t w6) { self.
w6
= w6; })
53
.def_property(
54
"channel"
,
55
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
channel
; },
56
[](
DAPHNEEthFrame::Header
& self, uint32_t channel) { self.
channel
= channel; })
57
.def_property(
58
"version"
,
59
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
version
; },
60
[](
DAPHNEEthFrame::Header
& self, uint32_t
version
) { self.
version
=
version
; })
61
.def_property(
62
"trigger_sample_value"
,
63
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
trigger_sample_value
; },
64
[](
DAPHNEEthFrame::Header
& self, uint32_t trigger_sample_value) { self.
trigger_sample_value
= trigger_sample_value; })
65
.def_property(
66
"threshold"
,
67
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
threshold
; },
68
[](
DAPHNEEthFrame::Header
& self, uint32_t threshold) { self.
threshold
= threshold; })
69
.def_property(
70
"baseline"
,
71
[](
DAPHNEEthFrame::Header
& self) -> uint32_t {
return
self.
baseline
; },
72
[](
DAPHNEEthFrame::Header
& self, uint32_t baseline) { self.
baseline
= baseline; })
73
.def_property_readonly_static(
"s_expected_bytes"
, [](py::object
/*self*/
) {
74
return
DAPHNEEthFrame::Header::s_expected_bytes
;
75
});
76
77
py::class_<DAPHNEEthFrame>(m,
"DAPHNEEthFrame"
, py::buffer_protocol())
78
.def(py::init())
79
.def(py::init([](py::capsule capsule) {
80
auto
wfp = *
static_cast<
DAPHNEEthFrame
*
>
(capsule.get_pointer());
81
return
wfp;
82
}))
83
.def(py::init([](py::bytes bytes) {
84
py::buffer_info info(py::buffer(bytes).request());
85
auto
wfp = *
static_cast<
DAPHNEEthFrame
*
>
(info.ptr);
86
return
wfp;
87
}))
88
.def(
89
"get_daqheader"
,
90
[](
DAPHNEEthFrame
& self) ->
const
detdataformats::DAQEthHeader
& {
return
self.daq_header; },
91
py::return_value_policy::reference_internal)
92
.def(
93
"get_daphneheader"
,
94
[](
DAPHNEEthFrame
& self) ->
const
DAPHNEEthFrame::Header
& {
return
self.header; },
95
py::return_value_policy::reference_internal)
96
.def(
97
"get_header"
,
98
[](
DAPHNEEthFrame
& self) ->
const
DAPHNEEthFrame::Header
& {
return
self.header; },
99
py::return_value_policy::reference_internal)
100
.def_property_readonly(
101
"daq_header"
,
102
[](
DAPHNEEthFrame
& self) ->
detdataformats::DAQEthHeader
& {
return
self.daq_header; },
103
py::return_value_policy::reference_internal)
104
.def_property_readonly(
105
"header"
,
106
[](
DAPHNEEthFrame
& self) ->
DAPHNEEthFrame::Header
& {
return
self.header; },
107
py::return_value_policy::reference_internal)
108
.def(
"get_adc"
, &
DAPHNEEthFrame::get_adc
)
109
.def(
"set_adc"
, &
DAPHNEEthFrame::set_adc
)
110
.def(
"get_timestamp"
, &
DAPHNEEthFrame::get_timestamp
)
111
.def(
"set_timestamp"
, &
DAPHNEEthFrame::set_timestamp
)
112
.def(
"get_channel"
, &
DAPHNEEthFrame::get_channel
)
113
.def(
"set_channel"
, &
DAPHNEEthFrame::set_channel
)
114
.def(
"__lt__"
, [](
const
DAPHNEEthFrame
& lhs,
const
DAPHNEEthFrame
& rhs) {
return
lhs < rhs; })
115
.def_property_readonly_static(
"version"
, [](py::object
/*self*/
) {
return
DAPHNEEthFrame::version
; })
116
.def_property_readonly_static(
"s_bits_per_adc"
, [](py::object
/*self*/
) {
117
return
DAPHNEEthFrame::s_bits_per_adc
;
118
})
119
.def_property_readonly_static(
"s_bits_per_word"
, [](py::object
/*self*/
) {
120
return
DAPHNEEthFrame::s_bits_per_word
;
121
})
122
.def_property_readonly_static(
"s_num_adcs"
, [](py::object
/*self*/
) {
return
DAPHNEEthFrame::s_num_adcs
; })
123
.def_property_readonly_static(
"s_num_adc_words"
, [](py::object
/*self*/
) {
124
return
DAPHNEEthFrame::s_num_adc_words
;
125
})
126
.def_property_readonly_static(
"s_expected_bytes"
, [](py::object
/*self*/
) {
127
return
DAPHNEEthFrame::s_expected_bytes
;
128
})
129
.def_static(
"sizeof"
, []() {
return
sizeof
(
DAPHNEEthFrame
); })
130
.def(
"get_bytes"
, [](
DAPHNEEthFrame
* fr) -> py::bytes {
131
return
py::bytes(
reinterpret_cast<
char
*
>
(fr),
sizeof
(
DAPHNEEthFrame
));
// NOLINT reinterpret_cast
132
});
133
}
// NOLINT (defensible use of "overly long" function)
134
135
// NOLINTEND(build/unsigned)
136
137
}
// namespace dunedaq::fddetdataformats::python
DAPHNEEthFrame.hpp
version
version
Definition
TriggerActivity_serialization.hpp:50
dunedaq::fddetdataformats::python
Definition
daphne.cpp:16
dunedaq::fddetdataformats::python::register_daphneeth
void register_daphneeth(py::module &m)
Definition
daphneeth.cpp:21
dunedaq::detdataformats::DAQEthHeader
DAQEthHeader is a versioned and unified structure for every FE electronics.
Definition
DAQEthHeader.hpp:23
dunedaq::fddetdataformats::DAPHNEEthFrame::Header
Definition
DAPHNEEthFrame.hpp:55
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::s_expected_bytes
static constexpr size_t s_expected_bytes
Definition
DAPHNEEthFrame.hpp:56
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::version
word_t version
Definition
DAPHNEEthFrame.hpp:65
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::w3
word_t w3
Definition
DAPHNEEthFrame.hpp:70
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::trigger_sample_value
word_t trigger_sample_value
Definition
DAPHNEEthFrame.hpp:59
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::w6
word_t w6
Definition
DAPHNEEthFrame.hpp:73
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::baseline
word_t baseline
Definition
DAPHNEEthFrame.hpp:63
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::threshold
word_t threshold
Definition
DAPHNEEthFrame.hpp:61
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::w1
word_t w1
Definition
DAPHNEEthFrame.hpp:68
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::w5
word_t w5
Definition
DAPHNEEthFrame.hpp:72
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::channel
word_t channel
Definition
DAPHNEEthFrame.hpp:66
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::w2
word_t w2
Definition
DAPHNEEthFrame.hpp:69
dunedaq::fddetdataformats::DAPHNEEthFrame::Header::w4
word_t w4
Definition
DAPHNEEthFrame.hpp:71
dunedaq::fddetdataformats::DAPHNEEthFrame
Struct for accessing raw DAPHNE eth frames.
Definition
DAPHNEEthFrame.hpp:42
dunedaq::fddetdataformats::DAPHNEEthFrame::s_expected_bytes
static constexpr size_t s_expected_bytes
Definition
DAPHNEEthFrame.hpp:77
dunedaq::fddetdataformats::DAPHNEEthFrame::set_adc
void set_adc(int i, uint16_t val)
Set the ith ADC value in the frame to val.
Definition
DAPHNEEthFrame.hxx:17
dunedaq::fddetdataformats::DAPHNEEthFrame::s_num_adcs
static constexpr int s_num_adcs
Definition
DAPHNEEthFrame.hpp:51
dunedaq::fddetdataformats::DAPHNEEthFrame::s_bits_per_word
static constexpr int s_bits_per_word
Definition
DAPHNEEthFrame.hpp:50
dunedaq::fddetdataformats::DAPHNEEthFrame::set_timestamp
void set_timestamp(const uint64_t new_timestamp)
Set the starting 64-bit timestamp of the frame.
Definition
DAPHNEEthFrame.hpp:95
dunedaq::fddetdataformats::DAPHNEEthFrame::get_timestamp
uint64_t get_timestamp() const
Get the starting 64-bit timestamp of the frame.
Definition
DAPHNEEthFrame.hpp:92
dunedaq::fddetdataformats::DAPHNEEthFrame::set_channel
void set_channel(const uint8_t new_channel)
Set the channel identifier of the frame.
Definition
DAPHNEEthFrame.hpp:101
dunedaq::fddetdataformats::DAPHNEEthFrame::s_num_adc_words
static constexpr int s_num_adc_words
Definition
DAPHNEEthFrame.hpp:52
dunedaq::fddetdataformats::DAPHNEEthFrame::s_bits_per_adc
static constexpr int s_bits_per_adc
Definition
DAPHNEEthFrame.hpp:49
dunedaq::fddetdataformats::DAPHNEEthFrame::get_channel
uint8_t get_channel() const
Get the channel identifier of the frame.
Definition
DAPHNEEthFrame.hpp:98
dunedaq::fddetdataformats::DAPHNEEthFrame::version
static constexpr uint8_t version
Definition
DAPHNEEthFrame.hpp:47
dunedaq::fddetdataformats::DAPHNEEthFrame::get_adc
uint16_t get_adc(int i) const
Get the ith ADC value in the frame.
Definition
DAPHNEEthFrame.hxx:5
Generated on
for DUNE-DAQ by
1.17.0