22 py::class_<TDE16Frame>(m,
"TDE16Frame", py::buffer_protocol())
24 .def(py::init([](py::capsule capsule) {
25 auto wfp = *
static_cast<TDE16Frame*
>(capsule.get_pointer());
28 .def(py::init([](py::bytes bytes){
29 py::buffer_info info(py::buffer(bytes).request());
30 auto wfp = *
static_cast<TDE16Frame*
>(info.ptr);
39 .def_static(
"sizeof", [](){
return sizeof(
TDE16Frame); })
42 return py::bytes(
reinterpret_cast<char*
>(fr),
sizeof(
TDE16Frame));
47 py::class_<TDEHeader>(m,
"TDEHeader")
48 .def_property_readonly(
"channel", [](
TDEHeader& self) -> uint16_t {
return self.channel;})
49 .def_property_readonly(
"version", [](
TDEHeader& self) -> uint16_t {
return self.version;})
50 .def_property_readonly(
"tde_header", [](
TDEHeader& self) -> uint16_t {
return self.tde_header;})
51 .def_property_readonly(
"tde_errors", [](
TDEHeader& self) -> uint16_t {
return self.tde_errors;})
52 .def_property_readonly(
"TAItime", [](
TDEHeader& self) -> uint64_t {
return self.TAItime;})