aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Rossetto <aaron.rossetto@ni.com>2020-06-01 15:26:33 -0500
committerAaron Rossetto <aaron.rossetto@ni.com>2020-06-09 07:12:15 -0500
commit378287b381edfd15dcb97bb2632ff5fb91933f6b (patch)
treec5f6fbeca911aa98f48a030b4dfe8cfab09e0cda
parent18460e34787772d606846c3b09190b80ae1e621d (diff)
downloaduhd-378287b381edfd15dcb97bb2632ff5fb91933f6b.tar.gz
uhd-378287b381edfd15dcb97bb2632ff5fb91933f6b.tar.bz2
uhd-378287b381edfd15dcb97bb2632ff5fb91933f6b.zip
python: Add vector IIR RFNoC block controller bindings
-rw-r--r--host/lib/rfnoc/radio_control_python.hpp2
-rw-r--r--host/lib/rfnoc/vector_iir_block_control_python.hpp26
-rw-r--r--host/python/pyuhd.cpp2
-rw-r--r--host/python/uhd/rfnoc.py1
4 files changed, 30 insertions, 1 deletions
diff --git a/host/lib/rfnoc/radio_control_python.hpp b/host/lib/rfnoc/radio_control_python.hpp
index f16f0b6e9..21dfcb744 100644
--- a/host/lib/rfnoc/radio_control_python.hpp
+++ b/host/lib/rfnoc/radio_control_python.hpp
@@ -6,8 +6,8 @@
#pragma once
-#include <uhd/rfnoc/radio_control.hpp>
#include "block_controller_factory_python.hpp"
+#include <uhd/rfnoc/radio_control.hpp>
using namespace uhd::rfnoc;
diff --git a/host/lib/rfnoc/vector_iir_block_control_python.hpp b/host/lib/rfnoc/vector_iir_block_control_python.hpp
new file mode 100644
index 000000000..1042fb861
--- /dev/null
+++ b/host/lib/rfnoc/vector_iir_block_control_python.hpp
@@ -0,0 +1,26 @@
+//
+// 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/vector_iir_block_control.hpp>
+
+using namespace uhd::rfnoc;
+
+void export_vector_iir_block_control(py::module& m)
+{
+ py::class_<vector_iir_block_control, noc_block_base, vector_iir_block_control::sptr>(
+ m, "vector_iir_block_control")
+ .def(py::init(&block_controller_factory<vector_iir_block_control>::make_from))
+ .def("set_alpha", &vector_iir_block_control::set_alpha)
+ .def("get_alpha", &vector_iir_block_control::get_alpha)
+ .def("set_beta", &vector_iir_block_control::set_beta)
+ .def("get_beta", &vector_iir_block_control::get_beta)
+ .def("set_delay", &vector_iir_block_control::set_delay)
+ .def("get_delay", &vector_iir_block_control::get_delay)
+ .def("get_max_delay", &vector_iir_block_control::get_max_delay);
+}
diff --git a/host/python/pyuhd.cpp b/host/python/pyuhd.cpp
index 45752d6d1..9ead86896 100644
--- a/host/python/pyuhd.cpp
+++ b/host/python/pyuhd.cpp
@@ -20,6 +20,7 @@ namespace py = pybind11;
#include "rfnoc/fosphor_block_control_python.hpp"
#include "rfnoc/radio_control_python.hpp"
#include "rfnoc/rfnoc_python.hpp"
+#include "rfnoc/vector_iir_block_control_python.hpp"
#include "stream_python.hpp"
#include "types/filters_python.hpp"
#include "types/metadata_python.hpp"
@@ -84,6 +85,7 @@ PYBIND11_MODULE(libpyuhd, m)
export_fosphor_block_control(rfnoc_module);
export_fir_filter_block_control(rfnoc_module);
export_radio_control(rfnoc_module);
+ export_vector_iir_block_control(rfnoc_module);
// Register calibration submodule
auto cal_module = m.def_submodule("cal", "Calibration Objects");
diff --git a/host/python/uhd/rfnoc.py b/host/python/uhd/rfnoc.py
index 0bbf2c998..677b3c893 100644
--- a/host/python/uhd/rfnoc.py
+++ b/host/python/uhd/rfnoc.py
@@ -23,4 +23,5 @@ DucBlockControl = lib.rfnoc.duc_block_control
FosphorBlockControl = lib.rfnoc.fosphor_block_control
FirFilterBlockControl = lib.rfnoc.fir_filter_block_control
RadioControl = lib.rfnoc.radio_control
+VectorIirBlockControl = lib.rfnoc.vector_iir_block_control