diff options
Diffstat (limited to 'gr-digital/python/digital/bindings/header_buffer_python.cc')
-rw-r--r-- | gr-digital/python/digital/bindings/header_buffer_python.cc | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/gr-digital/python/digital/bindings/header_buffer_python.cc b/gr-digital/python/digital/bindings/header_buffer_python.cc new file mode 100644 index 0000000000..2676a2ecc6 --- /dev/null +++ b/gr-digital/python/digital/bindings/header_buffer_python.cc @@ -0,0 +1,123 @@ +/* + * Copyright 2020 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ + +/***********************************************************************************/ +/* This file is automatically generated using bindtool and can be manually edited */ +/* The following lines can be configured to regenerate this file during cmake */ +/* If manual edits are made, the following tags should be modified accordingly. */ +/* BINDTOOL_GEN_AUTOMATIC(0) */ +/* BINDTOOL_USE_PYGCCXML(0) */ +/* BINDTOOL_HEADER_FILE(header_buffer.h) */ +/* BINDTOOL_HEADER_FILE_HASH(cb0f4b24d7fa8f9c23b864584c361e11) */ +/***********************************************************************************/ + +#include <pybind11/complex.h> +#include <pybind11/pybind11.h> +#include <pybind11/stl.h> + +namespace py = pybind11; + +#include <gnuradio/digital/header_buffer.h> +// pydoc.h is automatically generated in the build directory +#include <header_buffer_pydoc.h> + +void bind_header_buffer(py::module& m) +{ + + using header_buffer = ::gr::digital::header_buffer; + + + py::class_<header_buffer, std::shared_ptr<header_buffer>>( + m, "header_buffer", D(header_buffer)) + + .def(py::init<uint8_t*>(), + py::arg("buffer") = __null, + D(header_buffer, header_buffer, 0)) + .def(py::init<gr::digital::header_buffer const&>(), + py::arg("arg0"), + D(header_buffer, header_buffer, 1)) + + + .def("clear", &header_buffer::clear, D(header_buffer, clear)) + + + .def("header", &header_buffer::header, D(header_buffer, header)) + + + .def("add_field8", + &header_buffer::add_field8, + py::arg("data"), + py::arg("len") = 8, + py::arg("bs") = false, + D(header_buffer, add_field8)) + + + .def("add_field16", + &header_buffer::add_field16, + py::arg("data"), + py::arg("len") = 16, + py::arg("bs") = false, + D(header_buffer, add_field16)) + + + .def("add_field32", + &header_buffer::add_field32, + py::arg("data"), + py::arg("len") = 32, + py::arg("bs") = false, + D(header_buffer, add_field32)) + + + .def("add_field64", + &header_buffer::add_field64, + py::arg("data"), + py::arg("len") = 64, + py::arg("bs") = false, + D(header_buffer, add_field64)) + + + .def("insert_bit", + &header_buffer::insert_bit, + py::arg("bit"), + D(header_buffer, insert_bit)) + + + .def("extract_field8", + &header_buffer::extract_field8, + py::arg("pos"), + py::arg("len") = 8, + py::arg("bs") = false, + D(header_buffer, extract_field8)) + + + .def("extract_field16", + &header_buffer::extract_field16, + py::arg("pos"), + py::arg("len") = 16, + py::arg("bs") = false, + D(header_buffer, extract_field16)) + + + .def("extract_field32", + &header_buffer::extract_field32, + py::arg("pos"), + py::arg("len") = 32, + py::arg("bs") = false, + D(header_buffer, extract_field32)) + + + .def("extract_field64", + &header_buffer::extract_field64, + py::arg("pos"), + py::arg("len") = 64, + py::arg("bs") = false, + D(header_buffer, extract_field64)) + + ; +} |