diff options
Diffstat (limited to 'gnuradio-runtime/python/gnuradio/gr/bindings/block_detail_python.cc')
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/bindings/block_detail_python.cc | 358 |
1 files changed, 358 insertions, 0 deletions
diff --git a/gnuradio-runtime/python/gnuradio/gr/bindings/block_detail_python.cc b/gnuradio-runtime/python/gnuradio/gr/bindings/block_detail_python.cc new file mode 100644 index 0000000000..219c95b153 --- /dev/null +++ b/gnuradio-runtime/python/gnuradio/gr/bindings/block_detail_python.cc @@ -0,0 +1,358 @@ +/* + * 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(block_detail.h) */ +/* BINDTOOL_HEADER_FILE_HASH(274b4f673ac76cedd3ef6d466afab2fc) */ +/***********************************************************************************/ + +#include <pybind11/complex.h> +#include <pybind11/pybind11.h> +#include <pybind11/stl.h> + +namespace py = pybind11; + +#include <gnuradio/block_detail.h> +#include <gnuradio/buffer.h> +// pydoc.h is automatically generated in the build directory +#include <block_detail_pydoc.h> + +void bind_block_detail(py::module& m) +{ + + using block_detail = ::gr::block_detail; + + + py::class_<block_detail, std::shared_ptr<block_detail>>( + m, "block_detail", D(block_detail)) + + + .def("ninputs", &block_detail::ninputs, D(block_detail, ninputs)) + + + .def("noutputs", &block_detail::noutputs, D(block_detail, noutputs)) + + + .def("sink_p", &block_detail::sink_p, D(block_detail, sink_p)) + + + .def("source_p", &block_detail::source_p, D(block_detail, source_p)) + + + .def("set_done", + &block_detail::set_done, + py::arg("done"), + D(block_detail, set_done)) + + + .def("done", &block_detail::done, D(block_detail, done)) + + + .def("set_input", + &block_detail::set_input, + py::arg("which"), + py::arg("reader"), + D(block_detail, set_input)) + + + .def("input", &block_detail::input, py::arg("which"), D(block_detail, input)) + + + .def("set_output", + &block_detail::set_output, + py::arg("which"), + py::arg("buffer"), + D(block_detail, set_output)) + + + .def("output", &block_detail::output, py::arg("which"), D(block_detail, output)) + + + .def("consume", + &block_detail::consume, + py::arg("which_input"), + py::arg("how_many_items"), + D(block_detail, consume)) + + + .def("consume_each", + &block_detail::consume_each, + py::arg("how_many_items"), + D(block_detail, consume_each)) + + + .def("produce", + &block_detail::produce, + py::arg("which_output"), + py::arg("how_many_items"), + D(block_detail, produce)) + + + .def("produce_each", + &block_detail::produce_each, + py::arg("how_many_items"), + D(block_detail, produce_each)) + + + .def("nitems_read", + &block_detail::nitems_read, + py::arg("which_input"), + D(block_detail, nitems_read)) + + + .def("nitems_written", + &block_detail::nitems_written, + py::arg("which_output"), + D(block_detail, nitems_written)) + + + .def("reset_nitem_counters", + &block_detail::reset_nitem_counters, + D(block_detail, reset_nitem_counters)) + + + .def("clear_tags", &block_detail::clear_tags, D(block_detail, clear_tags)) + + + .def("add_item_tag", + &block_detail::add_item_tag, + py::arg("which_output"), + py::arg("tag"), + D(block_detail, add_item_tag)) + + + .def("remove_item_tag", + &block_detail::remove_item_tag, + py::arg("which_input"), + py::arg("tag"), + py::arg("id"), + D(block_detail, remove_item_tag)) + + + .def("get_tags_in_range", + (void (block_detail::*)(std::vector<gr::tag_t, std::allocator<gr::tag_t>>&, + unsigned int, + uint64_t, + uint64_t, + long int)) & + block_detail::get_tags_in_range, + py::arg("v"), + py::arg("which_input"), + py::arg("abs_start"), + py::arg("abs_end"), + py::arg("id"), + D(block_detail, get_tags_in_range, 0)) + + + .def("get_tags_in_range", + (void (block_detail::*)(std::vector<gr::tag_t, std::allocator<gr::tag_t>>&, + unsigned int, + uint64_t, + uint64_t, + pmt::pmt_t const&, + long int)) & + block_detail::get_tags_in_range, + py::arg("v"), + py::arg("which_input"), + py::arg("abs_start"), + py::arg("abs_end"), + py::arg("key"), + py::arg("id"), + D(block_detail, get_tags_in_range, 1)) + + + .def("set_processor_affinity", + &block_detail::set_processor_affinity, + py::arg("mask"), + D(block_detail, set_processor_affinity)) + + + .def("unset_processor_affinity", + &block_detail::unset_processor_affinity, + D(block_detail, unset_processor_affinity)) + + + .def("thread_priority", + &block_detail::thread_priority, + D(block_detail, thread_priority)) + + + .def("set_thread_priority", + &block_detail::set_thread_priority, + py::arg("priority"), + D(block_detail, set_thread_priority)) + + + .def("start_perf_counters", + &block_detail::start_perf_counters, + D(block_detail, start_perf_counters)) + + + .def("stop_perf_counters", + &block_detail::stop_perf_counters, + py::arg("noutput_items"), + py::arg("nproduced"), + D(block_detail, stop_perf_counters)) + + + .def("reset_perf_counters", + &block_detail::reset_perf_counters, + D(block_detail, reset_perf_counters)) + + + .def("pc_noutput_items", + &block_detail::pc_noutput_items, + D(block_detail, pc_noutput_items)) + + + .def("pc_nproduced", &block_detail::pc_nproduced, D(block_detail, pc_nproduced)) + + + .def("pc_input_buffers_full", + (float (block_detail::*)(size_t)) & block_detail::pc_input_buffers_full, + py::arg("which"), + D(block_detail, pc_input_buffers_full, 0)) + + + .def("pc_input_buffers_full", + (std::vector<float, std::allocator<float>>(block_detail::*)()) & + block_detail::pc_input_buffers_full, + D(block_detail, pc_input_buffers_full, 1)) + + + .def("pc_output_buffers_full", + (float (block_detail::*)(size_t)) & block_detail::pc_output_buffers_full, + py::arg("which"), + D(block_detail, pc_output_buffers_full, 0)) + + + .def("pc_output_buffers_full", + (std::vector<float, std::allocator<float>>(block_detail::*)()) & + block_detail::pc_output_buffers_full, + D(block_detail, pc_output_buffers_full, 1)) + + + .def("pc_work_time", &block_detail::pc_work_time, D(block_detail, pc_work_time)) + + + .def("pc_noutput_items_avg", + &block_detail::pc_noutput_items_avg, + D(block_detail, pc_noutput_items_avg)) + + + .def("pc_nproduced_avg", + &block_detail::pc_nproduced_avg, + D(block_detail, pc_nproduced_avg)) + + + .def("pc_input_buffers_full_avg", + (float (block_detail::*)(size_t)) & block_detail::pc_input_buffers_full_avg, + py::arg("which"), + D(block_detail, pc_input_buffers_full_avg, 0)) + + + .def("pc_input_buffers_full_avg", + (std::vector<float, std::allocator<float>>(block_detail::*)()) & + block_detail::pc_input_buffers_full_avg, + D(block_detail, pc_input_buffers_full_avg, 1)) + + + .def("pc_output_buffers_full_avg", + (float (block_detail::*)(size_t)) & block_detail::pc_output_buffers_full_avg, + py::arg("which"), + D(block_detail, pc_output_buffers_full_avg, 0)) + + + .def("pc_output_buffers_full_avg", + (std::vector<float, std::allocator<float>>(block_detail::*)()) & + block_detail::pc_output_buffers_full_avg, + D(block_detail, pc_output_buffers_full_avg, 1)) + + + .def("pc_work_time_avg", + &block_detail::pc_work_time_avg, + D(block_detail, pc_work_time_avg)) + + + .def("pc_throughput_avg", + &block_detail::pc_throughput_avg, + D(block_detail, pc_throughput_avg)) + + + .def("pc_noutput_items_var", + &block_detail::pc_noutput_items_var, + D(block_detail, pc_noutput_items_var)) + + + .def("pc_nproduced_var", + &block_detail::pc_nproduced_var, + D(block_detail, pc_nproduced_var)) + + + .def("pc_input_buffers_full_var", + (float (block_detail::*)(size_t)) & block_detail::pc_input_buffers_full_var, + py::arg("which"), + D(block_detail, pc_input_buffers_full_var, 0)) + + + .def("pc_input_buffers_full_var", + (std::vector<float, std::allocator<float>>(block_detail::*)()) & + block_detail::pc_input_buffers_full_var, + D(block_detail, pc_input_buffers_full_var, 1)) + + + .def("pc_output_buffers_full_var", + (float (block_detail::*)(size_t)) & block_detail::pc_output_buffers_full_var, + py::arg("which"), + D(block_detail, pc_output_buffers_full_var, 0)) + + + .def("pc_output_buffers_full_var", + (std::vector<float, std::allocator<float>>(block_detail::*)()) & + block_detail::pc_output_buffers_full_var, + D(block_detail, pc_output_buffers_full_var, 1)) + + + .def("pc_work_time_var", + &block_detail::pc_work_time_var, + D(block_detail, pc_work_time_var)) + + + .def("pc_work_time_total", + &block_detail::pc_work_time_total, + D(block_detail, pc_work_time_total)) + + + .def("consumed", &block_detail::consumed, D(block_detail, consumed)) + + ; + + + m.def("make_block_detail", + &::gr::make_block_detail, + py::arg("ninputs"), + py::arg("noutputs"), + D(make_block_detail)); + + + m.def("block_detail_ncurrently_allocated", + &::gr::block_detail_ncurrently_allocated, + D(block_detail_ncurrently_allocated)); + + + py::module m_thread = m.def_submodule("thread"); + + + py::module m_messages = m.def_submodule("messages"); +} |