summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib
diff options
context:
space:
mode:
authorTom Rondeau2012-03-13 11:26:02 -0400
committerTom Rondeau2012-03-13 11:26:02 -0400
commitc50cdd6e1f8d4555728b23af9a60f5ec8590ca75 (patch)
tree335bd19e4ec5d9a7cd817c84e50f42df55626c3f /gnuradio-core/src/lib
parent7a3a0b531c79925b8ea291471534e5a1c2693ba8 (diff)
parentb872e23b66b70784c38ecb78f606420c459e36db (diff)
downloadgnuradio-c50cdd6e1f8d4555728b23af9a60f5ec8590ca75.tar.gz
gnuradio-c50cdd6e1f8d4555728b23af9a60f5ec8590ca75.tar.bz2
gnuradio-c50cdd6e1f8d4555728b23af9a60f5ec8590ca75.zip
Merge branch 'probe'
Diffstat (limited to 'gnuradio-core/src/lib')
-rw-r--r--gnuradio-core/src/lib/general/CMakeLists.txt1
-rw-r--r--gnuradio-core/src/lib/general/Makefile.am3
-rw-r--r--gnuradio-core/src/lib/general/general.i2
-rw-r--r--gnuradio-core/src/lib/general/general_generated.i20
-rw-r--r--gnuradio-core/src/lib/gengen/.gitignore30
-rw-r--r--gnuradio-core/src/lib/gengen/CMakeLists.txt2
-rw-r--r--gnuradio-core/src/lib/gengen/Makefile.am6
-rw-r--r--gnuradio-core/src/lib/gengen/Makefile.gen30
-rwxr-xr-xgnuradio-core/src/lib/gengen/generate_common.py6
-rw-r--r--gnuradio-core/src/lib/gengen/gr_probe_signal_X.cc.t (renamed from gnuradio-core/src/lib/general/gr_probe_signal_f.cc)23
-rw-r--r--gnuradio-core/src/lib/gengen/gr_probe_signal_X.h.t (renamed from gnuradio-core/src/lib/general/gr_probe_signal_f.h)30
-rw-r--r--gnuradio-core/src/lib/gengen/gr_probe_signal_X.i.t (renamed from gnuradio-core/src/lib/general/gr_probe_signal_f.i)12
-rw-r--r--gnuradio-core/src/lib/gengen/gr_probe_signal_vX.cc.t59
-rw-r--r--gnuradio-core/src/lib/gengen/gr_probe_signal_vX.h.t62
-rw-r--r--gnuradio-core/src/lib/gengen/gr_probe_signal_vX.i.t32
15 files changed, 278 insertions, 40 deletions
diff --git a/gnuradio-core/src/lib/general/CMakeLists.txt b/gnuradio-core/src/lib/general/CMakeLists.txt
index 2bc639cd3..ee6e4c4e6 100644
--- a/gnuradio-core/src/lib/general/CMakeLists.txt
+++ b/gnuradio-core/src/lib/general/CMakeLists.txt
@@ -252,7 +252,6 @@ set(gr_core_general_triple_threats
gr_probe_avg_mag_sqrd_c
gr_probe_avg_mag_sqrd_cf
gr_probe_avg_mag_sqrd_f
- gr_probe_signal_f
gr_pwr_squelch_cc
gr_pwr_squelch_ff
gr_quadrature_demod_cf
diff --git a/gnuradio-core/src/lib/general/Makefile.am b/gnuradio-core/src/lib/general/Makefile.am
index 5b4a702e1..ba1f686ab 100644
--- a/gnuradio-core/src/lib/general/Makefile.am
+++ b/gnuradio-core/src/lib/general/Makefile.am
@@ -117,7 +117,6 @@ libgeneral_la_SOURCES = \
gr_probe_avg_mag_sqrd_c.cc \
gr_probe_avg_mag_sqrd_cf.cc \
gr_probe_avg_mag_sqrd_f.cc \
- gr_probe_signal_f.cc \
gr_pwr_squelch_cc.cc \
gr_pwr_squelch_ff.cc \
gr_quadrature_demod_cf.cc \
@@ -279,7 +278,6 @@ grinclude_HEADERS = \
gr_probe_avg_mag_sqrd_c.h \
gr_probe_avg_mag_sqrd_cf.h \
gr_probe_avg_mag_sqrd_f.h \
- gr_probe_signal_f.h \
gr_pwr_squelch_cc.h \
gr_pwr_squelch_ff.h \
gr_quadrature_demod_cf.h \
@@ -443,7 +441,6 @@ swiginclude_HEADERS = \
gr_probe_avg_mag_sqrd_c.i \
gr_probe_avg_mag_sqrd_cf.i \
gr_probe_avg_mag_sqrd_f.i \
- gr_probe_signal_f.i \
gr_pwr_squelch_cc.i \
gr_pwr_squelch_ff.i \
gr_quadrature_demod_cf.i \
diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i
index 89738b01a..fcf60c927 100644
--- a/gnuradio-core/src/lib/general/general.i
+++ b/gnuradio-core/src/lib/general/general.i
@@ -92,7 +92,6 @@
#include <gr_probe_avg_mag_sqrd_c.h>
#include <gr_probe_avg_mag_sqrd_cf.h>
#include <gr_probe_avg_mag_sqrd_f.h>
-#include <gr_probe_signal_f.h>
#include <gr_regenerate_bb.h>
#include <gr_pa_2x2_phase_combiner.h>
#include <gr_kludge_copy.h>
@@ -214,7 +213,6 @@
%include "gr_probe_avg_mag_sqrd_c.i"
%include "gr_probe_avg_mag_sqrd_cf.i"
%include "gr_probe_avg_mag_sqrd_f.i"
-%include "gr_probe_signal_f.i"
%include "gr_regenerate_bb.i"
%include "gr_pa_2x2_phase_combiner.i"
%include "gr_kludge_copy.i"
diff --git a/gnuradio-core/src/lib/general/general_generated.i b/gnuradio-core/src/lib/general/general_generated.i
index e12f2b0ec..89b7e1776 100644
--- a/gnuradio-core/src/lib/general/general_generated.i
+++ b/gnuradio-core/src/lib/general/general_generated.i
@@ -51,6 +51,16 @@
#include <gr_packed_to_unpacked_bb.h>
#include <gr_packed_to_unpacked_ii.h>
#include <gr_packed_to_unpacked_ss.h>
+#include <gr_probe_signal_b.h>
+#include <gr_probe_signal_s.h>
+#include <gr_probe_signal_i.h>
+#include <gr_probe_signal_f.h>
+#include <gr_probe_signal_c.h>
+#include <gr_probe_signal_vb.h>
+#include <gr_probe_signal_vs.h>
+#include <gr_probe_signal_vi.h>
+#include <gr_probe_signal_vf.h>
+#include <gr_probe_signal_vc.h>
#include <gr_sig_source_c.h>
#include <gr_sig_source_f.h>
#include <gr_sig_source_i.h>
@@ -123,6 +133,16 @@
%include <gr_packed_to_unpacked_bb.i>
%include <gr_packed_to_unpacked_ii.i>
%include <gr_packed_to_unpacked_ss.i>
+%include <gr_probe_signal_b.i>
+%include <gr_probe_signal_s.i>
+%include <gr_probe_signal_i.i>
+%include <gr_probe_signal_f.i>
+%include <gr_probe_signal_c.i>
+%include <gr_probe_signal_vb.i>
+%include <gr_probe_signal_vs.i>
+%include <gr_probe_signal_vi.i>
+%include <gr_probe_signal_vf.i>
+%include <gr_probe_signal_vc.i>
%include <gr_sig_source_c.i>
%include <gr_sig_source_f.i>
%include <gr_sig_source_i.i>
diff --git a/gnuradio-core/src/lib/gengen/.gitignore b/gnuradio-core/src/lib/gengen/.gitignore
index b91d2f197..2f53eba9a 100644
--- a/gnuradio-core/src/lib/gengen/.gitignore
+++ b/gnuradio-core/src/lib/gengen/.gitignore
@@ -293,6 +293,36 @@
/gr_peak_detector_ss.h
/gr_peak_detector_ss.i
/gr_prefix.cc
+/gr_probe_signal_b.cc
+/gr_probe_signal_b.h
+/gr_probe_signal_b.i
+/gr_probe_signal_s.cc
+/gr_probe_signal_s.h
+/gr_probe_signal_s.i
+/gr_probe_signal_i.cc
+/gr_probe_signal_i.h
+/gr_probe_signal_i.i
+/gr_probe_signal_f.cc
+/gr_probe_signal_f.h
+/gr_probe_signal_f.i
+/gr_probe_signal_c.cc
+/gr_probe_signal_c.h
+/gr_probe_signal_c.i
+/gr_probe_signal_vb.cc
+/gr_probe_signal_vb.h
+/gr_probe_signal_vb.i
+/gr_probe_signal_vs.cc
+/gr_probe_signal_vs.h
+/gr_probe_signal_vs.i
+/gr_probe_signal_vi.cc
+/gr_probe_signal_vi.h
+/gr_probe_signal_vi.i
+/gr_probe_signal_vf.cc
+/gr_probe_signal_vf.h
+/gr_probe_signal_vf.i
+/gr_probe_signal_vc.cc
+/gr_probe_signal_vc.h
+/gr_probe_signal_vc.i
/gr_sample_and_hold_bb.cc
/gr_sample_and_hold_bb.h
/gr_sample_and_hold_bb.i
diff --git a/gnuradio-core/src/lib/gengen/CMakeLists.txt b/gnuradio-core/src/lib/gengen/CMakeLists.txt
index 98b149e97..8a43a8880 100644
--- a/gnuradio-core/src/lib/gengen/CMakeLists.txt
+++ b/gnuradio-core/src/lib/gengen/CMakeLists.txt
@@ -84,6 +84,8 @@ expand_h_cc_i(gr_vector_source_X b s i f c)
expand_h_cc_i(gr_vector_sink_X b s i f c)
expand_h_cc_i(gr_noise_source_X s i f c)
expand_h_cc_i(gr_sig_source_X s i f c)
+expand_h_cc_i(gr_probe_signal_X b s i f c)
+expand_h_cc_i(gr_probe_signal_vX b s i f c)
expand_h_cc_i(gr_add_const_XX ss ii ff cc sf)
expand_h_cc_i(gr_multiply_const_XX ss ii)
diff --git a/gnuradio-core/src/lib/gengen/Makefile.am b/gnuradio-core/src/lib/gengen/Makefile.am
index 5fbb6f52c..e2f65c5da 100644
--- a/gnuradio-core/src/lib/gengen/Makefile.am
+++ b/gnuradio-core/src/lib/gengen/Makefile.am
@@ -77,6 +77,12 @@ core_generator = \
gr_peak_detector_XX.cc.t \
gr_peak_detector_XX.h.t \
gr_peak_detector_XX.i.t \
+ gr_probe_signal_X.cc.t \
+ gr_probe_signal_X.h.t \
+ gr_probe_signal_X.i.t \
+ gr_probe_signal_vX.cc.t \
+ gr_probe_signal_vX.h.t \
+ gr_probe_signal_vX.i.t \
gr_sample_and_hold_XX.cc.t \
gr_sample_and_hold_XX.h.t \
gr_sample_and_hold_XX.i.t \
diff --git a/gnuradio-core/src/lib/gengen/Makefile.gen b/gnuradio-core/src/lib/gengen/Makefile.gen
index db260585f..b4a255dc0 100644
--- a/gnuradio-core/src/lib/gengen/Makefile.gen
+++ b/gnuradio-core/src/lib/gengen/Makefile.gen
@@ -72,6 +72,16 @@ GENERATED_H = \
gr_peak_detector_fb.h \
gr_peak_detector_ib.h \
gr_peak_detector_sb.h \
+ gr_probe_signal_b.h \
+ gr_probe_signal_s.h \
+ gr_probe_signal_i.h \
+ gr_probe_signal_f.h \
+ gr_probe_signal_c.h \
+ gr_probe_signal_vb.h \
+ gr_probe_signal_vs.h \
+ gr_probe_signal_vi.h \
+ gr_probe_signal_vf.h \
+ gr_probe_signal_vc.h \
gr_sample_and_hold_bb.h \
gr_sample_and_hold_ff.h \
gr_sample_and_hold_ii.h \
@@ -172,6 +182,16 @@ GENERATED_I = \
gr_peak_detector_fb.i \
gr_peak_detector_ib.i \
gr_peak_detector_sb.i \
+ gr_probe_signal_b.i \
+ gr_probe_signal_s.i \
+ gr_probe_signal_i.i \
+ gr_probe_signal_f.i \
+ gr_probe_signal_c.i \
+ gr_probe_signal_vb.i \
+ gr_probe_signal_vs.i \
+ gr_probe_signal_vi.i \
+ gr_probe_signal_vf.i \
+ gr_probe_signal_vc.i \
gr_sample_and_hold_bb.i \
gr_sample_and_hold_ff.i \
gr_sample_and_hold_ii.i \
@@ -272,6 +292,16 @@ GENERATED_CC = \
gr_peak_detector_fb.cc \
gr_peak_detector_ib.cc \
gr_peak_detector_sb.cc \
+ gr_probe_signal_b.cc \
+ gr_probe_signal_s.cc \
+ gr_probe_signal_i.cc \
+ gr_probe_signal_f.cc \
+ gr_probe_signal_c.cc \
+ gr_probe_signal_vb.cc \
+ gr_probe_signal_vs.cc \
+ gr_probe_signal_vi.cc \
+ gr_probe_signal_vf.cc \
+ gr_probe_signal_vc.cc \
gr_sample_and_hold_bb.cc \
gr_sample_and_hold_ff.cc \
gr_sample_and_hold_ii.cc \
diff --git a/gnuradio-core/src/lib/gengen/generate_common.py b/gnuradio-core/src/lib/gengen/generate_common.py
index 6da2044e0..70f805711 100755
--- a/gnuradio-core/src/lib/gengen/generate_common.py
+++ b/gnuradio-core/src/lib/gengen/generate_common.py
@@ -33,7 +33,9 @@ ss_roots = [
'gr_vector_source_X',
'gr_vector_sink_X',
'gr_noise_source_X',
- 'gr_sig_source_X'
+ 'gr_sig_source_X',
+ 'gr_probe_signal_X',
+ 'gr_probe_signal_vX'
]
# regular blocks
@@ -83,6 +85,8 @@ def generate ():
expand_h_cc_i ('gr_add_const_XX', 'sf') # for MC4020
expand_h_cc_i ('gr_vector_sink_X', 'b')
expand_h_cc_i ('gr_vector_source_X', 'b')
+ expand_h_cc_i ('gr_probe_signal_X', 'b')
+ expand_h_cc_i ('gr_probe_signal_vX', 'b')
for r in ss_roots:
for s in ss_signatures:
expand_h_cc_i (r, s)
diff --git a/gnuradio-core/src/lib/general/gr_probe_signal_f.cc b/gnuradio-core/src/lib/gengen/gr_probe_signal_X.cc.t
index ee1a18e89..d60a5126a 100644
--- a/gnuradio-core/src/lib/general/gr_probe_signal_f.cc
+++ b/gnuradio-core/src/lib/gengen/gr_probe_signal_X.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005,2010 Free Software Foundation, Inc.
+ * Copyright 2005,2010,2012 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,38 +23,37 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-#include <gr_probe_signal_f.h>
+#include <@NAME@.h>
#include <gr_io_signature.h>
-gr_probe_signal_f_sptr
-gr_make_probe_signal_f()
+@NAME@_sptr
+gr_make_@BASE_NAME@()
{
- return gnuradio::get_initial_sptr(new gr_probe_signal_f());
+ return gnuradio::get_initial_sptr(new @NAME@());
}
-gr_probe_signal_f::gr_probe_signal_f ()
- : gr_sync_block ("probe_signal_f",
- gr_make_io_signature(1, 1, sizeof(float)),
+@NAME@::@NAME@ ()
+: gr_sync_block ("@BASE_NAME@",
+ gr_make_io_signature(1, 1, sizeof(@TYPE@)),
gr_make_io_signature(0, 0, 0)),
d_level(0)
{
}
-gr_probe_signal_f::~gr_probe_signal_f()
+@NAME@::~@NAME@()
{
}
int
-gr_probe_signal_f::work(int noutput_items,
+@NAME@::work(int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
- const float *in = (const float *) input_items[0];
+ const @TYPE@ *in = (const @TYPE@ *) input_items[0];
if (noutput_items > 0)
d_level = in[noutput_items-1];
return noutput_items;
}
-
diff --git a/gnuradio-core/src/lib/general/gr_probe_signal_f.h b/gnuradio-core/src/lib/gengen/gr_probe_signal_X.h.t
index b99c76976..26a95b9b2 100644
--- a/gnuradio-core/src/lib/general/gr_probe_signal_f.h
+++ b/gnuradio-core/src/lib/gengen/gr_probe_signal_X.h.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005, 2012 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -19,40 +19,40 @@
* the Free Software Foundation, Inc., 51 Franklin Street,
* Boston, MA 02110-1301, USA.
*/
-#ifndef INCLUDED_GR_PROBE_SIGNAL_F_H
-#define INCLUDED_GR_PROBE_SIGNAL_F_H
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
#include <gr_core_api.h>
#include <gr_sync_block.h>
-class gr_probe_signal_f;
-typedef boost::shared_ptr<gr_probe_signal_f> gr_probe_signal_f_sptr;
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @NAME@_sptr;
-GR_CORE_API gr_probe_signal_f_sptr
-gr_make_probe_signal_f ();
+GR_CORE_API @NAME@_sptr
+gr_make_@BASE_NAME@ ();
/*!
* \brief Sink that allows a sample to be grabbed from Python.
* \ingroup sink_blk
*/
-class GR_CORE_API gr_probe_signal_f : public gr_sync_block
+class GR_CORE_API @NAME@ : public gr_sync_block
{
- float d_level;
+ @TYPE@ d_level;
- friend GR_CORE_API gr_probe_signal_f_sptr
- gr_make_probe_signal_f();
+ friend GR_CORE_API @NAME@_sptr
+ gr_make_@BASE_NAME@();
- gr_probe_signal_f();
+ @NAME@();
public:
- ~gr_probe_signal_f();
+ ~@NAME@();
int work(int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items);
- float level() const { return d_level; }
+ @TYPE@ level() const { return d_level; }
};
-#endif /* INCLUDED_GR_PROBE_SIGNAL_F_H */
+#endif /* @GUARD_NAME@ */
diff --git a/gnuradio-core/src/lib/general/gr_probe_signal_f.i b/gnuradio-core/src/lib/gengen/gr_probe_signal_X.i.t
index 4255e5dfd..3f1ef8ffd 100644
--- a/gnuradio-core/src/lib/general/gr_probe_signal_f.i
+++ b/gnuradio-core/src/lib/gengen/gr_probe_signal_X.i.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005, 2012 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -20,13 +20,13 @@
* Boston, MA 02110-1301, USA.
*/
-GR_SWIG_BLOCK_MAGIC(gr,probe_signal_f);
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@);
-gr_probe_signal_f_sptr
-gr_make_probe_signal_f ();
+@NAME@_sptr
+gr_make_@BASE_NAME@ ();
-class gr_probe_signal_f : public gr_sync_block
+class @NAME@ : public gr_sync_block
{
public:
- float level () const { return d_level; }
+ @TYPE@ level ();
};
diff --git a/gnuradio-core/src/lib/gengen/gr_probe_signal_vX.cc.t b/gnuradio-core/src/lib/gengen/gr_probe_signal_vX.cc.t
new file mode 100644
index 000000000..712b55b9a
--- /dev/null
+++ b/gnuradio-core/src/lib/gengen/gr_probe_signal_vX.cc.t
@@ -0,0 +1,59 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2005,2010,2012 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include <@NAME@.h>
+#include <gr_io_signature.h>
+#include <iostream>
+
+@NAME@_sptr
+gr_make_@BASE_NAME@(size_t size)
+{
+ return gnuradio::get_initial_sptr(new @NAME@(size));
+}
+
+@NAME@::@NAME@ (size_t size)
+: gr_sync_block ("@BASE_NAME@",
+ gr_make_io_signature(1, 1, size*sizeof(@TYPE@)),
+ gr_make_io_signature(0, 0, 0)),
+ d_level(size, 0), d_size(size)
+{
+}
+
+@NAME@::~@NAME@()
+{
+}
+
+int
+@NAME@::work(int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
+{
+ const @TYPE@ *in = (const @TYPE@ *) input_items[0];
+
+ for (int i=0; i<d_size; i++)
+ d_level[i] = in[(noutput_items-1)*d_size+i];
+
+ return noutput_items;
+}
diff --git a/gnuradio-core/src/lib/gengen/gr_probe_signal_vX.h.t b/gnuradio-core/src/lib/gengen/gr_probe_signal_vX.h.t
new file mode 100644
index 000000000..3a7277b93
--- /dev/null
+++ b/gnuradio-core/src/lib/gengen/gr_probe_signal_vX.h.t
@@ -0,0 +1,62 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2005, 2012 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <vector>
+
+#include <gr_core_api.h>
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @NAME@_sptr;
+
+GR_CORE_API @NAME@_sptr
+gr_make_@BASE_NAME@ (size_t size);
+
+/*!
+ * \brief Sink that allows a sample to be grabbed from Python.
+ * \ingroup sink_blk
+ */
+class GR_CORE_API @NAME@ : public gr_sync_block
+{
+ std::vector<@TYPE@> d_level;
+
+ friend GR_CORE_API @NAME@_sptr
+ gr_make_@BASE_NAME@(size_t size);
+
+ @NAME@(size_t size);
+
+ size_t d_size;
+
+public:
+ ~@NAME@();
+
+ int work(int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+
+ std::vector<@TYPE@> level() const { return d_level; }
+
+};
+
+#endif /* @GUARD_NAME@ */
diff --git a/gnuradio-core/src/lib/gengen/gr_probe_signal_vX.i.t b/gnuradio-core/src/lib/gengen/gr_probe_signal_vX.i.t
new file mode 100644
index 000000000..20191948a
--- /dev/null
+++ b/gnuradio-core/src/lib/gengen/gr_probe_signal_vX.i.t
@@ -0,0 +1,32 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2005, 2012 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@);
+
+@NAME@_sptr
+gr_make_@BASE_NAME@ (size_t size);
+
+class @NAME@ : public gr_sync_block
+{
+public:
+ std::vector<@TYPE@> level ();
+};