summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib
diff options
context:
space:
mode:
authorTom Rondeau2011-01-17 16:47:19 -0500
committerTom Rondeau2011-01-17 16:47:19 -0500
commitf1878bbdc36a31c469364a73cfdf22ee74867f69 (patch)
tree3499557c13baa8d876e8dd0b6dee77fd2d128cc3 /gnuradio-core/src/lib
parent8bf0a196d9a3ab8780bf94396aaac9687f57702c (diff)
downloadgnuradio-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.cc18
-rw-r--r--gnuradio-core/src/lib/filter/gr_goertzel_fc.h7
-rw-r--r--gnuradio-core/src/lib/filter/gr_goertzel_fc.i6
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);
};