DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
fddetdataformats
pybindsrc
daphnestream.cpp
Go to the documentation of this file.
1
8
9
#include "
fddetdataformats/DAPHNEStreamFrame.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_daphnestream
(py::module& m)
22
{
23
24
py::class_<DAPHNEStreamFrame::Header>(m,
"DAPHNEStreamHeader"
)
25
.def_property(
26
"channel_0"
,
27
[](
DAPHNEStreamFrame::Header
& self) -> uint32_t {
return
self.
channel_0
; },
28
[](
DAPHNEStreamFrame::Header
& self, uint32_t channel_0) { self.
channel_0
= channel_0; })
29
.def_property(
30
"channel_1"
,
31
[](
DAPHNEStreamFrame::Header
& self) -> uint32_t {
return
self.
channel_1
; },
32
[](
DAPHNEStreamFrame::Header
& self, uint32_t channel_1) { self.
channel_1
= channel_1; })
33
.def_property(
34
"channel_2"
,
35
[](
DAPHNEStreamFrame::Header
& self) -> uint32_t {
return
self.
channel_2
; },
36
[](
DAPHNEStreamFrame::Header
& self, uint32_t channel_2) { self.
channel_2
= channel_2; })
37
.def_property(
38
"channel_3"
,
39
[](
DAPHNEStreamFrame::Header
& self) -> uint32_t {
return
self.
channel_3
; },
40
[](
DAPHNEStreamFrame::Header
& self, uint32_t channel_3) { self.
channel_3
= channel_3; })
41
.def_property_readonly_static(
"s_expected_bytes"
, [](py::object
/*self*/
) {
42
return
sizeof
(
DAPHNEStreamFrame::Header
);
43
});
44
45
py::class_<DAPHNEStreamFrame>(m,
"DAPHNEStreamFrame"
, py::buffer_protocol())
46
.def(py::init())
47
.def(py::init([](py::capsule capsule) {
48
auto
wfp = *
static_cast<
DAPHNEStreamFrame
*
>
(capsule.get_pointer());
49
return
wfp;
50
}))
51
.def(py::init([](py::bytes bytes) {
52
py::buffer_info info(py::buffer(bytes).request());
53
auto
wfp = *
static_cast<
DAPHNEStreamFrame
*
>
(info.ptr);
54
return
wfp;
55
}))
56
.def_property_readonly(
57
"daq_header"
,
58
[](
DAPHNEStreamFrame
& self) ->
detdataformats::DAQHeader
& {
return
self.daq_header; },
59
py::return_value_policy::reference_internal)
60
.def_property_readonly(
61
"header"
,
62
[](
DAPHNEStreamFrame
& self) ->
DAPHNEStreamFrame::Header
& {
return
self.header; },
63
py::return_value_policy::reference_internal)
64
.def(
"get_timestamp"
, &
DAPHNEStreamFrame::get_timestamp
)
65
.def(
"set_timestamp"
, &
DAPHNEStreamFrame::set_timestamp
)
66
.def(
"get_adc"
, &
DAPHNEStreamFrame::get_adc
)
67
.def(
"set_adc"
, &
DAPHNEStreamFrame::set_adc
)
68
.def(
"__lt__"
, [](
const
DAPHNEStreamFrame
& lhs,
const
DAPHNEStreamFrame
& rhs) {
return
lhs < rhs; })
69
.def_property_readonly_static(
"s_bits_per_adc"
, [](py::object
/*self*/
) {
70
return
DAPHNEStreamFrame::s_bits_per_adc
;
71
})
72
.def_property_readonly_static(
"s_bits_per_word"
, [](py::object
/*self*/
) {
73
return
DAPHNEStreamFrame::s_bits_per_word
;
74
})
75
.def_property_readonly_static(
"s_channels_per_frame"
, [](py::object
/*self*/
) {
76
return
DAPHNEStreamFrame::s_channels_per_frame
;
77
})
78
.def_property_readonly_static(
"s_adcs_per_channel"
, [](py::object
/*self*/
) {
79
return
DAPHNEStreamFrame::s_adcs_per_channel
;
80
})
81
.def_property_readonly_static(
"s_daphnes_per_frame"
, [](py::object
/*self*/
) {
82
return
DAPHNEStreamFrame::s_daphnes_per_frame
;
83
})
84
.def_property_readonly_static(
"s_num_adc_words"
, [](py::object
/*self*/
) {
85
return
DAPHNEStreamFrame::s_num_adc_words
;
86
})
87
.def_property_readonly_static(
"s_expected_bytes"
, [](py::object
/*self*/
) {
88
return
DAPHNEStreamFrame::s_expected_bytes
;
89
})
90
.def(
"get_channel0"
, &
DAPHNEStreamFrame::get_channel0
)
91
.def(
"get_channel1"
, &
DAPHNEStreamFrame::get_channel1
)
92
.def(
"get_channel2"
, &
DAPHNEStreamFrame::get_channel2
)
93
.def(
"get_channel3"
, &
DAPHNEStreamFrame::get_channel3
)
94
.def_static(
"sizeof"
, []() {
return
sizeof
(
DAPHNEStreamFrame
); })
95
.def(
"get_bytes"
, [](
DAPHNEStreamFrame
* fr) -> py::bytes {
96
return
py::bytes(
reinterpret_cast<
char
*
>
(fr),
sizeof
(
DAPHNEStreamFrame
));
// NOLINT
97
});
98
}
99
100
// NOLINTEND(build/unsigned)
101
102
}
// namespace dunedaq::fddetdataformats::python
DAPHNEStreamFrame.hpp
dunedaq::fddetdataformats::python
Definition
daphne.cpp:16
dunedaq::fddetdataformats::python::register_daphnestream
void register_daphnestream(py::module &m)
Definition
daphnestream.cpp:21
dunedaq::detdataformats::DAQHeader
DAQHeader is a versioned and unified structure for every FE electronics.
Definition
DAQHeader.hpp:23
dunedaq::fddetdataformats::DAPHNEStreamFrame::Header
Definition
DAPHNEStreamFrame.hpp:47
dunedaq::fddetdataformats::DAPHNEStreamFrame::Header::channel_1
word_t channel_1
Definition
DAPHNEStreamFrame.hpp:48
dunedaq::fddetdataformats::DAPHNEStreamFrame::Header::channel_2
word_t channel_2
Definition
DAPHNEStreamFrame.hpp:48
dunedaq::fddetdataformats::DAPHNEStreamFrame::Header::channel_3
word_t channel_3
Definition
DAPHNEStreamFrame.hpp:48
dunedaq::fddetdataformats::DAPHNEStreamFrame::Header::channel_0
word_t channel_0
Definition
DAPHNEStreamFrame.hpp:48
dunedaq::fddetdataformats::DAPHNEStreamFrame
Definition
DAPHNEStreamFrame.hpp:35
dunedaq::fddetdataformats::DAPHNEStreamFrame::set_adc
void set_adc(int i, int i_channel, uint16_t val)
Set the i ADC value of chn in the frame to val.
Definition
DAPHNEStreamFrame.hxx:14
dunedaq::fddetdataformats::DAPHNEStreamFrame::s_adcs_per_channel
static constexpr int s_adcs_per_channel
Definition
DAPHNEStreamFrame.hpp:42
dunedaq::fddetdataformats::DAPHNEStreamFrame::get_channel1
uint8_t get_channel1() const
Definition
DAPHNEStreamFrame.hpp:80
dunedaq::fddetdataformats::DAPHNEStreamFrame::set_timestamp
void set_timestamp(const uint64_t new_timestamp)
Set the 64-bit timestamp of the frame.
Definition
DAPHNEStreamFrame.hpp:66
dunedaq::fddetdataformats::DAPHNEStreamFrame::s_bits_per_adc
static constexpr int s_bits_per_adc
Definition
DAPHNEStreamFrame.hpp:39
dunedaq::fddetdataformats::DAPHNEStreamFrame::get_adc
uint16_t get_adc(int i_adc, int i_channel) const
Get the i ADC value of chn in the frame.
Definition
DAPHNEStreamFrame.hxx:5
dunedaq::fddetdataformats::DAPHNEStreamFrame::s_channels_per_frame
static constexpr int s_channels_per_frame
Definition
DAPHNEStreamFrame.hpp:41
dunedaq::fddetdataformats::DAPHNEStreamFrame::get_channel2
uint8_t get_channel2() const
Definition
DAPHNEStreamFrame.hpp:82
dunedaq::fddetdataformats::DAPHNEStreamFrame::s_daphnes_per_frame
static constexpr int s_daphnes_per_frame
Definition
DAPHNEStreamFrame.hpp:43
dunedaq::fddetdataformats::DAPHNEStreamFrame::get_channel0
uint8_t get_channel0() const
Definition
DAPHNEStreamFrame.hpp:78
dunedaq::fddetdataformats::DAPHNEStreamFrame::s_bits_per_word
static constexpr int s_bits_per_word
Definition
DAPHNEStreamFrame.hpp:40
dunedaq::fddetdataformats::DAPHNEStreamFrame::get_channel3
uint8_t get_channel3() const
Definition
DAPHNEStreamFrame.hpp:84
dunedaq::fddetdataformats::DAPHNEStreamFrame::s_num_adc_words
static constexpr int s_num_adc_words
Definition
DAPHNEStreamFrame.hpp:44
dunedaq::fddetdataformats::DAPHNEStreamFrame::get_timestamp
uint64_t get_timestamp() const
Definition
DAPHNEStreamFrame.hpp:63
dunedaq::fddetdataformats::DAPHNEStreamFrame::s_expected_bytes
static constexpr std::size_t s_expected_bytes
Definition
DAPHNEStreamFrame.hpp:59
Generated on
for DUNE-DAQ by
1.17.0