23 py::class_<WIBEthFrame::WIBEthHeader>(m,
"WIBEthHeader")
24 .def_property(
"channel",
28 .def_property(
"version",
40 .def_property(
"context",
44 .def_property(
"ready",
48 .def_property(
"calibration",
52 .def_property(
"pulser",
56 .def_property(
"femb_sync",
60 .def_property(
"wib_sync",
68 .def_property(
"link_valid",
72 .def_property(
"crc_err",
76 .def_property(
"colddata_timestamp_1",
80 .def_property(
"colddata_timestamp_0",
84 .def_property(
"extra_data",
90 py::class_<WIBEthFrame>(m,
"WIBEthFrame", py::buffer_protocol())
92 .def(py::init([](py::capsule capsule) {
93 auto wfp = *
static_cast<WIBEthFrame*
>(capsule.get_pointer());
96 .def(py::init([](py::bytes bytes){
97 py::buffer_info info(py::buffer(bytes).request());
109 .def_static(
"sizeof", [](){
return sizeof(
WIBEthFrame); })
112 return py::bytes(
reinterpret_cast<char*
>(fr),
sizeof(
WIBEthFrame));