diff options
author | Josh Morman <mormjb@gmail.com> | 2020-04-23 08:12:30 -0400 |
---|---|---|
committer | Josh Morman <mormjb@gmail.com> | 2020-06-04 10:05:47 -0400 |
commit | 5039f381454bc0afc4f676085afa998c438e02e7 (patch) | |
tree | 4cd97bfcd6e4959d255961422e3841dc35f0a892 /gr-digital/python/digital/bindings/header_buffer_python.cc | |
parent | 3e4df0bcccc58a2f283268828f9ad2dc3eadb19d (diff) |
digital: add pybind11 bindings
Diffstat (limited to 'gr-digital/python/digital/bindings/header_buffer_python.cc')
-rw-r--r-- | gr-digital/python/digital/bindings/header_buffer_python.cc | 115 |
1 files changed, 115 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..4079277d62 --- /dev/null +++ b/gr-digital/python/digital/bindings/header_buffer_python.cc @@ -0,0 +1,115 @@ +/* + * 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 */ + +#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)) + + ; +} |