From c58bc8f7b2e4a2fe3f1bb337faf6616111082514 Mon Sep 17 00:00:00 2001 From: Josh Morman Date: Mon, 10 May 2021 15:05:02 -0400 Subject: iio: reduce cotr and set_params for pluto_sink Signed-off-by: Josh Morman --- gr-iio/lib/fmcomms2_sink_impl.h | 52 ++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 27 deletions(-) (limited to 'gr-iio/lib/fmcomms2_sink_impl.h') diff --git a/gr-iio/lib/fmcomms2_sink_impl.h b/gr-iio/lib/fmcomms2_sink_impl.h index 6859a50000..cd80f6bb0b 100644 --- a/gr-iio/lib/fmcomms2_sink_impl.h +++ b/gr-iio/lib/fmcomms2_sink_impl.h @@ -31,28 +31,14 @@ private: std::vector get_channels_vector(bool ch1_en, bool ch2_en, bool ch3_en, bool ch4_en); - + std::vector get_channels_vector(const std::vector& ch_en); void check_underflow(void); public: fmcomms2_sink_impl(struct iio_context* ctx, - bool destroy_ctx, - unsigned long long frequency, - unsigned long samplerate, - unsigned long bandwidth, - bool ch1_en, - bool ch2_en, - bool ch3_en, - bool ch4_en, + const std::vector& ch_en, unsigned long buffer_size, - bool cyclic, - const char* rf_port_select, - double attenuation1, - double attenuation2, - const char* filter_source, - const char* filter_filename, - float Fpass, - float Fstop); + bool cyclic); ~fmcomms2_sink_impl(); @@ -60,16 +46,28 @@ public: gr_vector_const_void_star& input_items, gr_vector_void_star& output_items); - void set_params(unsigned long long frequency, - unsigned long samplerate, - unsigned long bandwidth, - const char* rf_port_select, - double attenuation1, - double attenuation2, - const char* filter_source, - const char* filter_filename, - float Fpass, - float Fstop); + void update_dependent_params(); + virtual void set_bandwidth(unsigned long bandwidth); + virtual void set_rf_port_select(const std::string& rf_port_select); + virtual void set_frequency(unsigned long long frequency); + virtual void set_samplerate(unsigned long samplerate); + virtual void set_attenuation(size_t chan, double gain); + virtual void set_filter_params(const std::string& filter_source, + const std::string& filter_filename = "", + float fpass = 0.0, + float fstop = 0.0); + +protected: + unsigned long long d_frequency = 2400000000; + unsigned long d_samplerate = 1000000; + unsigned long d_bandwidth = 20000000; + + std::vector d_attenuation = { 50.0, 50.0, 50.0, 50.0 }; + std::string d_rf_port_select = "A"; + std::string d_filter_source = "Auto"; + std::string d_filter_filename = ""; + float d_fpass = (float)d_samplerate / 4.0; + float d_fstop = (float)d_samplerate / 3.0; }; } // namespace iio -- cgit v1.2.3-59-g8ed1b