aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gr-iio/grc/iio_pluto_source.block.yml18
-rw-r--r--gr-iio/include/gnuradio/iio/fmcomms2_source.h35
-rw-r--r--gr-iio/include/gnuradio/iio/pluto_source.h12
-rw-r--r--gr-iio/lib/fmcomms2_source_impl.cc41
-rw-r--r--gr-iio/lib/fmcomms2_source_impl.h12
-rw-r--r--gr-iio/lib/pluto_source_impl.cc27
-rw-r--r--gr-iio/lib/pluto_source_impl.h13
-rw-r--r--gr-iio/python/iio/bindings/pluto_source_python.cc17
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)
;
}