24 py::class_<DAPHNEFrame>(m,
"DAPHNEFrame", py::buffer_protocol())
26 .def(py::init([](py::capsule capsule) {
27 auto wfp = *
static_cast<DAPHNEFrame*
>(capsule.get_pointer());
30 .def(py::init([](py::bytes bytes) {
31 py::buffer_info info(py::buffer(bytes).request());
38 py::return_value_policy::reference_internal)
42 py::return_value_policy::reference_internal)
43 .def_property_readonly(
46 py::return_value_policy::reference_internal)
47 .def_property_readonly(
50 py::return_value_policy::reference_internal)
54 py::return_value_policy::reference_internal)
68 .def_static(
"sizeof", []() {
return sizeof(
DAPHNEFrame); })
69 .def(
"get_bytes", [](
DAPHNEFrame* fr) -> py::bytes {
70 return py::bytes(
reinterpret_cast<char*
>(fr),
sizeof(
DAPHNEFrame));
73 py::class_<DAPHNEFrame::Header>(m,
"DAPHNEFrameHeader")
87 "trigger_sample_value",
98 .def_property_readonly_static(
"s_expected_bytes", [](py::object ) {
return sizeof(
DAPHNEFrame::Header); });
100 py::class_<DAPHNEFrame::PeakDescriptorData>(m,
"DAPHNEFramePeakDescriptorData")
101 .def_property_readonly_static(
"s_expected_bytes",
103 .def_property_readonly_static(
"max_peaks",
147 "samples_over_baseline_0",
172 "samples_over_baseline_1",
197 "samples_over_baseline_2",
222 "samples_over_baseline_3",
247 "samples_over_baseline_4",