]> git.gag.com Git - debian/gnuradio/blobdiff - gnuradio-core/src/lib/filter/gr_goertzel_fc.cc
Adding accessors to Goertzel filter GR block to call setparms from implementation...
[debian/gnuradio] / gnuradio-core / src / lib / filter / gr_goertzel_fc.cc
index aee8df844d5fd2eb7e060494ed450d4e72e3e4a9..938a522f40217494396fd29f291e0ddae2f36c03 100644 (file)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010,2011 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -31,7 +31,7 @@
 gr_goertzel_fc_sptr 
 gr_make_goertzel_fc(int rate, int len, float freq) 
 {
-  return gr_goertzel_fc_sptr (new gr_goertzel_fc(rate, len, freq));
+  return gnuradio::get_initial_sptr(new gr_goertzel_fc(rate, len, freq));
 }
 
 gr_goertzel_fc::gr_goertzel_fc(int rate, int len, float freq)
@@ -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);
+}