From 378287b381edfd15dcb97bb2632ff5fb91933f6b Mon Sep 17 00:00:00 2001 From: Aaron Rossetto Date: Mon, 1 Jun 2020 15:26:33 -0500 Subject: python: Add vector IIR RFNoC block controller bindings --- host/lib/rfnoc/radio_control_python.hpp | 2 +- host/lib/rfnoc/vector_iir_block_control_python.hpp | 26 ++++++++++++++++++++++ host/python/pyuhd.cpp | 2 ++ host/python/uhd/rfnoc.py | 1 + 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 host/lib/rfnoc/vector_iir_block_control_python.hpp 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 #include "block_controller_factory_python.hpp" +#include 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 + +using namespace uhd::rfnoc; + +void export_vector_iir_block_control(py::module& m) +{ + py::class_( + m, "vector_iir_block_control") + .def(py::init(&block_controller_factory::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 -- cgit v1.2.3