diff options
-rw-r--r-- | gr-iio/grc/iio_pluto_source.block.yml | 18 | ||||
-rw-r--r-- | gr-iio/include/gnuradio/iio/fmcomms2_source.h | 35 | ||||
-rw-r--r-- | gr-iio/include/gnuradio/iio/pluto_source.h | 12 | ||||
-rw-r--r-- | gr-iio/lib/fmcomms2_source_impl.cc | 41 | ||||
-rw-r--r-- | gr-iio/lib/fmcomms2_source_impl.h | 12 | ||||
-rw-r--r-- | gr-iio/lib/pluto_source_impl.cc | 27 | ||||
-rw-r--r-- | gr-iio/lib/pluto_source_impl.h | 13 | ||||
-rw-r--r-- | gr-iio/python/iio/bindings/pluto_source_python.cc | 17 |
8 files changed, 112 insertions, 63 deletions
diff --git a/gr-iio/grc/iio_pluto_source.block.yml b/gr-iio/grc/iio_pluto_source.block.yml index bfc63f416..85b60b21c 100644 --- a/gr-iio/grc/iio_pluto_source.block.yml +++ b/gr-iio/grc/iio_pluto_source.block.yml @@ -118,10 +118,11 @@ templates: self.${id}.set_quadrature(${quadrature}) self.${id}.set_rfdc(${rfdc}) self.${id}.set_bbdc(${bbdc}) - self.${id}.set_filter_source(${filter_source}) - self.${id}.set_filter_filename(${filter}) - self.${id}.set_fpass(${fpass}) - self.${id}.set_fstop(${fstop}) + self.${id}.set_filter_params(${filter_source}, ${filter}, ${fpass}, ${fstop}) + # self.${id}.set_filter_source(${filter_source}) + # self.${id}.set_filter_filename(${filter}) + # self.${id}.set_fpass(${fpass}) + # self.${id}.set_fstop(${fstop}) callbacks: - set_frequency(${frequency}) - set_samplerate(${samplerate}) @@ -130,9 +131,10 @@ templates: - set_quadrature(${quadrature}) - set_rfdc(${rfdc}) - set_bbdc(${bbdc}) - - set_filter_source(${filter_source}) - - set_filter_filename(${filter}) - - set_fpass(${fpass}) - - set_fstop(${fstop}) + - set_filter_params(${filter_source}, ${filter}, ${fpass}, ${fstop}) + # - set_filter_source(${filter_source}) + # - set_filter_filename(${filter}) + # - set_fpass(${fpass}) + # - set_fstop(${fstop}) file_format: 1 diff --git a/gr-iio/include/gnuradio/iio/fmcomms2_source.h b/gr-iio/include/gnuradio/iio/fmcomms2_source.h index d2e47962f..a9c4a04d7 100644 --- a/gr-iio/include/gnuradio/iio/fmcomms2_source.h +++ b/gr-iio/include/gnuradio/iio/fmcomms2_source.h @@ -45,10 +45,14 @@ public: virtual void set_quadrature(bool quadrature) = 0; virtual void set_rfdc(bool rfdc) = 0; virtual void set_bbdc(bool bbdc) = 0; - virtual void set_filter_source(const std::string& filter_source) = 0; - virtual void set_filter_filename(const std::string& filter_filename) = 0; - virtual void set_fpass(float fpass) = 0; - virtual void set_fstop(float fstop) = 0; + // virtual void set_filter_source(const std::string& filter_source) = 0; + // virtual void set_filter_filename(const std::string& filter_filename) = 0; + // virtual void set_fpass(float fpass) = 0; + // virtual void set_fstop(float fstop) = 0; + virtual void set_filter_params(const std::string& filter_source, + const std::string& filter_filename = "", + float fpass = 0.0, + float fstop = 0.0) = 0; }; /*! @@ -97,16 +101,23 @@ public: } virtual void set_rfdc(bool rfdc) { fmcomms2_block->set_rfdc(rfdc); } virtual void set_bbdc(bool bbdc) { fmcomms2_block->set_bbdc(bbdc); } - virtual void set_filter_source(const std::string& filter_source) + // virtual void set_filter_source(const std::string& filter_source) + // { + // fmcomms2_block->set_filter_source(filter_source); + // } + // virtual void set_filter_filename(const std::string& filter_filename) + // { + // fmcomms2_block->set_filter_filename(filter_filename); + // } + // virtual void set_fpass(float fpass) { fmcomms2_block->set_fpass(fpass); } + // virtual void set_fstop(float fstop) { fmcomms2_block->set_fstop(fstop); } + virtual void set_filter_params(const std::string& filter_source, + const std::string& filter_filename = "", + float fpass = 0.0, + float fstop = 0.0) { - fmcomms2_block->set_filter_source(filter_source); + fmcomms2_block->set_filter_params(filter_source, filter_filename, fpass, fstop); } - virtual void set_filter_filename(const std::string& filter_filename) - { - fmcomms2_block->set_filter_filename(filter_filename); - } - virtual void set_fpass(float fpass) { fmcomms2_block->set_fpass(fpass); } - virtual void set_fstop(float fstop) { fmcomms2_block->set_fstop(fstop); } private: fmcomms2_source::sptr fmcomms2_block; diff --git a/gr-iio/include/gnuradio/iio/pluto_source.h b/gr-iio/include/gnuradio/iio/pluto_source.h index 9065a8f47..bf099ffee 100644 --- a/gr-iio/include/gnuradio/iio/pluto_source.h +++ b/gr-iio/include/gnuradio/iio/pluto_source.h @@ -35,10 +35,14 @@ public: virtual void set_quadrature(bool quadrature) = 0; virtual void set_rfdc(bool rfdc) = 0; virtual void set_bbdc(bool bbdc) = 0; - virtual void set_filter_source(const std::string& filter_source) = 0; - virtual void set_filter_filename(const std::string& filter_filename) = 0; - virtual void set_fpass(float fpass) = 0; - virtual void set_fstop(float fstop) = 0; + // virtual void set_filter_source(const std::string& filter_source) = 0; + // virtual void set_filter_filename(const std::string& filter_filename) = 0; + // virtual void set_fpass(float fpass) = 0; + // virtual void set_fstop(float fstop) = 0; + virtual void set_filter_params(const std::string& filter_source, + const std::string& filter_filename = "", + float fpass = 0.0, + float fstop = 0.0) = 0; }; } // namespace iio } // namespace gr diff --git a/gr-iio/lib/fmcomms2_source_impl.cc b/gr-iio/lib/fmcomms2_source_impl.cc index 66f436284..99834a99c 100644 --- a/gr-iio/lib/fmcomms2_source_impl.cc +++ b/gr-iio/lib/fmcomms2_source_impl.cc @@ -276,24 +276,37 @@ void fmcomms2_source_impl::set_bbdc(bool bbdc) device_source_impl::set_params(params); d_bbdc = bbdc; } -void fmcomms2_source_impl::set_filter_source(const std::string& filt_config) -{ - d_filter_source = filt_config; - update_dependent_params(); -} -void fmcomms2_source_impl::set_filter_filename(const std::string& filter_filename) +// void fmcomms2_source_impl::set_filter_source(const std::string& filt_config) +// { +// d_filter_source = filt_config; +// update_dependent_params(); +// } +// void fmcomms2_source_impl::set_filter_filename(const std::string& filter_filename) +// { +// d_filter_filename = filter_filename; +// update_dependent_params(); +// } +// void fmcomms2_source_impl::set_fpass(float fpass) +// { +// d_fpass = fpass; +// update_dependent_params(); +// } +// void fmcomms2_source_impl::set_fstop(float fstop) +// { +// d_fstop = fstop; +// update_dependent_params(); +// } + +void fmcomms2_source_impl::set_filter_params(const std::string& filter_source, + const std::string& filter_filename, + float fpass, + float fstop) { + d_filter_source = filter_source; d_filter_filename = filter_filename; - update_dependent_params(); -} -void fmcomms2_source_impl::set_fpass(float fpass) -{ d_fpass = fpass; - update_dependent_params(); -} -void fmcomms2_source_impl::set_fstop(float fstop) -{ d_fstop = fstop; + update_dependent_params(); } diff --git a/gr-iio/lib/fmcomms2_source_impl.h b/gr-iio/lib/fmcomms2_source_impl.h index 268de77ec..ee3bef3b7 100644 --- a/gr-iio/lib/fmcomms2_source_impl.h +++ b/gr-iio/lib/fmcomms2_source_impl.h @@ -43,10 +43,14 @@ public: virtual void set_quadrature(bool quadrature); virtual void set_rfdc(bool rfdc); virtual void set_bbdc(bool bbdc); - virtual void set_filter_source(const std::string& filter_source); - virtual void set_filter_filename(const std::string& filter_filename); - virtual void set_fpass(float fpass); - virtual void set_fstop(float fstop); + // virtual void set_filter_source(const std::string& filter_source); + // virtual void set_filter_filename(const std::string& filter_filename); + // virtual void set_fpass(float fpass); + // virtual void set_fstop(float fstop); + virtual void set_filter_params(const std::string& filter_source, + const std::string& filter_filename, + float fpass, + float fstop); protected: void update_dependent_params(); diff --git a/gr-iio/lib/pluto_source_impl.cc b/gr-iio/lib/pluto_source_impl.cc index 61b6cfce0..0e1ebf05d 100644 --- a/gr-iio/lib/pluto_source_impl.cc +++ b/gr-iio/lib/pluto_source_impl.cc @@ -167,16 +167,25 @@ void pluto_source_impl::set_bbdc(bool bbdc) { fmcomms2_source_f32c::set_quadrature(bbdc); } -void pluto_source_impl::set_filter_source(const std::string& filter_source) -{ - fmcomms2_source_f32c::set_filter_source(filter_source); -} -void pluto_source_impl::set_filter_filename(const std::string& filter_filename) +// void pluto_source_impl::set_filter_source(const std::string& filter_source) +// { +// fmcomms2_source_f32c::set_filter_source(filter_source); +// } +// void pluto_source_impl::set_filter_filename(const std::string& filter_filename) +// { +// fmcomms2_source_f32c::set_filter_filename(filter_filename); +// } +// void pluto_source_impl::set_fpass(float fpass) { +// fmcomms2_source_f32c::set_fpass(fpass); } void pluto_source_impl::set_fstop(float +// fstop) { fmcomms2_source_f32c::set_fstop(fstop); } + +void pluto_source_impl::set_filter_params(const std::string& filter_source, + const std::string& filter_filename, + float fpass, + float fstop) { - fmcomms2_source_f32c::set_filter_filename(filter_filename); -} -void pluto_source_impl::set_fpass(float fpass) { fmcomms2_source_f32c::set_fpass(fpass); } -void pluto_source_impl::set_fstop(float fstop) { fmcomms2_source_f32c::set_fstop(fstop); } + fmcomms2_source_f32c::set_filter_params(filter_source, filter_filename, fpass, fstop); +}; } // namespace iio } // namespace gr diff --git a/gr-iio/lib/pluto_source_impl.h b/gr-iio/lib/pluto_source_impl.h index 1a1f21064..4ea91d45e 100644 --- a/gr-iio/lib/pluto_source_impl.h +++ b/gr-iio/lib/pluto_source_impl.h @@ -51,10 +51,15 @@ public: virtual void set_quadrature(bool quadrature); virtual void set_rfdc(bool rfdc); virtual void set_bbdc(bool bbdc); - virtual void set_filter_source(const std::string& filter_source); - virtual void set_filter_filename(const std::string& filter_filename); - virtual void set_fpass(float fpass); - virtual void set_fstop(float fstop); + + // virtual void set_filter_source(const std::string& filter_source); + // virtual void set_filter_filename(const std::string& filter_filename); + // virtual void set_fpass(float fpass); + // virtual void set_fstop(float fstop); + virtual void set_filter_params(const std::string& filter_source, + const std::string& filter_filename = "", + float fpass = 0.0, + float fstop = 0.0); }; } // namespace iio diff --git a/gr-iio/python/iio/bindings/pluto_source_python.cc b/gr-iio/python/iio/bindings/pluto_source_python.cc index 126ffd57d..61e9e18b7 100644 --- a/gr-iio/python/iio/bindings/pluto_source_python.cc +++ b/gr-iio/python/iio/bindings/pluto_source_python.cc @@ -51,14 +51,15 @@ void bind_pluto_source(py::module& m) .def("set_quadrature", &pluto_source::set_quadrature, py::arg("quadrature")) .def("set_rfdc", &pluto_source::set_rfdc, py::arg("rfdc")) .def("set_bbdc", &pluto_source::set_bbdc, py::arg("bbdc")) - .def("set_filter_source", - &pluto_source::set_filter_source, - py::arg("filter_source")) - .def("set_filter_filename", - &pluto_source::set_filter_filename, - py::arg("filter_filename")) - .def("set_fpass", &pluto_source::set_fpass, py::arg("fpass")) - .def("set_fstop", &pluto_source::set_fstop, py::arg("fstop")) + // .def("set_filter_source", + // &pluto_source::set_filter_source, + // py::arg("filter_source")) + // .def("set_filter_filename", + // &pluto_source::set_filter_filename, + // py::arg("filter_filename")) + // .def("set_fpass", &pluto_source::set_fpass, py::arg("fpass")) + // .def("set_fstop", &pluto_source::set_fstop, py::arg("fstop")) + .def("set_filter_params", &pluto_source::set_filter_params) ; } |