From: Tom Rondeau Date: Mon, 17 Jan 2011 21:47:19 +0000 (-0500) Subject: Adding accessors to Goertzel filter GR block to call setparms from implementation... X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=f1878bbdc36a31c469364a73cfdf22ee74867f69;p=debian%2Fgnuradio Adding accessors to Goertzel filter GR block to call setparms from implementation file for (re)setting parameters. --- diff --git a/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc b/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc index a93751b2..938a522f 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 9518c5c9..c60b63d8 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 4cbc1dec..775c78cc 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); };