22 py::class_<WIBFrame>(m,
"WIBFrame", py::buffer_protocol())
24 .def(py::init([](py::capsule capsule) {
25 auto wfp = *
static_cast<WIBFrame*
>(capsule.get_pointer());
28 .def(py::init([](py::bytes bytes){
29 py::buffer_info info(py::buffer(bytes).request());
30 auto wfp = *
static_cast<WIBFrame*
>(info.ptr);
41 .def_static(
"sizeof", [](){
return sizeof(
WIBFrame); })
44 return py::bytes(
reinterpret_cast<char*
>(fr),
sizeof(
WIBFrame));
49 py::class_<WIBHeader>(m,
"WIBHeader")
50 .def_property_readonly(
"sof", [](
WIBHeader& self) -> uint32_t {
return self.
sof;})
51 .def_property_readonly(
"version", [](
WIBHeader& self) -> uint32_t {
return self.
version;})
52 .def_property_readonly(
"fiber_no", [](
WIBHeader& self) -> uint32_t {
return self.
fiber_no;})
53 .def_property_readonly(
"crate_no", [](
WIBHeader& self) -> uint32_t {
return self.
crate_no;})
54 .def_property_readonly(
"slot_no", [](
WIBHeader& self) -> uint32_t {
return self.
slot_no;})
55 .def_property_readonly(
"mm", [](
WIBHeader& self) -> uint32_t {
return self.
mm;})
56 .def_property_readonly(
"oos", [](
WIBHeader& self) -> uint32_t {
return self.
oos;})
57 .def_property_readonly(
"mm", [](
WIBHeader& self) -> uint32_t {
return self.
mm;})
58 .def_property_readonly(
"wib_errors", [](
WIBHeader& self) -> uint32_t {
return self.
wib_errors;})
62 py::class_<ColdataHeader>(m,
"ColdataHeader")
63 .def_property_readonly(
"s1_error", [](
ColdataHeader& self) -> uint32_t {
return self.s1_error;})
64 .def_property_readonly(
"s2_error", [](
ColdataHeader& self) -> uint32_t {
return self.s2_error;})
65 .def_property_readonly(
"coldata_convert_count", [](
ColdataHeader& self) -> uint32_t {
return self.coldata_convert_count;})
66 .def_property_readonly(
"error_register", [](
ColdataHeader& self) -> uint32_t {
return self.error_register;})
67 .def_property_readonly(
"hdr_1", [](
ColdataHeader& self) -> uint32_t {
return self.hdr_1;})
68 .def_property_readonly(
"hdr_3", [](
ColdataHeader& self) -> uint32_t {
return self.hdr_3;})
69 .def_property_readonly(
"hdr_2", [](
ColdataHeader& self) -> uint32_t {
return self.hdr_2;})
70 .def_property_readonly(
"hdr_4", [](
ColdataHeader& self) -> uint32_t {
return self.hdr_4;})
71 .def_property_readonly(
"hdr_5", [](
ColdataHeader& self) -> uint32_t {
return self.hdr_5;})
72 .def_property_readonly(
"hdr_7", [](
ColdataHeader& self) -> uint32_t {
return self.hdr_7;})
73 .def_property_readonly(
"hdr_6", [](
ColdataHeader& self) -> uint32_t {
return self.hdr_6;})
74 .def_property_readonly(
"hdr_8", [](
ColdataHeader& self) -> uint32_t {
return self.hdr_8;})
80 py::class_<ColdataSegment>(m,
"ColdataSegment")
83 py::class_<ColdataBlock>(m,
"ColdataBlock")