summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.common3
-rw-r--r--config/grc_gnuradio_examples.m42
-rw-r--r--config/grc_gr_trellis.m42
-rw-r--r--config/grc_gr_utils.m450
-rw-r--r--configure.ac1
-rw-r--r--gnuradio-examples/python/Makefile.am24
-rw-r--r--gnuradio-examples/python/apps/hf_explorer/Makefile.am4
-rw-r--r--gnuradio-examples/python/apps/hf_radio/Makefile.am4
-rw-r--r--gnuradio-examples/python/audio/Makefile.am7
-rwxr-xr-xgnuradio-examples/python/audio/dial_squelch.py89
-rwxr-xr-xgnuradio-examples/python/audio/dialtone_v.py71
-rw-r--r--gnuradio-examples/python/digital/Makefile.am5
-rw-r--r--gnuradio-examples/python/digital_voice/Makefile.am5
-rw-r--r--gnuradio-examples/python/multi-antenna/Makefile.am5
-rw-r--r--gnuradio-examples/python/multi_usrp/Makefile.am12
-rw-r--r--gnuradio-examples/python/ofdm/Makefile.am5
-rw-r--r--gnuradio-examples/python/usrp/Makefile.am23
-rwxr-xr-xgnuradio-examples/python/usrp/limbo/am_rcv.py (renamed from gnuradio-examples/python/usrp/am_rcv.py)0
-rw-r--r--gnuradio-examples/python/usrp/limbo/ayfabtu.dat (renamed from gnuradio-examples/python/usrp/ayfabtu.dat)bin544640 -> 544640 bytes
-rwxr-xr-xgnuradio-examples/python/usrp/limbo/ayfabtu.py (renamed from gnuradio-examples/python/usrp/ayfabtu.py)0
-rwxr-xr-xgnuradio-examples/python/usrp/limbo/flexrf_debug.py (renamed from gnuradio-examples/python/usrp/flexrf_debug.py)0
-rwxr-xr-xgnuradio-examples/python/usrp/limbo/flexrf_siggen.py (renamed from gnuradio-examples/python/usrp/flexrf_siggen.py)0
-rwxr-xr-xgnuradio-examples/python/usrp/limbo/siggen_min2.py (renamed from gnuradio-examples/python/usrp/siggen_min2.py)0
-rwxr-xr-xgnuradio-examples/python/usrp/limbo/test_dft_analysis.py (renamed from gnuradio-examples/python/usrp/test_dft_analysis.py)0
-rwxr-xr-xgnuradio-examples/python/usrp/limbo/test_dft_synth.py (renamed from gnuradio-examples/python/usrp/test_dft_synth.py)0
-rwxr-xr-xgnuradio-examples/python/usrp/limbo/tvrx_am_rcv_gui.py (renamed from gnuradio-examples/python/usrp/tvrx_am_rcv_gui.py)0
-rwxr-xr-xgnuradio-examples/python/usrp/limbo/usrp_fft_old.py (renamed from gnuradio-examples/python/usrp/usrp_fft_old.py)0
-rw-r--r--gr-atsc/src/python/Makefile.am24
-rw-r--r--gr-trellis/src/Makefile.am2
-rw-r--r--gr-trellis/src/examples/Makefile.am (renamed from gnuradio-examples/python/channel-coding/Makefile.am)17
-rw-r--r--gr-trellis/src/examples/README (renamed from gnuradio-examples/python/channel-coding/README)0
-rw-r--r--gr-trellis/src/examples/fsm_files/Makefile.am (renamed from gnuradio-examples/python/channel-coding/fsm_files/Makefile.am)4
-rw-r--r--gr-trellis/src/examples/fsm_files/awgn1o2_128.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_128.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/awgn1o2_16.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_16.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/awgn1o2_4.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_4.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/awgn1o2_8.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_8.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/awgn2o3_16.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_16.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/awgn2o3_4.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/awgn2o3_4_msb.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msb.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/awgn2o3_4_msbG.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msbG.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/awgn2o3_8.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_8.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/awgn2o4_4.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/awgn2o4_4.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/disconnected.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/disconnected.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/irregular.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/irregular.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/rep3.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/rep3.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/rep5.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/rep5.fsm)0
-rw-r--r--gr-trellis/src/examples/fsm_files/simple.fsm (renamed from gnuradio-examples/python/channel-coding/fsm_files/simple.fsm)0
-rwxr-xr-xgr-trellis/src/examples/fsm_utils.py (renamed from gnuradio-examples/python/channel-coding/fsm_utils.py)0
-rwxr-xr-xgr-trellis/src/examples/test_sccc_hard.py (renamed from gnuradio-examples/python/channel-coding/test_sccc_hard.py)0
-rwxr-xr-xgr-trellis/src/examples/test_sccc_soft.py (renamed from gnuradio-examples/python/channel-coding/test_sccc_soft.py)0
-rwxr-xr-xgr-trellis/src/examples/test_sccc_turbo.py (renamed from gnuradio-examples/python/channel-coding/test_sccc_turbo.py)0
-rwxr-xr-xgr-trellis/src/examples/test_tcm.py (renamed from gnuradio-examples/python/channel-coding/test_tcm.py)0
-rwxr-xr-xgr-trellis/src/examples/test_tcm1.py (renamed from gnuradio-examples/python/channel-coding/test_tcm1.py)0
-rwxr-xr-xgr-trellis/src/examples/test_tcm2.py (renamed from gnuradio-examples/python/channel-coding/test_tcm2.py)0
-rwxr-xr-xgr-trellis/src/examples/test_tcm_combined.py (renamed from gnuradio-examples/python/channel-coding/test_tcm_combined.py)0
-rwxr-xr-xgr-trellis/src/examples/test_tcm_parallel.py (renamed from gnuradio-examples/python/channel-coding/test_tcm_parallel.py)0
-rwxr-xr-xgr-trellis/src/examples/test_turbo_equalization.py (renamed from gnuradio-examples/python/channel-coding/test_turbo_equalization.py)0
-rwxr-xr-xgr-trellis/src/examples/test_turbo_equalization1.py (renamed from gnuradio-examples/python/channel-coding/test_turbo_equalization1.py)0
-rwxr-xr-xgr-trellis/src/examples/test_turbo_equalization2.py (renamed from gnuradio-examples/python/channel-coding/test_turbo_equalization2.py)0
-rwxr-xr-xgr-trellis/src/examples/test_viterbi_equalization.py (renamed from gnuradio-examples/python/channel-coding/test_viterbi_equalization.py)0
-rwxr-xr-xgr-trellis/src/examples/test_viterbi_equalization1.py (renamed from gnuradio-examples/python/channel-coding/test_viterbi_equalization1.py)0
-rw-r--r--gr-utils/Makefile.am22
-rw-r--r--gr-utils/src/Makefile.am22
-rw-r--r--gr-utils/src/lib/Makefile.am20
-rw-r--r--gr-utils/src/python/Makefile.am35
-rwxr-xr-xgr-utils/src/python/usrp_benchmark_usb.py (renamed from gnuradio-examples/python/usrp/benchmark_usb.py)0
-rwxr-xr-xgr-utils/src/python/usrp_fft.py (renamed from gnuradio-examples/python/usrp/usrp_fft.py)0
-rwxr-xr-xgr-utils/src/python/usrp_oscope.py (renamed from gnuradio-examples/python/usrp/usrp_oscope.py)0
-rwxr-xr-xgr-utils/src/python/usrp_print_db.py42
-rwxr-xr-xgr-utils/src/python/usrp_rx_cfile.py (renamed from gnuradio-examples/python/usrp/usrp_rx_cfile.py)0
-rwxr-xr-xgr-utils/src/python/usrp_rx_nogui.py (renamed from gnuradio-examples/python/usrp/usrp_rx_nogui.py)0
-rwxr-xr-xgr-utils/src/python/usrp_siggen.py (renamed from gnuradio-examples/python/usrp/usrp_siggen.py)0
-rwxr-xr-xgr-utils/src/python/usrp_test_counting.py (renamed from gnuradio-examples/python/usrp/test_counting.py)0
-rwxr-xr-xgr-utils/src/python/usrp_test_loop.py (renamed from gnuradio-examples/python/usrp/test_digital_loopback_counting.py)0
-rwxr-xr-xgr-utils/src/python/usrp_test_loop_lfsr.py (renamed from gnuradio-examples/python/usrp/test_digital_loopback_lfsr.py)0
-rwxr-xr-xusrp/host/apps/print-db19
76 files changed, 308 insertions, 211 deletions
diff --git a/Makefile.common b/Makefile.common
index a90dbaa41..2976e36dc 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -96,3 +96,6 @@ RM=$(RM_PROG) -f
RUN_GUILE = GUILE_LOAD_PATH="@abs_top_srcdir@/pmt/src/scheme:@abs_top_srcdir@/mblock/src/scheme" @GUILE@ -e main -s
COMPILE_MBH = $(RUN_GUILE) $(top_srcdir)/mblock/src/scheme/gnuradio/compile-mbh.scm
+
+# Base directory for example applications
+exampledir = $(datadir)/gnuradio/examples
diff --git a/config/grc_gnuradio_examples.m4 b/config/grc_gnuradio_examples.m4
index 7b66f747f..20d50fe5b 100644
--- a/config/grc_gnuradio_examples.m4
+++ b/config/grc_gnuradio_examples.m4
@@ -28,8 +28,6 @@ AC_DEFUN([GRC_GNURADIO_EXAMPLES],[
gnuradio-examples/python/apps/hf_radio/Makefile \
gnuradio-examples/python/apps/Makefile \
gnuradio-examples/python/audio/Makefile \
- gnuradio-examples/python/channel-coding/Makefile \
- gnuradio-examples/python/channel-coding/fsm_files/Makefile \
gnuradio-examples/python/digital/Makefile \
gnuradio-examples/python/digital_voice/Makefile \
gnuradio-examples/python/hier/Makefile \
diff --git a/config/grc_gr_trellis.m4 b/config/grc_gr_trellis.m4
index 752f85931..cde1f1cca 100644
--- a/config/grc_gr_trellis.m4
+++ b/config/grc_gr_trellis.m4
@@ -27,6 +27,8 @@ AC_DEFUN([GRC_GR_TRELLIS],[
gr-trellis/src/lib/Makefile \
gr-trellis/src/python/Makefile \
gr-trellis/src/python/run_tests \
+ gr-trellis/src/examples/Makefile \
+ gr-trellis/src/examples/fsm_files/Makefile
])
passed=yes
diff --git a/config/grc_gr_utils.m4 b/config/grc_gr_utils.m4
new file mode 100644
index 000000000..e5b3a6afb
--- /dev/null
+++ b/config/grc_gr_utils.m4
@@ -0,0 +1,50 @@
+# Copyright 2007 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.
+
+AC_DEFUN([GRC_GR_UTILS],[
+ GRC_ENABLE([gr-utils])
+
+ AC_CONFIG_FILES([ \
+ gr-utils/Makefile \
+ gr-utils/src/Makefile \
+ gr-utils/src/lib/Makefile \
+ gr-utils/src/python/Makefile \
+ ])
+
+ passed=yes
+ # Don't do gr-utils if gnuradio-core, usrp, or gr-wxgui skipped
+ # There *has* to be a better way to check if a value is in a string
+ for dir in $skipped_dirs
+ do
+ if test x$dir = xusrp; then
+ AC_MSG_RESULT([Component gr-utils requires usrp, which is not being built.])
+ passed=no
+ fi
+ if test x$dir = xgnuradio-core; then
+ AC_MSG_RESULT([Component gr-utils requires gnuradio-core, which is not being built.])
+ passed=no
+ fi
+ if test x$dir = xgr-wxgui; then
+ AC_MSG_RESULT([Component gr-utils requires gr-wxgui, which is not being built.])
+ passed=no
+ fi
+ done
+
+ GRC_BUILD_CONDITIONAL([gr-utils])
+])
diff --git a/configure.ac b/configure.ac
index 699310394..e8a4efe2f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -218,6 +218,7 @@ GRC_GR_VIDEO_SDL
GRC_GR_QTGUI
GRC_GR_WXGUI
GRC_GR_SOUNDER dnl this must come after GRC_USRP
+GRC_GR_UTILS
GRC_GNURADIO_EXAMPLES dnl must come last
# Each component is now either to be built, was skipped, or failed dependencies
diff --git a/gnuradio-examples/python/Makefile.am b/gnuradio-examples/python/Makefile.am
index de576770f..c9db48d6a 100644
--- a/gnuradio-examples/python/Makefile.am
+++ b/gnuradio-examples/python/Makefile.am
@@ -19,5 +19,25 @@
# Boston, MA 02110-1301, USA.
#
-SUBDIRS = apps audio channel-coding digital_voice digital multi-antenna \
- multi_usrp networking usrp hier ofdm
+include $(top_srcdir)/Makefile.common
+
+SUBDIRS = \
+ apps \
+ audio \
+ digital_voice \
+ digital \
+ multi-antenna \
+ multi_usrp \
+ networking \
+ usrp \
+ hier \
+ ofdm
+
+# Make example scripts with #! executable
+install-data-local:
+ for i in `find $(exampledir) -type f ! -perm 755`; do \
+ if head -1 $$i | grep -q '^#!'; then \
+ chmod 755 $$i; \
+ echo "made executable: $$i"; \
+ fi; \
+ done
diff --git a/gnuradio-examples/python/apps/hf_explorer/Makefile.am b/gnuradio-examples/python/apps/hf_explorer/Makefile.am
index 49aac1015..deb6c32d8 100644
--- a/gnuradio-examples/python/apps/hf_explorer/Makefile.am
+++ b/gnuradio-examples/python/apps/hf_explorer/Makefile.am
@@ -19,8 +19,12 @@
# Boston, MA 02110-1301, USA.
#
+include $(top_srcdir)/Makefile.common
+
EXTRA_DIST = \
README \
hfx2.py \
hfx_help
+ourdatadir = $(exampledir)/hf_explorer
+ourdata_DATA = $(EXTRA_DIST) \ No newline at end of file
diff --git a/gnuradio-examples/python/apps/hf_radio/Makefile.am b/gnuradio-examples/python/apps/hf_radio/Makefile.am
index 3f7340efe..a6a4dfe3d 100644
--- a/gnuradio-examples/python/apps/hf_radio/Makefile.am
+++ b/gnuradio-examples/python/apps/hf_radio/Makefile.am
@@ -19,6 +19,8 @@
# Boston, MA 02110-1301, USA.
#
+include $(top_srcdir)/Makefile.common
+
EXTRA_DIST = \
hfir.sci \
input.py \
@@ -32,3 +34,5 @@ EXTRA_DIST = \
startup.py \
ui.py
+ourdatadir = $(exampledir)/hf_radio
+ourdata_DATA = $(EXTRA_DIST)
diff --git a/gnuradio-examples/python/audio/Makefile.am b/gnuradio-examples/python/audio/Makefile.am
index e0fdb7e78..6c69588ca 100644
--- a/gnuradio-examples/python/audio/Makefile.am
+++ b/gnuradio-examples/python/audio/Makefile.am
@@ -19,16 +19,19 @@
# Boston, MA 02110-1301, USA.
#
+include $(top_srcdir)/Makefile.common
+
EXTRA_DIST = \
audio_copy.py \
audio_fft.py \
audio_play.py \
audio_to_file.py \
- dial_squelch.py \
dial_tone.py \
- dialtone_v.py \
mono_tone.py \
multi_tone.py \
noise.py \
spectrum_inversion.py \
test_resampler.py
+
+ourdatadir = $(exampledir)/audio
+ourdata_DATA = $(EXTRA_DIST)
diff --git a/gnuradio-examples/python/audio/dial_squelch.py b/gnuradio-examples/python/audio/dial_squelch.py
deleted file mode 100755
index 8a0c3f562..000000000
--- a/gnuradio-examples/python/audio/dial_squelch.py
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2006 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.
-#
-
-from gnuradio import gr, audio, eng_option
-from gnuradio.eng_option import eng_option
-from math import pi, cos
-from optparse import OptionParser
-
-"""
-This script generates a standard dial tone and then applies a sinusoidal
-envelope to vary it's loudness. The audio is then passed through the
-power squelch block before it gets sent to the sound card. By varying
-the command line parameters, one can see the effect of differing
-amounts of power averaging, threshold, and attack/decay ramping.
-"""
-
-class app_flow_graph(gr.flow_graph):
- def __init__(self, options, args):
- gr.flow_graph.__init__(self)
-
- # Create dial tone by adding two sine waves
- SRC1 = gr.sig_source_f(options.rate, gr.GR_SIN_WAVE, 350, 0.5, 0.0)
- SRC2 = gr.sig_source_f(options.rate, gr.GR_SIN_WAVE, 440, 0.5, 0.0)
- ADD = gr.add_ff()
-
- # Convert to vector stream (and back) to apply raised cosine envelope
- # You could also do this with a vector_source_f block that repeats.
- S2V = gr.stream_to_vector(gr.sizeof_float, options.rate)
- ENV = [0.5-cos(2*pi*x/options.rate)/2 for x in range(options.rate)]
- MLT = gr.multiply_const_vff(ENV)
- V2S = gr.vector_to_stream(gr.sizeof_float, options.rate)
-
- # Run through power squelch with user supplied or default options
- # Zero output when squelch is invoked
- SQL = gr.pwr_squelch_ff(options.threshold, options.alpha, options.ramp, False)
- DST = audio.sink(options.rate)
-
- # Solder it all together
- self.connect(SRC1, (ADD, 0))
- self.connect(SRC2, (ADD, 1))
- self.connect(ADD, S2V, MLT, V2S, SQL, DST)
-
-def main():
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-r", "--rate", type="int", default=8000, help="set audio output sample rate to RATE", metavar="RATE")
- parser.add_option("-t", "--threshold", type="eng_float", default=-10.0, help="set power squelch to DB", metavar="DB")
- parser.add_option("-a", "--alpha", type="eng_float", default=None, help="set alpha to ALPHA", metavar="ALPHA")
- parser.add_option("-m", "--ramp", type="int", default=None, help="set attack/decay ramp to SAMPLES", metavar="SAMPLES")
- (options, args) = parser.parse_args()
-
- if options.alpha == None:
- options.alpha = 50.0/options.rate
-
- if options.ramp == None:
- options.ramp = options.rate/50 # ~ 20 ms
-
- print "Using audio rate of", options.rate
- print "Using threshold of", options.threshold, "db"
- print "Using alpha of", options.alpha
- print "Using ramp of", options.ramp, "samples"
-
- fg = app_flow_graph(options, args)
-
- try:
- fg.run()
- except KeyboardInterrupt:
- pass
-
-if __name__ == "__main__":
- main()
diff --git a/gnuradio-examples/python/audio/dialtone_v.py b/gnuradio-examples/python/audio/dialtone_v.py
deleted file mode 100755
index ab1ca2a64..000000000
--- a/gnuradio-examples/python/audio/dialtone_v.py
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2006 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.
-#
-
-from gnuradio import gr, audio
-from math import pi, sin
-
-"""
-This test script demonstrates the use of element-wise vector processing
-vs. stream processing. The example is artificial in that the stream
-version in dial_tone.py is the normal way to do it; in addition, the
-envelope processing here is just for demo purposes and isn't needed.
-"""
-
-# For testing different buffer sizes
-rate = 48000
-
-fg = gr.flow_graph()
-
-# Two streams of floats
-a = gr.sig_source_f(rate, gr.GR_SIN_WAVE, 350, 0.5, 0.0);
-b = gr.sig_source_f(rate, gr.GR_SIN_WAVE, 440, 0.5, 0.0);
-
-# Turn them into vectors of length 'size'
-av = gr.stream_to_vector(gr.sizeof_float, rate)
-bv = gr.stream_to_vector(gr.sizeof_float, rate)
-
-# Make a vector adder for float vectors
-adder = gr.add_vff(rate)
-
-# Make a 1 Hz sine envelope
-envelope = [sin(2*pi*x/rate)*0.5 for x in range(rate)]
-multiplier = gr.multiply_const_vff(envelope)
-
-# Make an offset adder
-offset = gr.add_const_vff((0.5,)*rate)
-
-# Turn the vector back into a stream of floats
-result = gr.vector_to_stream(gr.sizeof_float, rate)
-
-# Play it
-sink = audio.sink(rate)
-
-fg.connect(a, av)
-fg.connect(b, bv)
-fg.connect(av, (adder, 0))
-fg.connect(bv, (adder, 1))
-fg.connect(adder, multiplier, offset, result, sink)
-
-try:
- fg.run()
-except KeyboardInterrupt:
- pass
diff --git a/gnuradio-examples/python/digital/Makefile.am b/gnuradio-examples/python/digital/Makefile.am
index 91b914dfd..1db2f8470 100644
--- a/gnuradio-examples/python/digital/Makefile.am
+++ b/gnuradio-examples/python/digital/Makefile.am
@@ -19,6 +19,8 @@
# Boston, MA 02110-1301, USA.
#
+include $(top_srcdir)/Makefile.common
+
EXTRA_DIST = \
README \
benchmark_rx.py \
@@ -32,3 +34,6 @@ EXTRA_DIST = \
transmit_path.py \
tunnel.py \
tx_voice.py
+
+ourdatadir = $(exampledir)/digital
+ourdata_DATA = $(EXTRA_DIST)
diff --git a/gnuradio-examples/python/digital_voice/Makefile.am b/gnuradio-examples/python/digital_voice/Makefile.am
index 0236fbf21..08bd48821 100644
--- a/gnuradio-examples/python/digital_voice/Makefile.am
+++ b/gnuradio-examples/python/digital_voice/Makefile.am
@@ -19,6 +19,11 @@
# Boston, MA 02110-1301, USA.
#
+include $(top_srcdir)/Makefile.common
+
EXTRA_DIST = \
encdec.py \
cvsd_test.py
+
+ourdatadir = $(exampledir)/digital_voice
+ourdata_DATA = $(EXTRA_DIST) \ No newline at end of file
diff --git a/gnuradio-examples/python/multi-antenna/Makefile.am b/gnuradio-examples/python/multi-antenna/Makefile.am
index 0172eac35..7e620b3ab 100644
--- a/gnuradio-examples/python/multi-antenna/Makefile.am
+++ b/gnuradio-examples/python/multi-antenna/Makefile.am
@@ -19,7 +19,12 @@
# Boston, MA 02110-1301, USA.
#
+include $(top_srcdir)/Makefile.common
+
EXTRA_DIST = \
multi_fft.py \
multi_file.py \
multi_scope.py
+
+ourdatadir = $(exampledir)/multi-antenna
+ourdata_DATA = $(EXTRA_DIST)
diff --git a/gnuradio-examples/python/multi_usrp/Makefile.am b/gnuradio-examples/python/multi_usrp/Makefile.am
index 1f51f23a8..01119bb8a 100644
--- a/gnuradio-examples/python/multi_usrp/Makefile.am
+++ b/gnuradio-examples/python/multi_usrp/Makefile.am
@@ -19,10 +19,12 @@
# Boston, MA 02110-1301, USA.
#
-EXTRA_DIST = \
- README \
- multi_usrp_oscope.py \
- multi_usrp_rx_cfile.py
-
+include $(top_srcdir)/Makefile.common
+EXTRA_DIST = \
+ README \
+ multi_usrp_oscope.py \
+ multi_usrp_rx_cfile.py
+ourdatadir = $(exampledir)/multi_usrp
+ourdata_DATA = $(EXTRA_DIST)
diff --git a/gnuradio-examples/python/ofdm/Makefile.am b/gnuradio-examples/python/ofdm/Makefile.am
index 5e8570d69..e9ff3baca 100644
--- a/gnuradio-examples/python/ofdm/Makefile.am
+++ b/gnuradio-examples/python/ofdm/Makefile.am
@@ -19,6 +19,8 @@
# Boston, MA 02110-1301, USA.
#
+include $(top_srcdir)/Makefile.common
+
EXTRA_DIST = \
benchmark_ofdm.py \
benchmark_ofdm_rx.py \
@@ -28,3 +30,6 @@ EXTRA_DIST = \
pick_bitrate.py \
receive_path.py \
transmit_path.py
+
+ourdatadir = $(exampledir)/ofdm
+ourdata_DATA = $(EXTRA_DIST)
diff --git a/gnuradio-examples/python/usrp/Makefile.am b/gnuradio-examples/python/usrp/Makefile.am
index 0d82031c6..71f460721 100644
--- a/gnuradio-examples/python/usrp/Makefile.am
+++ b/gnuradio-examples/python/usrp/Makefile.am
@@ -19,30 +19,14 @@
# Boston, MA 02110-1301, USA.
#
+include $(top_srcdir)/Makefile.common
+
EXTRA_DIST = \
- am_rcv.py \
- ayfabtu.py \
- benchmark_usb.py \
- flexrf_debug.py \
- flexrf_siggen.py \
fm_tx_2_daughterboards.py \
fm_tx4.py \
max_power.py \
- siggen_min2.py \
- test_counting.py \
- test_dft_analysis.py \
- test_dft_synth.py \
- test_digital_loopback_counting.py \
- test_digital_loopback_lfsr.py \
- tvrx_am_rcv_gui.py \
- usrp_fft_old.py \
- usrp_fft.py \
usrp_nbfm_ptt.py \
usrp_nbfm_rcv.py \
- usrp_oscope.py \
- usrp_rx_cfile.py \
- usrp_rx_nogui.py \
- usrp_siggen.py \
usrp_spectrum_sense.py \
usrp_tv_rcv_nogui.py \
usrp_tv_rcv.py \
@@ -53,3 +37,6 @@ EXTRA_DIST = \
usrp_wfm_rcv2_nogui.py \
usrp_wxapt_rcv.py \
wfm_rcv_file.py
+
+ourdatadir = $(exampledir)/usrp
+ourdata_DATA = $(EXTRA_DIST)
diff --git a/gnuradio-examples/python/usrp/am_rcv.py b/gnuradio-examples/python/usrp/limbo/am_rcv.py
index 2908dcbf5..2908dcbf5 100755
--- a/gnuradio-examples/python/usrp/am_rcv.py
+++ b/gnuradio-examples/python/usrp/limbo/am_rcv.py
diff --git a/gnuradio-examples/python/usrp/ayfabtu.dat b/gnuradio-examples/python/usrp/limbo/ayfabtu.dat
index 5c65cf483..5c65cf483 100644
--- a/gnuradio-examples/python/usrp/ayfabtu.dat
+++ b/gnuradio-examples/python/usrp/limbo/ayfabtu.dat
Binary files differ
diff --git a/gnuradio-examples/python/usrp/ayfabtu.py b/gnuradio-examples/python/usrp/limbo/ayfabtu.py
index de6c26f58..de6c26f58 100755
--- a/gnuradio-examples/python/usrp/ayfabtu.py
+++ b/gnuradio-examples/python/usrp/limbo/ayfabtu.py
diff --git a/gnuradio-examples/python/usrp/flexrf_debug.py b/gnuradio-examples/python/usrp/limbo/flexrf_debug.py
index 13d1db110..13d1db110 100755
--- a/gnuradio-examples/python/usrp/flexrf_debug.py
+++ b/gnuradio-examples/python/usrp/limbo/flexrf_debug.py
diff --git a/gnuradio-examples/python/usrp/flexrf_siggen.py b/gnuradio-examples/python/usrp/limbo/flexrf_siggen.py
index 6a59148b8..6a59148b8 100755
--- a/gnuradio-examples/python/usrp/flexrf_siggen.py
+++ b/gnuradio-examples/python/usrp/limbo/flexrf_siggen.py
diff --git a/gnuradio-examples/python/usrp/siggen_min2.py b/gnuradio-examples/python/usrp/limbo/siggen_min2.py
index 8709e3373..8709e3373 100755
--- a/gnuradio-examples/python/usrp/siggen_min2.py
+++ b/gnuradio-examples/python/usrp/limbo/siggen_min2.py
diff --git a/gnuradio-examples/python/usrp/test_dft_analysis.py b/gnuradio-examples/python/usrp/limbo/test_dft_analysis.py
index a1d9eda46..a1d9eda46 100755
--- a/gnuradio-examples/python/usrp/test_dft_analysis.py
+++ b/gnuradio-examples/python/usrp/limbo/test_dft_analysis.py
diff --git a/gnuradio-examples/python/usrp/test_dft_synth.py b/gnuradio-examples/python/usrp/limbo/test_dft_synth.py
index 60a49e3b3..60a49e3b3 100755
--- a/gnuradio-examples/python/usrp/test_dft_synth.py
+++ b/gnuradio-examples/python/usrp/limbo/test_dft_synth.py
diff --git a/gnuradio-examples/python/usrp/tvrx_am_rcv_gui.py b/gnuradio-examples/python/usrp/limbo/tvrx_am_rcv_gui.py
index 403cf3fa4..403cf3fa4 100755
--- a/gnuradio-examples/python/usrp/tvrx_am_rcv_gui.py
+++ b/gnuradio-examples/python/usrp/limbo/tvrx_am_rcv_gui.py
diff --git a/gnuradio-examples/python/usrp/usrp_fft_old.py b/gnuradio-examples/python/usrp/limbo/usrp_fft_old.py
index 5edb372b9..5edb372b9 100755
--- a/gnuradio-examples/python/usrp/usrp_fft_old.py
+++ b/gnuradio-examples/python/usrp/limbo/usrp_fft_old.py
diff --git a/gr-atsc/src/python/Makefile.am b/gr-atsc/src/python/Makefile.am
index 952bfddb5..ffc7780df 100644
--- a/gr-atsc/src/python/Makefile.am
+++ b/gr-atsc/src/python/Makefile.am
@@ -21,7 +21,20 @@
include $(top_srcdir)/Makefile.common
-EXTRA_DIST = run_tests.in
+EXAMPLE_FILES = \
+ README \
+ btl-fsd.py \
+ fpll.py \
+ interp.py \
+ xlate.py \
+ viterbi-out.py
+
+
+EXTRA_DIST = run_tests.in \
+ $(EXAMPLE_FILES)
+
+ourdatadir = $(exampledir)/atsc
+ourdata_DATA = $(EXAMPLE_FILES)
TESTS = \
@@ -31,3 +44,12 @@ TESTS = \
noinst_PYTHON = \
atsc_utils.py \
qa_atsc.py
+
+# Make example scripts with #! executable
+install-data-local:
+ for i in `find $(ourdatadir) -type f ! -perm 755`; do \
+ if head -1 $$i | grep -q '^#!'; then \
+ chmod 755 $$i; \
+ echo "made executable: $$i"; \
+ fi; \
+ done
diff --git a/gr-trellis/src/Makefile.am b/gr-trellis/src/Makefile.am
index e3f0399eb..41f525b0b 100644
--- a/gr-trellis/src/Makefile.am
+++ b/gr-trellis/src/Makefile.am
@@ -19,4 +19,4 @@
# Boston, MA 02110-1301, USA.
#
-SUBDIRS = lib python
+SUBDIRS = lib python examples
diff --git a/gnuradio-examples/python/channel-coding/Makefile.am b/gr-trellis/src/examples/Makefile.am
index 3a6c33820..21003991f 100644
--- a/gnuradio-examples/python/channel-coding/Makefile.am
+++ b/gr-trellis/src/examples/Makefile.am
@@ -19,6 +19,10 @@
# Boston, MA 02110-1301, USA.
#
+include $(top_srcdir)/Makefile.common
+
+SUBDIRS = fsm_files
+
EXTRA_DIST = \
README \
fsm_utils.py \
@@ -36,6 +40,17 @@ EXTRA_DIST = \
test_turbo_equalization1.py \
test_turbo_equalization2.py
-SUBDIRS = fsm_files
+
+ourdatadir = $(exampledir)/trellis
+ourdata_DATA = $(EXTRA_DIST)
+
+# Make example scripts with #! executable
+install-data-local:
+ for i in `find $(ourdatadir) -type f ! -perm 755`; do \
+ if head -1 $$i | grep -q '^#!'; then \
+ chmod 755 $$i; \
+ echo "made executable: $$i"; \
+ fi; \
+ done
MOSTLYCLEANFILES = *.pyc
diff --git a/gnuradio-examples/python/channel-coding/README b/gr-trellis/src/examples/README
index d5bad85f5..d5bad85f5 100644
--- a/gnuradio-examples/python/channel-coding/README
+++ b/gr-trellis/src/examples/README
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/Makefile.am b/gr-trellis/src/examples/fsm_files/Makefile.am
index 081f62fc3..1414d7978 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/Makefile.am
+++ b/gr-trellis/src/examples/fsm_files/Makefile.am
@@ -19,6 +19,8 @@
# Boston, MA 02110-1301, USA.
#
+include $(top_srcdir)/Makefile.common
+
EXTRA_DIST = \
awgn1o2_128.fsm \
awgn1o2_16.fsm \
@@ -35,3 +37,5 @@ EXTRA_DIST = \
rep5.fsm \
simple.fsm
+ourdatadir = $(exampledir)/trellis/fsm_files
+ourdata_DATA = $(EXTRA_DIST)
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_128.fsm b/gr-trellis/src/examples/fsm_files/awgn1o2_128.fsm
index bb79c59da..bb79c59da 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_128.fsm
+++ b/gr-trellis/src/examples/fsm_files/awgn1o2_128.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_16.fsm b/gr-trellis/src/examples/fsm_files/awgn1o2_16.fsm
index cdab41359..cdab41359 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_16.fsm
+++ b/gr-trellis/src/examples/fsm_files/awgn1o2_16.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_4.fsm b/gr-trellis/src/examples/fsm_files/awgn1o2_4.fsm
index fb316b5ef..fb316b5ef 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_4.fsm
+++ b/gr-trellis/src/examples/fsm_files/awgn1o2_4.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_8.fsm b/gr-trellis/src/examples/fsm_files/awgn1o2_8.fsm
index 604bac6c2..604bac6c2 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_8.fsm
+++ b/gr-trellis/src/examples/fsm_files/awgn1o2_8.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_16.fsm b/gr-trellis/src/examples/fsm_files/awgn2o3_16.fsm
index 9630cd9af..9630cd9af 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_16.fsm
+++ b/gr-trellis/src/examples/fsm_files/awgn2o3_16.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4.fsm b/gr-trellis/src/examples/fsm_files/awgn2o3_4.fsm
index 3ac57be18..3ac57be18 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4.fsm
+++ b/gr-trellis/src/examples/fsm_files/awgn2o3_4.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msb.fsm b/gr-trellis/src/examples/fsm_files/awgn2o3_4_msb.fsm
index 551b71101..551b71101 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msb.fsm
+++ b/gr-trellis/src/examples/fsm_files/awgn2o3_4_msb.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msbG.fsm b/gr-trellis/src/examples/fsm_files/awgn2o3_4_msbG.fsm
index 8956c53da..8956c53da 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msbG.fsm
+++ b/gr-trellis/src/examples/fsm_files/awgn2o3_4_msbG.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_8.fsm b/gr-trellis/src/examples/fsm_files/awgn2o3_8.fsm
index 34deeb68c..34deeb68c 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_8.fsm
+++ b/gr-trellis/src/examples/fsm_files/awgn2o3_8.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o4_4.fsm b/gr-trellis/src/examples/fsm_files/awgn2o4_4.fsm
index a895be896..a895be896 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o4_4.fsm
+++ b/gr-trellis/src/examples/fsm_files/awgn2o4_4.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/disconnected.fsm b/gr-trellis/src/examples/fsm_files/disconnected.fsm
index 847963e7b..847963e7b 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/disconnected.fsm
+++ b/gr-trellis/src/examples/fsm_files/disconnected.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/irregular.fsm b/gr-trellis/src/examples/fsm_files/irregular.fsm
index 80b82b889..80b82b889 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/irregular.fsm
+++ b/gr-trellis/src/examples/fsm_files/irregular.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/rep3.fsm b/gr-trellis/src/examples/fsm_files/rep3.fsm
index ef1bd1f02..ef1bd1f02 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/rep3.fsm
+++ b/gr-trellis/src/examples/fsm_files/rep3.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/rep5.fsm b/gr-trellis/src/examples/fsm_files/rep5.fsm
index 581858ec1..581858ec1 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/rep5.fsm
+++ b/gr-trellis/src/examples/fsm_files/rep5.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/simple.fsm b/gr-trellis/src/examples/fsm_files/simple.fsm
index 07fb0852f..07fb0852f 100644
--- a/gnuradio-examples/python/channel-coding/fsm_files/simple.fsm
+++ b/gr-trellis/src/examples/fsm_files/simple.fsm
diff --git a/gnuradio-examples/python/channel-coding/fsm_utils.py b/gr-trellis/src/examples/fsm_utils.py
index 1b011246c..1b011246c 100755
--- a/gnuradio-examples/python/channel-coding/fsm_utils.py
+++ b/gr-trellis/src/examples/fsm_utils.py
diff --git a/gnuradio-examples/python/channel-coding/test_sccc_hard.py b/gr-trellis/src/examples/test_sccc_hard.py
index d634282fe..d634282fe 100755
--- a/gnuradio-examples/python/channel-coding/test_sccc_hard.py
+++ b/gr-trellis/src/examples/test_sccc_hard.py
diff --git a/gnuradio-examples/python/channel-coding/test_sccc_soft.py b/gr-trellis/src/examples/test_sccc_soft.py
index 23e6553ca..23e6553ca 100755
--- a/gnuradio-examples/python/channel-coding/test_sccc_soft.py
+++ b/gr-trellis/src/examples/test_sccc_soft.py
diff --git a/gnuradio-examples/python/channel-coding/test_sccc_turbo.py b/gr-trellis/src/examples/test_sccc_turbo.py
index f67fb0922..f67fb0922 100755
--- a/gnuradio-examples/python/channel-coding/test_sccc_turbo.py
+++ b/gr-trellis/src/examples/test_sccc_turbo.py
diff --git a/gnuradio-examples/python/channel-coding/test_tcm.py b/gr-trellis/src/examples/test_tcm.py
index f22501558..f22501558 100755
--- a/gnuradio-examples/python/channel-coding/test_tcm.py
+++ b/gr-trellis/src/examples/test_tcm.py
diff --git a/gnuradio-examples/python/channel-coding/test_tcm1.py b/gr-trellis/src/examples/test_tcm1.py
index 66d7131e3..66d7131e3 100755
--- a/gnuradio-examples/python/channel-coding/test_tcm1.py
+++ b/gr-trellis/src/examples/test_tcm1.py
diff --git a/gnuradio-examples/python/channel-coding/test_tcm2.py b/gr-trellis/src/examples/test_tcm2.py
index 9680909ea..9680909ea 100755
--- a/gnuradio-examples/python/channel-coding/test_tcm2.py
+++ b/gr-trellis/src/examples/test_tcm2.py
diff --git a/gnuradio-examples/python/channel-coding/test_tcm_combined.py b/gr-trellis/src/examples/test_tcm_combined.py
index 92e020bea..92e020bea 100755
--- a/gnuradio-examples/python/channel-coding/test_tcm_combined.py
+++ b/gr-trellis/src/examples/test_tcm_combined.py
diff --git a/gnuradio-examples/python/channel-coding/test_tcm_parallel.py b/gr-trellis/src/examples/test_tcm_parallel.py
index f9dcb5852..f9dcb5852 100755
--- a/gnuradio-examples/python/channel-coding/test_tcm_parallel.py
+++ b/gr-trellis/src/examples/test_tcm_parallel.py
diff --git a/gnuradio-examples/python/channel-coding/test_turbo_equalization.py b/gr-trellis/src/examples/test_turbo_equalization.py
index ff0497e2b..ff0497e2b 100755
--- a/gnuradio-examples/python/channel-coding/test_turbo_equalization.py
+++ b/gr-trellis/src/examples/test_turbo_equalization.py
diff --git a/gnuradio-examples/python/channel-coding/test_turbo_equalization1.py b/gr-trellis/src/examples/test_turbo_equalization1.py
index 5afd5ba66..5afd5ba66 100755
--- a/gnuradio-examples/python/channel-coding/test_turbo_equalization1.py
+++ b/gr-trellis/src/examples/test_turbo_equalization1.py
diff --git a/gnuradio-examples/python/channel-coding/test_turbo_equalization2.py b/gr-trellis/src/examples/test_turbo_equalization2.py
index 7e252d6d1..7e252d6d1 100755
--- a/gnuradio-examples/python/channel-coding/test_turbo_equalization2.py
+++ b/gr-trellis/src/examples/test_turbo_equalization2.py
diff --git a/gnuradio-examples/python/channel-coding/test_viterbi_equalization.py b/gr-trellis/src/examples/test_viterbi_equalization.py
index 24545e3b0..24545e3b0 100755
--- a/gnuradio-examples/python/channel-coding/test_viterbi_equalization.py
+++ b/gr-trellis/src/examples/test_viterbi_equalization.py
diff --git a/gnuradio-examples/python/channel-coding/test_viterbi_equalization1.py b/gr-trellis/src/examples/test_viterbi_equalization1.py
index 002d41a76..002d41a76 100755
--- a/gnuradio-examples/python/channel-coding/test_viterbi_equalization1.py
+++ b/gr-trellis/src/examples/test_viterbi_equalization1.py
diff --git a/gr-utils/Makefile.am b/gr-utils/Makefile.am
new file mode 100644
index 000000000..ec9cd0296
--- /dev/null
+++ b/gr-utils/Makefile.am
@@ -0,0 +1,22 @@
+#
+# Copyright 2007 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.
+#
+
+SUBDIRS = src
diff --git a/gr-utils/src/Makefile.am b/gr-utils/src/Makefile.am
new file mode 100644
index 000000000..7a9412113
--- /dev/null
+++ b/gr-utils/src/Makefile.am
@@ -0,0 +1,22 @@
+#
+# Copyright 2007 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.
+#
+
+SUBDIRS = lib python
diff --git a/gr-utils/src/lib/Makefile.am b/gr-utils/src/lib/Makefile.am
new file mode 100644
index 000000000..67f9dad59
--- /dev/null
+++ b/gr-utils/src/lib/Makefile.am
@@ -0,0 +1,20 @@
+#
+# Copyright 2007 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.
+#
diff --git a/gr-utils/src/python/Makefile.am b/gr-utils/src/python/Makefile.am
new file mode 100644
index 000000000..cb8e9811c
--- /dev/null
+++ b/gr-utils/src/python/Makefile.am
@@ -0,0 +1,35 @@
+#
+# Copyright 2007 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.
+#
+
+EXTRA_DIST = \
+ $(bin_SCRIPTS)
+
+bin_SCRIPTS = \
+ usrp_benchmark_usb.py \
+ usrp_fft.py \
+ usrp_oscope.py \
+ usrp_print_db.py \
+ usrp_rx_cfile.py \
+ usrp_rx_nogui.py \
+ usrp_siggen.py \
+ usrp_test_counting.py \
+ usrp_test_loop.py \
+ usrp_test_loop_lfsr.py
diff --git a/gnuradio-examples/python/usrp/benchmark_usb.py b/gr-utils/src/python/usrp_benchmark_usb.py
index fc01514a1..fc01514a1 100755
--- a/gnuradio-examples/python/usrp/benchmark_usb.py
+++ b/gr-utils/src/python/usrp_benchmark_usb.py
diff --git a/gnuradio-examples/python/usrp/usrp_fft.py b/gr-utils/src/python/usrp_fft.py
index 353c89218..353c89218 100755
--- a/gnuradio-examples/python/usrp/usrp_fft.py
+++ b/gr-utils/src/python/usrp_fft.py
diff --git a/gnuradio-examples/python/usrp/usrp_oscope.py b/gr-utils/src/python/usrp_oscope.py
index 5d7149281..5d7149281 100755
--- a/gnuradio-examples/python/usrp/usrp_oscope.py
+++ b/gr-utils/src/python/usrp_oscope.py
diff --git a/gr-utils/src/python/usrp_print_db.py b/gr-utils/src/python/usrp_print_db.py
new file mode 100755
index 000000000..b082cb073
--- /dev/null
+++ b/gr-utils/src/python/usrp_print_db.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+#
+# Copyright 2006,2007 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.
+#
+
+#!/usr/bin/env python
+
+from gnuradio import gr
+from gnuradio import usrp
+from optparse import OptionParser
+from usrpm import usrp_dbid
+
+u_source = usrp.source_c()
+u_sink = usrp.sink_c()
+
+subdev_Ar = usrp.selected_subdev(u_source, (0,0))
+subdev_Br = usrp.selected_subdev(u_source, (1,0))
+subdev_At = usrp.selected_subdev(u_sink, (0,0))
+subdev_Bt = usrp.selected_subdev(u_sink, (1,0))
+
+print "RX d'board %s" % (subdev_Ar.side_and_name(),)
+print "RX d'board %s" % (subdev_Br.side_and_name(),)
+print "TX d'board %s" % (subdev_At.side_and_name(),)
+print "TX d'board %s" % (subdev_Bt.side_and_name(),)
+
diff --git a/gnuradio-examples/python/usrp/usrp_rx_cfile.py b/gr-utils/src/python/usrp_rx_cfile.py
index 306e101d3..306e101d3 100755
--- a/gnuradio-examples/python/usrp/usrp_rx_cfile.py
+++ b/gr-utils/src/python/usrp_rx_cfile.py
diff --git a/gnuradio-examples/python/usrp/usrp_rx_nogui.py b/gr-utils/src/python/usrp_rx_nogui.py
index b33d626e2..b33d626e2 100755
--- a/gnuradio-examples/python/usrp/usrp_rx_nogui.py
+++ b/gr-utils/src/python/usrp_rx_nogui.py
diff --git a/gnuradio-examples/python/usrp/usrp_siggen.py b/gr-utils/src/python/usrp_siggen.py
index 7f5285885..7f5285885 100755
--- a/gnuradio-examples/python/usrp/usrp_siggen.py
+++ b/gr-utils/src/python/usrp_siggen.py
diff --git a/gnuradio-examples/python/usrp/test_counting.py b/gr-utils/src/python/usrp_test_counting.py
index ccfa948c6..ccfa948c6 100755
--- a/gnuradio-examples/python/usrp/test_counting.py
+++ b/gr-utils/src/python/usrp_test_counting.py
diff --git a/gnuradio-examples/python/usrp/test_digital_loopback_counting.py b/gr-utils/src/python/usrp_test_loop.py
index 51a705a05..51a705a05 100755
--- a/gnuradio-examples/python/usrp/test_digital_loopback_counting.py
+++ b/gr-utils/src/python/usrp_test_loop.py
diff --git a/gnuradio-examples/python/usrp/test_digital_loopback_lfsr.py b/gr-utils/src/python/usrp_test_loop_lfsr.py
index 446ca30a1..446ca30a1 100755
--- a/gnuradio-examples/python/usrp/test_digital_loopback_lfsr.py
+++ b/gr-utils/src/python/usrp_test_loop_lfsr.py
diff --git a/usrp/host/apps/print-db b/usrp/host/apps/print-db
deleted file mode 100755
index 0a320981a..000000000
--- a/usrp/host/apps/print-db
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env python
-
-from gnuradio import gr
-from gnuradio import usrp
-from optparse import OptionParser
-from usrpm import usrp_dbid
-
-u_source = usrp.source_c()
-u_sink = usrp.sink_c()
-subdev_Ar = usrp.selected_subdev(u_source, (0,0))
-subdev_Br = usrp.selected_subdev(u_source, (1,0))
-subdev_At = usrp.selected_subdev(u_sink, (0,0))
-subdev_Bt = usrp.selected_subdev(u_sink, (1,0))
-
-print "RX d'board %s" % (subdev_Ar.side_and_name(),)
-print "RX d'board %s" % (subdev_Br.side_and_name(),)
-print "TX d'board %s" % (subdev_At.side_and_name(),)
-print "TX d'board %s" % (subdev_Bt.side_and_name(),)
-