summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartyn van Dijke <martijnvdijke600@gmail.com>2021-04-09 10:36:00 +0200
committermormj <34754695+mormj@users.noreply.github.com>2021-04-22 11:45:34 -0400
commit52843c43bfa054c84270a9298274b0b9e4f2dae1 (patch)
tree2578cb89949e8a7175840d578a4fb6af16146288
parent310b41c6e2b098042a3b9eb8f8da624a4e7313da (diff)
filter: Add C++ templates for Interpolating FIR filter
Signed-off-by: Martyn <martijnvdijke600@gmail.com>
-rw-r--r--gr-filter/grc/filter_interp_fir_filter_xxx.block.yml15
1 files changed, 14 insertions, 1 deletions
diff --git a/gr-filter/grc/filter_interp_fir_filter_xxx.block.yml b/gr-filter/grc/filter_interp_fir_filter_xxx.block.yml
index 25a70a53f6..06a97f1f97 100644
--- a/gr-filter/grc/filter_interp_fir_filter_xxx.block.yml
+++ b/gr-filter/grc/filter_interp_fir_filter_xxx.block.yml
@@ -1,6 +1,6 @@
id: interp_fir_filter_xxx
label: Interpolating FIR Filter
-flags: [ python ]
+flags: [ python, cpp ]
parameters:
- id: type
@@ -46,5 +46,18 @@ templates:
self.${id}.declare_sample_delay(${samp_delay})
callbacks:
- set_taps(${taps})
+cpp_templates:
+ includes : ['#include <gnuradio/filter/interp_fir_filter.h>']
+ declarations: 'filter::interp_fir_filter_${type}::sptr ${id};'
+ make: |-
+ % if str(type.taps) == "complex_vector":
+ std::vector<gr_complex> taps = {${str(taps)[1:-1]}};
+ % else:
+ std::vector<int> taps = {${str(taps)[1:-1]}};
+ % endif
+ this->${id} = filter::interp_fir_filter_${type}::make(${interp}, taps);
+ link: ['gnuradio-filter']
+ callbacks:
+ - set_taps(${taps})
file_format: 1