From 9db640f51b3af0cc73a94471a623b4d394ec2aab Mon Sep 17 00:00:00 2001
From: Matt Ettus <matt@ettus.com>
Date: Sat, 11 Dec 2010 14:42:57 -0800
Subject: Create method to set rate on pfb_arb_resamp after it has been
 created. Allow it to be called from GRC.

---
 gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc | 3 +--
 gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.h  | 6 +++++-
 gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.i  | 1 +
 3 files changed, 7 insertions(+), 3 deletions(-)

(limited to 'gnuradio-core/src/lib')

diff --git a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc
index 59b76a6f0..2136dd843 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc
@@ -58,8 +58,7 @@ gr_pfb_arb_resampler_ccf::gr_pfb_arb_resampler_ccf (float rate,
      process.
   */
   d_int_rate = filter_size;
-  d_dec_rate = (unsigned int)floor(d_int_rate/rate);
-  d_flt_rate = (d_int_rate/rate) - d_dec_rate;
+  set_rate(rate);
 
   // Store the last filter between calls to work
   d_last_filter = 0;
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.h b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.h
index cf5a79d4e..44dd202b9 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.h
+++ b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.h
@@ -161,7 +161,11 @@ public:
    * Print all of the filterbank taps to screen.
    */
   void print_taps();
-  
+  void set_rate (float rate) { 
+    d_dec_rate = (unsigned int)floor(d_int_rate/rate);
+    d_flt_rate = (d_int_rate/rate) - d_dec_rate;
+  }
+
   int general_work (int noutput_items,
 		    gr_vector_int &ninput_items,
 		    gr_vector_const_void_star &input_items,
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.i b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.i
index 4f07af861..77f28acdf 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.i
+++ b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.i
@@ -38,4 +38,5 @@ class gr_pfb_arb_resampler_ccf : public gr_block
 
   //void set_taps (const std::vector<float> &taps);
   void print_taps();
+  void set_rate (float rate);
 };
-- 
cgit v1.2.3