From 5039f381454bc0afc4f676085afa998c438e02e7 Mon Sep 17 00:00:00 2001 From: Josh Morman <mormjb@gmail.com> Date: Thu, 23 Apr 2020 08:12:30 -0400 Subject: digital: add pybind11 bindings --- .../digital/bindings/header_buffer_python.cc | 115 +++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 gr-digital/python/digital/bindings/header_buffer_python.cc (limited to 'gr-digital/python/digital/bindings/header_buffer_python.cc') 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)) + + ; +} -- cgit v1.2.3