diff options
| author | Aaron Rossetto <aaron.rossetto@ni.com> | 2020-06-04 16:24:01 -0500 | 
|---|---|---|
| committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2020-06-18 07:48:25 -0500 | 
| commit | 19f19c77a91dcba6c1bf0f99e73ae9ffca1d75a4 (patch) | |
| tree | add0fe189b23ec9638f284205df562992cf2c41d /host/lib/rfnoc | |
| parent | cb40ecf2f5d1a0c3381b29f425fdf30f89c8ec29 (diff) | |
| download | uhd-19f19c77a91dcba6c1bf0f99e73ae9ffca1d75a4.tar.gz uhd-19f19c77a91dcba6c1bf0f99e73ae9ffca1d75a4.tar.bz2 uhd-19f19c77a91dcba6c1bf0f99e73ae9ffca1d75a4.zip  | |
python: Add FFT RFNoC block controller bindings
Diffstat (limited to 'host/lib/rfnoc')
| -rw-r--r-- | host/lib/rfnoc/fft_block_control_python.hpp | 46 | 
1 files changed, 46 insertions, 0 deletions
diff --git a/host/lib/rfnoc/fft_block_control_python.hpp b/host/lib/rfnoc/fft_block_control_python.hpp new file mode 100644 index 000000000..1c97105ce --- /dev/null +++ b/host/lib/rfnoc/fft_block_control_python.hpp @@ -0,0 +1,46 @@ +// +// 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/fft_block_control.hpp> + +using namespace uhd::rfnoc; + +void export_fft_block_control(py::module& m) +{ +    py::enum_<fft_shift>(m, "fft_shift") +        .value("NORMAL", fft_shift::NORMAL) +        .value("REVERSE", fft_shift::REVERSE) +        .value("NATURAL", fft_shift::NATURAL) +        .export_values(); + +    py::enum_<fft_direction>(m, "fft_direction") +        .value("REVERSE", fft_direction::REVERSE) +        .value("FORWARD", fft_direction::FORWARD) +        .export_values(); + +    py::enum_<fft_magnitude>(m, "fft_magnitude") +        .value("COMPLEX", fft_magnitude::COMPLEX) +        .value("MAGNITUDE", fft_magnitude::MAGNITUDE) +        .value("MAGNITUDE_SQUARED", fft_magnitude::MAGNITUDE_SQUARED) +        .export_values(); + +    py::class_<fft_block_control, noc_block_base, fft_block_control::sptr>( +        m, "fft_block_control") +        .def(py::init(&block_controller_factory<fft_block_control>::make_from)) +        .def("set_direction", &fft_block_control::set_direction) +        .def("get_direction", &fft_block_control::get_direction) +        .def("set_magnitude", &fft_block_control::set_magnitude) +        .def("get_magnitude", &fft_block_control::get_magnitude) +        .def("set_shift_config", &fft_block_control::set_shift_config) +        .def("get_shift_config", &fft_block_control::get_shift_config) +        .def("set_scaling", &fft_block_control::set_scaling) +        .def("get_scaling", &fft_block_control::get_scaling) +        .def("set_length", &fft_block_control::set_length) +        .def("get_length", &fft_block_control::get_length); +}  | 
