summaryrefslogtreecommitdiff
path: root/gr-digital/python/digital/bindings/header_buffer_python.cc
diff options
context:
space:
mode:
authorJosh Morman <mormjb@gmail.com>2020-04-23 08:12:30 -0400
committerJosh Morman <mormjb@gmail.com>2020-06-04 10:05:47 -0400
commit5039f381454bc0afc4f676085afa998c438e02e7 (patch)
tree4cd97bfcd6e4959d255961422e3841dc35f0a892 /gr-digital/python/digital/bindings/header_buffer_python.cc
parent3e4df0bcccc58a2f283268828f9ad2dc3eadb19d (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.cc115
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))
+
+ ;
+}