23 py::class_<DAPHNEFrame>(m,
"DAPHNEFrame", py::buffer_protocol())
25 .def(py::init([](py::capsule capsule) {
26 auto wfp = *
static_cast<DAPHNEFrame*
>(capsule.get_pointer());
29 .def(py::init([](py::bytes bytes){
30 py::buffer_info info(py::buffer(bytes).request());
40 .def_static(
"sizeof", [](){
return sizeof(
DAPHNEFrame); })
43 py::class_<DAPHNEFrame::Header>(m,
"DAPHNEFrameHeader")
44 .def_property(
"channel",
48 .def_property(
"algorithm_id",
56 .def_property(
"trigger_sample_value",
60 .def_property(
"threshold",
64 .def_property(
"baseline",
70 py::class_<DAPHNEFrame::PeakDescriptorData>(m,
"DAPHNEFramePeakDescriptorData")
89 .def_property(
"num_subpeaks_0",
93 .def_property(
"adc_integral_0",
97 .def_property(
"found_0",
101 .def_property(
"adc_max_0",
105 .def_property(
"sample_max_0",
109 .def_property(
"samples_over_baseline_0",
114 .def_property(
"num_subpeaks_1",
118 .def_property(
"adc_integral_1",
122 .def_property(
"found_1",
126 .def_property(
"adc_max_1",
130 .def_property(
"sample_max_1",
134 .def_property(
"samples_over_baseline_1",
139 .def_property(
"num_subpeaks_2",
143 .def_property(
"adc_integral_2",
147 .def_property(
"found_2",
151 .def_property(
"adc_max_2",
155 .def_property(
"sample_max_2",
159 .def_property(
"samples_over_baseline_2",
164 .def_property(
"num_subpeaks_3",
168 .def_property(
"adc_integral_3",
172 .def_property(
"found_3",
176 .def_property(
"adc_max_3",
180 .def_property(
"sample_max_3",
184 .def_property(
"samples_over_baseline_3",
189 .def_property(
"num_subpeaks_4",
193 .def_property(
"adc_integral_4",
197 .def_property(
"found_4",
201 .def_property(
"adc_max_4",
205 .def_property(
"sample_max_4",
209 .def_property(
"samples_over_baseline_4",
215 py::class_<DAPHNEStreamFrame::Header>(m,
"DAPHNEStreamHeader")
216 .def_property(
"channel_0",
220 .def_property(
"channel_1",
224 .def_property(
"channel_2",
228 .def_property(
"channel_3",
235 py::class_<DAPHNEStreamFrame>(m,
"DAPHNEStreamFrame", py::buffer_protocol())
237 .def(py::init([](py::capsule capsule) {