diff options
author | Josh Morman <jmorman@perspectalabs.com> | 2021-05-10 15:05:02 -0400 |
---|---|---|
committer | mormj <34754695+mormj@users.noreply.github.com> | 2021-06-04 06:21:34 -0400 |
commit | c58bc8f7b2e4a2fe3f1bb337faf6616111082514 (patch) | |
tree | ab08beb716d75a246590748b40b8d8142442bc07 /gr-iio/lib/fmcomms2_sink_impl.h | |
parent | iio: make filter params a single api (diff) | |
download | gnuradio-c58bc8f7b2e4a2fe3f1bb337faf6616111082514.tar.xz gnuradio-c58bc8f7b2e4a2fe3f1bb337faf6616111082514.zip |
iio: reduce cotr and set_params for pluto_sink
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
Diffstat (limited to 'gr-iio/lib/fmcomms2_sink_impl.h')
-rw-r--r-- | gr-iio/lib/fmcomms2_sink_impl.h | 52 |
1 files changed, 25 insertions, 27 deletions
diff --git a/gr-iio/lib/fmcomms2_sink_impl.h b/gr-iio/lib/fmcomms2_sink_impl.h index 6859a5000..cd80f6bb0 100644 --- a/gr-iio/lib/fmcomms2_sink_impl.h +++ b/gr-iio/lib/fmcomms2_sink_impl.h @@ -31,28 +31,14 @@ private: std::vector<std::string> get_channels_vector(bool ch1_en, bool ch2_en, bool ch3_en, bool ch4_en); - + std::vector<std::string> get_channels_vector(const std::vector<bool>& 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<bool>& 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<double> 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 |