From 9f49495b36004af83372a31bb658f32fbb334599 Mon Sep 17 00:00:00 2001
From: Josh Morman <mormjb@gmail.com>
Date: Thu, 23 Apr 2020 10:59:04 -0400
Subject: uhd: add pybind11 bindings

---
 gr-uhd/python/uhd/bindings/usrp_block_python.cc | 441 ++++++++++++++++++++++++
 1 file changed, 441 insertions(+)
 create mode 100644 gr-uhd/python/uhd/bindings/usrp_block_python.cc

(limited to 'gr-uhd/python/uhd/bindings/usrp_block_python.cc')

diff --git a/gr-uhd/python/uhd/bindings/usrp_block_python.cc b/gr-uhd/python/uhd/bindings/usrp_block_python.cc
new file mode 100644
index 0000000000..7d25ce1a34
--- /dev/null
+++ b/gr-uhd/python/uhd/bindings/usrp_block_python.cc
@@ -0,0 +1,441 @@
+/*
+ * 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/uhd/usrp_block.h>
+// pydoc.h is automatically generated in the build directory
+#include <usrp_block_pydoc.h>
+
+void bind_usrp_block(py::module& m)
+{
+
+    using usrp_block = ::gr::uhd::usrp_block;
+
+
+    py::class_<usrp_block,
+               gr::sync_block,
+               gr::block,
+               gr::basic_block,
+               std::shared_ptr<usrp_block>>(m, "usrp_block", D(usrp_block))
+
+
+        .def("set_subdev_spec",
+             &usrp_block::set_subdev_spec,
+             py::arg("spec"),
+             py::arg("mboard") = 0,
+             D(usrp_block, set_subdev_spec))
+
+
+        .def("get_subdev_spec",
+             &usrp_block::get_subdev_spec,
+             py::arg("mboard") = 0,
+             D(usrp_block, get_subdev_spec))
+
+
+        .def("get_num_mboards",
+             &usrp_block::get_num_mboards,
+             D(usrp_block, get_num_mboards))
+
+
+        .def("set_samp_rate",
+             &usrp_block::set_samp_rate,
+             py::arg("rate"),
+             D(usrp_block, set_samp_rate))
+
+
+        .def("get_samp_rate", &usrp_block::get_samp_rate, D(usrp_block, get_samp_rate))
+
+
+        .def("get_samp_rates", &usrp_block::get_samp_rates, D(usrp_block, get_samp_rates))
+
+
+        .def("set_center_freq",
+             (uhd::tune_result_t(usrp_block::*)(uhd::tune_request_t const, size_t)) &
+                 usrp_block::set_center_freq,
+             py::arg("tune_request"),
+             py::arg("chan") = 0,
+             D(usrp_block, set_center_freq, 0))
+
+
+        .def("set_center_freq",
+             (uhd::tune_result_t(usrp_block::*)(double, size_t)) &
+                 usrp_block::set_center_freq,
+             py::arg("freq"),
+             py::arg("chan") = 0,
+             D(usrp_block, set_center_freq, 1))
+
+
+        .def("get_center_freq",
+             &usrp_block::get_center_freq,
+             py::arg("chan") = 0,
+             D(usrp_block, get_center_freq))
+
+
+        .def("get_freq_range",
+             &usrp_block::get_freq_range,
+             py::arg("chan") = 0,
+             D(usrp_block, get_freq_range))
+
+
+        .def("set_gain",
+             (void (usrp_block::*)(double, size_t)) & usrp_block::set_gain,
+             py::arg("gain"),
+             py::arg("chan") = 0,
+             D(usrp_block, set_gain, 0))
+
+
+        .def("set_gain",
+             (void (usrp_block::*)(double, std::string const&, size_t)) &
+                 usrp_block::set_gain,
+             py::arg("gain"),
+             py::arg("name"),
+             py::arg("chan") = 0,
+             D(usrp_block, set_gain, 1))
+
+
+        .def("set_normalized_gain",
+             &usrp_block::set_normalized_gain,
+             py::arg("norm_gain"),
+             py::arg("chan") = 0,
+             D(usrp_block, set_normalized_gain))
+
+
+        .def("get_gain",
+             (double (usrp_block::*)(size_t)) & usrp_block::get_gain,
+             py::arg("chan") = 0,
+             D(usrp_block, get_gain, 0))
+
+
+        .def("get_gain",
+             (double (usrp_block::*)(std::string const&, size_t)) & usrp_block::get_gain,
+             py::arg("name"),
+             py::arg("chan") = 0,
+             D(usrp_block, get_gain, 1))
+
+
+        .def("get_normalized_gain",
+             &usrp_block::get_normalized_gain,
+             py::arg("chan") = 0,
+             D(usrp_block, get_normalized_gain))
+
+
+        .def("get_gain_names",
+             &usrp_block::get_gain_names,
+             py::arg("chan") = 0,
+             D(usrp_block, get_gain_names))
+
+
+        .def("get_gain_range",
+             (uhd::gain_range_t(usrp_block::*)(size_t)) & usrp_block::get_gain_range,
+             py::arg("chan") = 0,
+             D(usrp_block, get_gain_range, 0))
+
+
+        .def("get_gain_range",
+             (uhd::gain_range_t(usrp_block::*)(std::string const&, size_t)) &
+                 usrp_block::get_gain_range,
+             py::arg("name"),
+             py::arg("chan") = 0,
+             D(usrp_block, get_gain_range, 1))
+
+
+        .def("set_antenna",
+             &usrp_block::set_antenna,
+             py::arg("ant"),
+             py::arg("chan") = 0,
+             D(usrp_block, set_antenna))
+
+
+        .def("get_antenna",
+             &usrp_block::get_antenna,
+             py::arg("chan") = 0,
+             D(usrp_block, get_antenna))
+
+
+        .def("get_antennas",
+             &usrp_block::get_antennas,
+             py::arg("chan") = 0,
+             D(usrp_block, get_antennas))
+
+
+        .def("set_bandwidth",
+             &usrp_block::set_bandwidth,
+             py::arg("bandwidth"),
+             py::arg("chan") = 0,
+             D(usrp_block, set_bandwidth))
+
+
+        .def("get_bandwidth",
+             &usrp_block::get_bandwidth,
+             py::arg("chan") = 0,
+             D(usrp_block, get_bandwidth))
+
+
+        .def("get_bandwidth_range",
+             &usrp_block::get_bandwidth_range,
+             py::arg("chan") = 0,
+             D(usrp_block, get_bandwidth_range))
+
+
+        .def("get_sensor",
+             &usrp_block::get_sensor,
+             py::arg("name"),
+             py::arg("chan") = 0,
+             D(usrp_block, get_sensor))
+
+
+        .def("get_sensor_names",
+             &usrp_block::get_sensor_names,
+             py::arg("chan") = 0,
+             D(usrp_block, get_sensor_names))
+
+
+        .def("get_dboard_sensor",
+             &usrp_block::get_dboard_sensor,
+             py::arg("name"),
+             py::arg("chan") = 0,
+             D(usrp_block, get_dboard_sensor))
+
+
+        .def("get_dboard_sensor_names",
+             &usrp_block::get_dboard_sensor_names,
+             py::arg("chan") = 0,
+             D(usrp_block, get_dboard_sensor_names))
+
+
+        .def("get_mboard_sensor",
+             &usrp_block::get_mboard_sensor,
+             py::arg("name"),
+             py::arg("mboard") = 0,
+             D(usrp_block, get_mboard_sensor))
+
+
+        .def("get_mboard_sensor_names",
+             &usrp_block::get_mboard_sensor_names,
+             py::arg("mboard") = 0,
+             D(usrp_block, get_mboard_sensor_names))
+
+
+        .def("get_time_source",
+             &usrp_block::get_time_source,
+             py::arg("mboard"),
+             D(usrp_block, get_time_source))
+
+
+        .def("get_time_sources",
+             &usrp_block::get_time_sources,
+             py::arg("mboard"),
+             D(usrp_block, get_time_sources))
+
+
+        .def("set_clock_source",
+             &usrp_block::set_clock_source,
+             py::arg("source"),
+             py::arg("mboard") = 0,
+             D(usrp_block, set_clock_source))
+
+
+        .def("get_clock_source",
+             &usrp_block::get_clock_source,
+             py::arg("mboard"),
+             D(usrp_block, get_clock_source))
+
+
+        .def("get_clock_sources",
+             &usrp_block::get_clock_sources,
+             py::arg("mboard"),
+             D(usrp_block, get_clock_sources))
+
+
+        .def("get_clock_rate",
+             &usrp_block::get_clock_rate,
+             py::arg("mboard") = 0,
+             D(usrp_block, get_clock_rate))
+
+
+        .def("set_clock_rate",
+             &usrp_block::set_clock_rate,
+             py::arg("rate"),
+             py::arg("mboard") = 0,
+             D(usrp_block, set_clock_rate))
+
+
+        .def("get_time_now",
+             &usrp_block::get_time_now,
+             py::arg("mboard") = 0,
+             D(usrp_block, get_time_now))
+
+
+        .def("get_time_last_pps",
+             &usrp_block::get_time_last_pps,
+             py::arg("mboard") = 0,
+             D(usrp_block, get_time_last_pps))
+
+
+        .def("set_time_now",
+             &usrp_block::set_time_now,
+             py::arg("time_spec"),
+             py::arg("mboard") = 0,
+             D(usrp_block, set_time_now))
+
+
+        .def("set_time_next_pps",
+             &usrp_block::set_time_next_pps,
+             py::arg("time_spec"),
+             D(usrp_block, set_time_next_pps))
+
+
+        .def("set_time_unknown_pps",
+             &usrp_block::set_time_unknown_pps,
+             py::arg("time_spec"),
+             D(usrp_block, set_time_unknown_pps))
+
+
+        .def("set_command_time",
+             &usrp_block::set_command_time,
+             py::arg("time_spec"),
+             py::arg("mboard") = 0,
+             D(usrp_block, set_command_time))
+
+
+        .def("clear_command_time",
+             &usrp_block::clear_command_time,
+             py::arg("mboard") = 0,
+             D(usrp_block, clear_command_time))
+
+
+        .def("get_dboard_iface",
+             &usrp_block::get_dboard_iface,
+             py::arg("chan") = 0,
+             D(usrp_block, get_dboard_iface))
+
+
+        .def("get_device", &usrp_block::get_device, D(usrp_block, get_device))
+
+
+        .def("set_user_register",
+             &usrp_block::set_user_register,
+             py::arg("addr"),
+             py::arg("data"),
+             py::arg("mboard") = 0,
+             D(usrp_block, set_user_register))
+
+
+        .def("set_time_source",
+             &usrp_block::set_time_source,
+             py::arg("source"),
+             py::arg("mboard") = 0,
+             D(usrp_block, set_time_source))
+
+
+        .def("set_stream_args",
+             &usrp_block::set_stream_args,
+             py::arg("stream_args"),
+             D(usrp_block, set_stream_args))
+
+
+        .def("get_gpio_banks",
+             &usrp_block::get_gpio_banks,
+             py::arg("mboard"),
+             D(usrp_block, get_gpio_banks))
+
+
+        .def("set_gpio_attr",
+             &usrp_block::set_gpio_attr,
+             py::arg("bank"),
+             py::arg("attr"),
+             py::arg("value"),
+             py::arg("mask") = 4294967295U,
+             py::arg("mboard") = 0,
+             D(usrp_block, set_gpio_attr))
+
+
+        .def("get_gpio_attr",
+             &usrp_block::get_gpio_attr,
+             py::arg("bank"),
+             py::arg("attr"),
+             py::arg("mboard") = 0,
+             D(usrp_block, get_gpio_attr))
+
+
+        .def("get_filter_names",
+             &usrp_block::get_filter_names,
+             py::arg("search_mask") = "",
+             D(usrp_block, get_filter_names))
+
+
+        .def("set_filter",
+             &usrp_block::set_filter,
+             py::arg("path"),
+             py::arg("filter"),
+             D(usrp_block, set_filter))
+
+
+        .def("get_filter",
+             &usrp_block::get_filter,
+             py::arg("path"),
+             D(usrp_block, get_filter))
+
+        ;
+
+
+    m.def("cmd_chan_key", &::gr::uhd::cmd_chan_key, D(cmd_chan_key));
+
+
+    m.def("cmd_gain_key", &::gr::uhd::cmd_gain_key, D(cmd_gain_key));
+
+
+    m.def("cmd_freq_key", &::gr::uhd::cmd_freq_key, D(cmd_freq_key));
+
+
+    m.def("cmd_lo_offset_key", &::gr::uhd::cmd_lo_offset_key, D(cmd_lo_offset_key));
+
+
+    m.def("cmd_tune_key", &::gr::uhd::cmd_tune_key, D(cmd_tune_key));
+
+
+    m.def("cmd_lo_freq_key", &::gr::uhd::cmd_lo_freq_key, D(cmd_lo_freq_key));
+
+
+    m.def("cmd_dsp_freq_key", &::gr::uhd::cmd_dsp_freq_key, D(cmd_dsp_freq_key));
+
+
+    m.def("cmd_rate_key", &::gr::uhd::cmd_rate_key, D(cmd_rate_key));
+
+
+    m.def("cmd_bandwidth_key", &::gr::uhd::cmd_bandwidth_key, D(cmd_bandwidth_key));
+
+
+    m.def("cmd_time_key", &::gr::uhd::cmd_time_key, D(cmd_time_key));
+
+
+    m.def("cmd_mboard_key", &::gr::uhd::cmd_mboard_key, D(cmd_mboard_key));
+
+
+    m.def("cmd_antenna_key", &::gr::uhd::cmd_antenna_key, D(cmd_antenna_key));
+
+
+    m.def("cmd_direction_key", &::gr::uhd::cmd_direction_key, D(cmd_direction_key));
+
+
+    m.def("cmd_tag_key", &::gr::uhd::cmd_tag_key, D(cmd_tag_key));
+
+
+    m.def("ant_direction_rx", &::gr::uhd::ant_direction_rx, D(ant_direction_rx));
+
+
+    m.def("ant_direction_tx", &::gr::uhd::ant_direction_tx, D(ant_direction_tx));
+}
-- 
cgit v1.2.3