diff options
Diffstat (limited to 'gr-iio/python/iio/bindings/fmcomms2_source_python.cc')
-rw-r--r-- | gr-iio/python/iio/bindings/fmcomms2_source_python.cc | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/gr-iio/python/iio/bindings/fmcomms2_source_python.cc b/gr-iio/python/iio/bindings/fmcomms2_source_python.cc index 636c4127d9..a69a1424e1 100644 --- a/gr-iio/python/iio/bindings/fmcomms2_source_python.cc +++ b/gr-iio/python/iio/bindings/fmcomms2_source_python.cc @@ -14,7 +14,7 @@ /* BINDTOOL_GEN_AUTOMATIC(0) */ /* BINDTOOL_USE_PYGCCXML(0) */ /* BINDTOOL_HEADER_FILE(fmcomms2_source.h) */ -/* BINDTOOL_HEADER_FILE_HASH(79999a9f1335aa4bc5043ddf033a0e38) */ +/* BINDTOOL_HEADER_FILE_HASH(c286f60f1afed36dfc335cf4ce1b949e) */ /***********************************************************************************/ #include <pybind11/complex.h> @@ -27,23 +27,46 @@ namespace py = pybind11; // pydoc.h is automatically generated in the build directory #include <fmcomms2_source_pydoc.h> -void bind_fmcomms2_source(py::module& m) +template <typename T> +void bind_fmcomms2_source_template(py::module& m, const char* classname) { - using fmcomms2_source = gr::iio::fmcomms2_source; + using fmcomms2_source = gr::iio::fmcomms2_source<T>; py::class_<fmcomms2_source, gr::sync_block, gr::block, gr::basic_block, - std::shared_ptr<fmcomms2_source>>(m, "fmcomms2_source", D(fmcomms2_source)) + std::shared_ptr<fmcomms2_source>>(m, classname, D(fmcomms2_source)) .def(py::init(&fmcomms2_source::make), py::arg("uri"), py::arg("ch_en"), py::arg("buffer_size"), D(fmcomms2_source, make)) + .def("set_frequency", &fmcomms2_source::set_frequency, py::arg("longfrequency")) + .def("set_samplerate", &fmcomms2_source::set_samplerate, py::arg("samplerate")) + .def("set_gain_mode", + &fmcomms2_source::set_gain_mode, + py::arg("chan"), + py::arg("mode")) + .def("set_gain", + &fmcomms2_source::set_gain, + py::arg("chan"), + py::arg("gain_value")) + .def("set_quadrature", &fmcomms2_source::set_quadrature, py::arg("quadrature")) + .def("set_rfdc", &fmcomms2_source::set_rfdc, py::arg("rfdc")) + .def("set_bbdc", &fmcomms2_source::set_bbdc, py::arg("bbdc")) + .def("set_filter_params", &fmcomms2_source::set_filter_params) + .def( + "set_len_tag_key", &fmcomms2_source::set_len_tag_key, py::arg("len_tag_key")); + ; +} - ; +void bind_fmcomms2_source(py::module& m) +{ + bind_fmcomms2_source_template<int16_t>(m, "fmcomms2_source_s"); + bind_fmcomms2_source_template<std::complex<int16_t>>(m, "fmcomms2_source_sc16"); + bind_fmcomms2_source_template<gr_complex>(m, "fmcomms2_source_fc32"); } |