diff options
author | Tom Rondeau | 2011-01-17 16:47:19 -0500 |
---|---|---|
committer | Tom Rondeau | 2011-01-17 16:47:19 -0500 |
commit | f1878bbdc36a31c469364a73cfdf22ee74867f69 (patch) | |
tree | 3499557c13baa8d876e8dd0b6dee77fd2d128cc3 /gnuradio-core/src/lib | |
parent | 8bf0a196d9a3ab8780bf94396aaac9687f57702c (diff) | |
download | gnuradio-f1878bbdc36a31c469364a73cfdf22ee74867f69.tar.gz gnuradio-f1878bbdc36a31c469364a73cfdf22ee74867f69.tar.bz2 gnuradio-f1878bbdc36a31c469364a73cfdf22ee74867f69.zip |
Adding accessors to Goertzel filter GR block to call setparms from implementation file for (re)setting parameters.
Diffstat (limited to 'gnuradio-core/src/lib')
-rw-r--r-- | gnuradio-core/src/lib/filter/gr_goertzel_fc.cc | 18 | ||||
-rw-r--r-- | gnuradio-core/src/lib/filter/gr_goertzel_fc.h | 7 | ||||
-rw-r--r-- | gnuradio-core/src/lib/filter/gr_goertzel_fc.i | 6 |
3 files changed, 28 insertions, 3 deletions
diff --git a/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc b/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc index a93751b2f..938a522f4 100644 --- a/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc +++ b/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2006,2010 Free Software Foundation, Inc. + * Copyright 2006,2010,2011 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -42,6 +42,8 @@ gr_goertzel_fc::gr_goertzel_fc(int rate, int len, float freq) d_goertzel(rate, len, freq) { d_len = len; + d_rate = rate; + d_freq = freq; } int gr_goertzel_fc::work(int noutput_items, @@ -58,3 +60,17 @@ int gr_goertzel_fc::work(int noutput_items, return noutput_items; } + +void +gr_goertzel_fc::set_freq(float freq) +{ + d_freq = freq; + d_goertzel.gri_setparms(d_rate, d_len, d_freq); +} + +void +gr_goertzel_fc::set_rate(int rate) +{ + d_rate = rate; + d_goertzel.gri_setparms(d_rate, d_len, d_freq); +} diff --git a/gnuradio-core/src/lib/filter/gr_goertzel_fc.h b/gnuradio-core/src/lib/filter/gr_goertzel_fc.h index 9518c5c92..c60b63d88 100644 --- a/gnuradio-core/src/lib/filter/gr_goertzel_fc.h +++ b/gnuradio-core/src/lib/filter/gr_goertzel_fc.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2006 Free Software Foundation, Inc. + * Copyright 2006,2011 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -44,11 +44,16 @@ private: gr_goertzel_fc(int rate, int len, float freq); gri_goertzel d_goertzel; int d_len; + float d_freq; + int d_rate; public: int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); + + void set_freq (float freq); + void set_rate (int rate); }; #endif /* INCLUDED_GR_GOERTZEL_FC_H */ diff --git a/gnuradio-core/src/lib/filter/gr_goertzel_fc.i b/gnuradio-core/src/lib/filter/gr_goertzel_fc.i index 4cbc1dece..775c78cc8 100644 --- a/gnuradio-core/src/lib/filter/gr_goertzel_fc.i +++ b/gnuradio-core/src/lib/filter/gr_goertzel_fc.i @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2006 Free Software Foundation, Inc. + * Copyright 2006,2011 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -28,4 +28,8 @@ class gr_goertzel_fc : public gr_sync_decimator { private: gr_goertzel_fc(); + +public: + void set_freq (float freq); + void set_rate (int rate); }; |