aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
diff options
context:
space:
mode:
authorAaron Rossetto <aaron.rossetto@ni.com>2020-06-01 14:48:02 -0500
committerAaron Rossetto <aaron.rossetto@ni.com>2020-06-09 07:09:34 -0500
commit463dbf9ac3bca7b69331a4315404a6e6e6d29674 (patch)
treece90dccb145ee5609669b5ac5589cbf5078a44d0 /host/lib
parent04b8cca22b61c24ca0451b7655b46b85c9a7f310 (diff)
downloaduhd-463dbf9ac3bca7b69331a4315404a6e6e6d29674.tar.gz
uhd-463dbf9ac3bca7b69331a4315404a6e6e6d29674.tar.bz2
uhd-463dbf9ac3bca7b69331a4315404a6e6e6d29674.zip
python: Add DDC RFNoC block controller bindings
Diffstat (limited to 'host/lib')
-rw-r--r--host/lib/rfnoc/ddc_block_control_python.hpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/host/lib/rfnoc/ddc_block_control_python.hpp b/host/lib/rfnoc/ddc_block_control_python.hpp
new file mode 100644
index 000000000..75a44e1ea
--- /dev/null
+++ b/host/lib/rfnoc/ddc_block_control_python.hpp
@@ -0,0 +1,32 @@
+//
+// Copyright 2020 Ettus Research, a National Instruments Brand
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+
+#pragma once
+
+#include "block_controller_factory_python.hpp"
+#include <uhd/rfnoc/ddc_block_control.hpp>
+
+using namespace uhd::rfnoc;
+
+void export_ddc_block_control(py::module& m)
+{
+ py::class_<ddc_block_control, noc_block_base, ddc_block_control::sptr>(
+ m, "ddc_block_control")
+ .def(py::init(&block_controller_factory<ddc_block_control>::make_from))
+ .def("set_freq",
+ &ddc_block_control::set_freq,
+ py::arg("freq"),
+ py::arg("chan"),
+ py::arg("time") = boost::optional<uhd::time_spec_t>())
+ .def("get_freq", &ddc_block_control::get_freq)
+ .def("get_frequency_range", &ddc_block_control::get_frequency_range)
+ .def("get_input_rate", &ddc_block_control::get_input_rate)
+ .def("set_input_rate", &ddc_block_control::set_input_rate)
+ .def("get_output_rate", &ddc_block_control::get_output_rate)
+ .def("get_output_rates", &ddc_block_control::get_output_rates)
+ .def("set_output_rate", &ddc_block_control::set_output_rate)
+ .def("issue_stream_cmd", &ddc_block_control::issue_stream_cmd);
+}