1 //
2 // Copyright 2020 Ettus Research, a National Instruments Brand
3 //
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 //
6 
7 #pragma once
8 
9 #include "block_controller_factory_python.hpp"
10 #include <uhd/rfnoc/ddc_block_control.hpp>
11 
12 using namespace uhd::rfnoc;
13 
export_ddc_block_control(py::module & m)14 void export_ddc_block_control(py::module& m)
15 {
16     py::class_<ddc_block_control, noc_block_base, ddc_block_control::sptr>(
17         m, "ddc_block_control")
18         .def(py::init(&block_controller_factory<ddc_block_control>::make_from))
19         .def("set_freq",
20             &ddc_block_control::set_freq,
21             py::arg("freq"),
22             py::arg("chan"),
23             py::arg("time") = boost::optional<uhd::time_spec_t>())
24         .def("get_freq", &ddc_block_control::get_freq)
25         .def("get_frequency_range", &ddc_block_control::get_frequency_range)
26         .def("get_input_rate", &ddc_block_control::get_input_rate)
27         .def("set_input_rate", &ddc_block_control::set_input_rate)
28         .def("get_output_rate", &ddc_block_control::get_output_rate)
29         .def("get_output_rates", &ddc_block_control::get_output_rates)
30         .def("set_output_rate", &ddc_block_control::set_output_rate)
31         .def("issue_stream_cmd", &ddc_block_control::issue_stream_cmd);
32 }
33