summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/grc_gnuradio_examples.m45
-rw-r--r--config/grc_gr_audio.m43
-rw-r--r--config/grc_gr_usrp2.m41
-rw-r--r--gnuradio-core/src/lib/filter/gr_single_pole_iir.h4
-rw-r--r--gnuradio-core/src/lib/general/gr_quadrature_demod_cf.h2
-rw-r--r--gnuradio-core/src/lib/general/gr_quadrature_demod_cf.i4
-rw-r--r--gnuradio-examples/Makefile.am3
-rw-r--r--gnuradio-examples/c++/.gitignore5
-rw-r--r--gnuradio-examples/python/Makefile.am3
-rw-r--r--gr-audio/Makefile.am2
-rw-r--r--gr-audio/examples/.gitignore2
-rw-r--r--gr-audio/examples/Makefile.am (renamed from gnuradio-examples/c++/Makefile.am)7
-rw-r--r--gr-audio/examples/c++/.gitignore (renamed from gnuradio-examples/c++/audio/.gitignore)0
-rw-r--r--gr-audio/examples/c++/Makefile.am (renamed from gnuradio-examples/c++/audio/Makefile.am)0
-rw-r--r--gr-audio/examples/c++/dial_tone.cc (renamed from gnuradio-examples/c++/audio/dial_tone.cc)0
-rw-r--r--gr-audio/examples/python/.gitignore (renamed from gnuradio-examples/python/audio/.gitignore)6
-rw-r--r--gr-audio/examples/python/Makefile.am (renamed from gnuradio-examples/python/audio/Makefile.am)0
-rwxr-xr-xgr-audio/examples/python/audio_copy.py (renamed from gnuradio-examples/python/audio/audio_copy.py)0
-rwxr-xr-xgr-audio/examples/python/audio_fft.py (renamed from gnuradio-examples/python/audio/audio_fft.py)0
-rwxr-xr-xgr-audio/examples/python/audio_play.py (renamed from gnuradio-examples/python/audio/audio_play.py)0
-rwxr-xr-xgr-audio/examples/python/audio_to_file.py (renamed from gnuradio-examples/python/audio/audio_to_file.py)0
-rwxr-xr-xgr-audio/examples/python/dial_tone.py (renamed from gnuradio-examples/python/audio/dial_tone.py)0
-rwxr-xr-xgr-audio/examples/python/dial_tone_daemon.py (renamed from gnuradio-examples/python/audio/dial_tone_daemon.py)0
-rwxr-xr-xgr-audio/examples/python/dial_tone_wav.py (renamed from gnuradio-examples/python/audio/dial_tone_wav.py)0
-rwxr-xr-xgr-audio/examples/python/mono_tone.py (renamed from gnuradio-examples/python/audio/mono_tone.py)0
-rwxr-xr-xgr-audio/examples/python/multi_tone.py (renamed from gnuradio-examples/python/audio/multi_tone.py)0
-rwxr-xr-xgr-audio/examples/python/noise.py (renamed from gnuradio-examples/python/audio/noise.py)0
-rwxr-xr-xgr-audio/examples/python/spectrum_inversion.py (renamed from gnuradio-examples/python/audio/spectrum_inversion.py)0
-rwxr-xr-xgr-audio/examples/python/test_resampler.py (renamed from gnuradio-examples/python/audio/test_resampler.py)0
-rw-r--r--gr-howto-write-a-block/version.sh4
-rw-r--r--gr-qtgui/.gitignore1
-rw-r--r--gr-qtgui/lib/.gitignore1
-rw-r--r--gr-qtgui/swig/.gitignore2
-rw-r--r--gr-uhd/.gitignore1
-rw-r--r--gr-uhd/grc/gen_uhd_usrp_blocks.py65
-rw-r--r--gr-uhd/lib/gr_uhd_usrp_source.cc34
-rw-r--r--gr-usrp/apps/Makefile.am11
-rwxr-xr-xgr-usrp/apps/lsusrp (renamed from gr-utils/src/python/lsusrp)0
-rwxr-xr-xgr-usrp/apps/usrp_print_db.py (renamed from gr-utils/src/python/usrp_print_db.py)0
-rwxr-xr-xgr-usrp/apps/usrp_rx_cfile.py (renamed from gr-utils/src/python/usrp_rx_cfile.py)0
-rwxr-xr-xgr-usrp/apps/usrp_test_counting.py (renamed from gr-utils/src/python/usrp_test_counting.py)0
-rwxr-xr-xgr-usrp/apps/usrp_test_loopback.py (renamed from gr-utils/src/python/usrp_test_loopback.py)0
-rw-r--r--gr-usrp2/Makefile.am2
-rw-r--r--gr-usrp2/apps/.gitignore2
-rw-r--r--gr-usrp2/apps/Makefile.am32
-rwxr-xr-xgr-usrp2/apps/usrp2_rx_cfile.py (renamed from gr-utils/src/python/usrp2_rx_cfile.py)0
-rw-r--r--gr-utils/src/python/Makefile.am9
-rw-r--r--grc/blocks/gr_quadrature_demod_cf.xml1
-rw-r--r--grc/python/flow_graph.tmpl11
-rw-r--r--gruel/src/python/.gitignore1
-rw-r--r--gruel/src/swig/.gitignore2
-rw-r--r--version.sh4
52 files changed, 159 insertions, 71 deletions
diff --git a/config/grc_gnuradio_examples.m4 b/config/grc_gnuradio_examples.m4
index 203f39d0d..6dff01943 100644
--- a/config/grc_gnuradio_examples.m4
+++ b/config/grc_gnuradio_examples.m4
@@ -1,4 +1,4 @@
-dnl Copyright 2001,2002,2003,2004,2005,2006,2008,2009 Free Software Foundation, Inc.
+dnl Copyright 2001,2002,2003,2004,2005,2006,2008,2009,2011 Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Radio
dnl
@@ -26,14 +26,11 @@ AC_DEFUN([GRC_GNURADIO_EXAMPLES],[
AC_CONFIG_FILES([ \
gnuradio-examples/Makefile \
- gnuradio-examples/c++/Makefile \
- gnuradio-examples/c++/audio/Makefile \
gnuradio-examples/python/Makefile \
gnuradio-examples/grc/Makefile \
gnuradio-examples/python/apps/hf_explorer/Makefile \
gnuradio-examples/python/apps/hf_radio/Makefile \
gnuradio-examples/python/apps/Makefile \
- gnuradio-examples/python/audio/Makefile \
gnuradio-examples/python/digital/Makefile \
gnuradio-examples/python/digital_voice/Makefile \
gnuradio-examples/python/digital-bert/Makefile \
diff --git a/config/grc_gr_audio.m4 b/config/grc_gr_audio.m4
index bcb19be35..92a0440d0 100644
--- a/config/grc_gr_audio.m4
+++ b/config/grc_gr_audio.m4
@@ -101,6 +101,9 @@ AC_DEFUN([GRC_GR_AUDIO],[
AC_CONFIG_FILES([ \
gr-audio/Makefile \
+ gr-audio/examples/Makefile \
+ gr-audio/examples/c++/Makefile \
+ gr-audio/examples/python/Makefile \
gr-audio/grc/Makefile \
gr-audio/include/Makefile \
gr-audio/lib/Makefile \
diff --git a/config/grc_gr_usrp2.m4 b/config/grc_gr_usrp2.m4
index 3d64db6d6..4ee29861b 100644
--- a/config/grc_gr_usrp2.m4
+++ b/config/grc_gr_usrp2.m4
@@ -26,6 +26,7 @@ AC_DEFUN([GRC_GR_USRP2],[
AC_CONFIG_FILES([ \
gr-usrp2/Makefile \
+ gr-usrp2/apps/Makefile \
gr-usrp2/grc/Makefile \
gr-usrp2/gnuradio-usrp2.pc \
gr-usrp2/src/Makefile \
diff --git a/gnuradio-core/src/lib/filter/gr_single_pole_iir.h b/gnuradio-core/src/lib/filter/gr_single_pole_iir.h
index da919b35c..8781065d4 100644
--- a/gnuradio-core/src/lib/filter/gr_single_pole_iir.h
+++ b/gnuradio-core/src/lib/filter/gr_single_pole_iir.h
@@ -71,7 +71,7 @@ public:
d_prev_output = 0;
}
- o_type prev_output () { return d_prev_output; }
+ o_type prev_output () const { return d_prev_output; }
protected:
tap_type d_alpha;
@@ -155,7 +155,7 @@ public:
d_prev_output = 0;
}
- gr_complexd prev_output () { return d_prev_output; }
+ gr_complexd prev_output () const { return d_prev_output; }
protected:
double d_alpha;
diff --git a/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.h b/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.h
index a29acd628..df6de93d5 100644
--- a/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.h
+++ b/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.h
@@ -44,6 +44,8 @@ class gr_quadrature_demod_cf : public gr_sync_block
float d_gain;
public:
+ void set_gain(float gain) { d_gain = gain; }
+ float gain() const { return d_gain; }
int work (int noutput_items,
gr_vector_const_void_star &input_items,
diff --git a/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.i b/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.i
index fbd45dcf8..d9f338daa 100644
--- a/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.i
+++ b/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.i
@@ -27,4 +27,8 @@ gr_quadrature_demod_cf_sptr gr_make_quadrature_demod_cf (float gain);
class gr_quadrature_demod_cf : public gr_sync_block
{
gr_quadrature_demod_cf (float gain);
+
+public:
+ void set_gain(float gain) { d_gain = gain; }
+ float gain() const { return d_gain; }
};
diff --git a/gnuradio-examples/Makefile.am b/gnuradio-examples/Makefile.am
index e0c1b1d15..ded4e743d 100644
--- a/gnuradio-examples/Makefile.am
+++ b/gnuradio-examples/Makefile.am
@@ -21,7 +21,8 @@
include $(top_srcdir)/Makefile.common
-SUBDIRS = c++
+SUBDIRS =
+
if PYTHON
SUBDIRS += python grc
endif
diff --git a/gnuradio-examples/c++/.gitignore b/gnuradio-examples/c++/.gitignore
deleted file mode 100644
index 19dd0e0a5..000000000
--- a/gnuradio-examples/c++/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/.deps
-/.libs
-/Makefile
-/Makefile.in
-/dialtone
diff --git a/gnuradio-examples/python/Makefile.am b/gnuradio-examples/python/Makefile.am
index ea03b438f..30effdf9a 100644
--- a/gnuradio-examples/python/Makefile.am
+++ b/gnuradio-examples/python/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2004,2007,2009 Free Software Foundation, Inc.
+# Copyright 2004,2007,2009,2011 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,6 @@ include $(top_srcdir)/Makefile.common
SUBDIRS = \
apps \
- audio \
digital \
digital-bert \
digital_voice \
diff --git a/gr-audio/Makefile.am b/gr-audio/Makefile.am
index bb0d05d07..cde1702f2 100644
--- a/gr-audio/Makefile.am
+++ b/gr-audio/Makefile.am
@@ -21,7 +21,7 @@
include $(top_srcdir)/Makefile.common
-SUBDIRS = include lib
+SUBDIRS = include lib examples
if PYTHON
SUBDIRS += grc swig
diff --git a/gr-audio/examples/.gitignore b/gr-audio/examples/.gitignore
new file mode 100644
index 000000000..b336cc7ce
--- /dev/null
+++ b/gr-audio/examples/.gitignore
@@ -0,0 +1,2 @@
+/Makefile
+/Makefile.in
diff --git a/gnuradio-examples/c++/Makefile.am b/gr-audio/examples/Makefile.am
index 5a49e0e89..a2365d403 100644
--- a/gnuradio-examples/c++/Makefile.am
+++ b/gr-audio/examples/Makefile.am
@@ -20,4 +20,9 @@
#
include $(top_srcdir)/Makefile.common
-SUBDIRS = audio
+
+SUBDIRS = c++
+
+if PYTHON
+SUBDIRS += python
+endif
diff --git a/gnuradio-examples/c++/audio/.gitignore b/gr-audio/examples/c++/.gitignore
index bb08aaf91..bb08aaf91 100644
--- a/gnuradio-examples/c++/audio/.gitignore
+++ b/gr-audio/examples/c++/.gitignore
diff --git a/gnuradio-examples/c++/audio/Makefile.am b/gr-audio/examples/c++/Makefile.am
index 88bd7c1fd..88bd7c1fd 100644
--- a/gnuradio-examples/c++/audio/Makefile.am
+++ b/gr-audio/examples/c++/Makefile.am
diff --git a/gnuradio-examples/c++/audio/dial_tone.cc b/gr-audio/examples/c++/dial_tone.cc
index e4e3d8ceb..e4e3d8ceb 100644
--- a/gnuradio-examples/c++/audio/dial_tone.cc
+++ b/gr-audio/examples/c++/dial_tone.cc
diff --git a/gnuradio-examples/python/audio/.gitignore b/gr-audio/examples/python/.gitignore
index c400497f5..b4813f3c8 100644
--- a/gnuradio-examples/python/audio/.gitignore
+++ b/gr-audio/examples/python/.gitignore
@@ -1,10 +1,4 @@
/Makefile
/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
/*.pyc
/*.pyo
diff --git a/gnuradio-examples/python/audio/Makefile.am b/gr-audio/examples/python/Makefile.am
index 356b51559..356b51559 100644
--- a/gnuradio-examples/python/audio/Makefile.am
+++ b/gr-audio/examples/python/Makefile.am
diff --git a/gnuradio-examples/python/audio/audio_copy.py b/gr-audio/examples/python/audio_copy.py
index 3094c9f7a..3094c9f7a 100755
--- a/gnuradio-examples/python/audio/audio_copy.py
+++ b/gr-audio/examples/python/audio_copy.py
diff --git a/gnuradio-examples/python/audio/audio_fft.py b/gr-audio/examples/python/audio_fft.py
index 960e0f94d..960e0f94d 100755
--- a/gnuradio-examples/python/audio/audio_fft.py
+++ b/gr-audio/examples/python/audio_fft.py
diff --git a/gnuradio-examples/python/audio/audio_play.py b/gr-audio/examples/python/audio_play.py
index f9520c7cf..f9520c7cf 100755
--- a/gnuradio-examples/python/audio/audio_play.py
+++ b/gr-audio/examples/python/audio_play.py
diff --git a/gnuradio-examples/python/audio/audio_to_file.py b/gr-audio/examples/python/audio_to_file.py
index 0d54f7bd2..0d54f7bd2 100755
--- a/gnuradio-examples/python/audio/audio_to_file.py
+++ b/gr-audio/examples/python/audio_to_file.py
diff --git a/gnuradio-examples/python/audio/dial_tone.py b/gr-audio/examples/python/dial_tone.py
index 65c5e50b2..65c5e50b2 100755
--- a/gnuradio-examples/python/audio/dial_tone.py
+++ b/gr-audio/examples/python/dial_tone.py
diff --git a/gnuradio-examples/python/audio/dial_tone_daemon.py b/gr-audio/examples/python/dial_tone_daemon.py
index d30d0e117..d30d0e117 100755
--- a/gnuradio-examples/python/audio/dial_tone_daemon.py
+++ b/gr-audio/examples/python/dial_tone_daemon.py
diff --git a/gnuradio-examples/python/audio/dial_tone_wav.py b/gr-audio/examples/python/dial_tone_wav.py
index 6e87b2a48..6e87b2a48 100755
--- a/gnuradio-examples/python/audio/dial_tone_wav.py
+++ b/gr-audio/examples/python/dial_tone_wav.py
diff --git a/gnuradio-examples/python/audio/mono_tone.py b/gr-audio/examples/python/mono_tone.py
index 869c2e5ff..869c2e5ff 100755
--- a/gnuradio-examples/python/audio/mono_tone.py
+++ b/gr-audio/examples/python/mono_tone.py
diff --git a/gnuradio-examples/python/audio/multi_tone.py b/gr-audio/examples/python/multi_tone.py
index 7d47dd5d5..7d47dd5d5 100755
--- a/gnuradio-examples/python/audio/multi_tone.py
+++ b/gr-audio/examples/python/multi_tone.py
diff --git a/gnuradio-examples/python/audio/noise.py b/gr-audio/examples/python/noise.py
index 75f741082..75f741082 100755
--- a/gnuradio-examples/python/audio/noise.py
+++ b/gr-audio/examples/python/noise.py
diff --git a/gnuradio-examples/python/audio/spectrum_inversion.py b/gr-audio/examples/python/spectrum_inversion.py
index 021e23f2d..021e23f2d 100755
--- a/gnuradio-examples/python/audio/spectrum_inversion.py
+++ b/gr-audio/examples/python/spectrum_inversion.py
diff --git a/gnuradio-examples/python/audio/test_resampler.py b/gr-audio/examples/python/test_resampler.py
index 4644c5e2f..4644c5e2f 100755
--- a/gnuradio-examples/python/audio/test_resampler.py
+++ b/gr-audio/examples/python/test_resampler.py
diff --git a/gr-howto-write-a-block/version.sh b/gr-howto-write-a-block/version.sh
index 8d4ff5200..759d52806 100644
--- a/gr-howto-write-a-block/version.sh
+++ b/gr-howto-write-a-block/version.sh
@@ -1,4 +1,4 @@
MAJOR_VERSION=3
API_COMPAT=4
-MINOR_VERSION=0
-MAINT_VERSION=0
+MINOR_VERSION=1
+MAINT_VERSION=git
diff --git a/gr-qtgui/.gitignore b/gr-qtgui/.gitignore
index b336cc7ce..a37fc0c1a 100644
--- a/gr-qtgui/.gitignore
+++ b/gr-qtgui/.gitignore
@@ -1,2 +1,3 @@
/Makefile
/Makefile.in
+/*.pc
diff --git a/gr-qtgui/lib/.gitignore b/gr-qtgui/lib/.gitignore
index fc4f8cdfe..7754ad227 100644
--- a/gr-qtgui/lib/.gitignore
+++ b/gr-qtgui/lib/.gitignore
@@ -10,6 +10,7 @@
/spectrumdisplayform.ui.h
/FrequencyDisplayPlot.moc.cc
/ConstellationDisplayPlot.moc.cc
+/timedisplayform.moc.cc
/gnuradio
/guile
/python
diff --git a/gr-qtgui/swig/.gitignore b/gr-qtgui/swig/.gitignore
index 282522db0..26647d4c1 100644
--- a/gr-qtgui/swig/.gitignore
+++ b/gr-qtgui/swig/.gitignore
@@ -1,2 +1,4 @@
Makefile
Makefile.in
+/qtgui_swig.py
+/python
diff --git a/gr-uhd/.gitignore b/gr-uhd/.gitignore
index b336cc7ce..a37fc0c1a 100644
--- a/gr-uhd/.gitignore
+++ b/gr-uhd/.gitignore
@@ -1,2 +1,3 @@
/Makefile
/Makefile.in
+/*.pc
diff --git a/gr-uhd/grc/gen_uhd_usrp_blocks.py b/gr-uhd/grc/gen_uhd_usrp_blocks.py
index 82b6aa964..c77df6c97 100644
--- a/gr-uhd/grc/gen_uhd_usrp_blocks.py
+++ b/gr-uhd/grc/gen_uhd_usrp_blocks.py
@@ -29,20 +29,34 @@ MAIN_TMPL = """\
io_type=uhd.io_type.\$type.type,
num_channels=\$nchan,
)
-\#if \$ref_clk()
-self.\$(id).set_clock_config(uhd.clock_config.external(), uhd.ALL_MBOARDS)
-\#end if
-\#if \$sync()
-self.\$(id).set_time_unknown_pps(uhd.time_spec())
-\#end if
\#if \$clock_rate()
self.\$(id).set_clock_rate(\$clock_rate, uhd.ALL_MBOARDS)
\#end if
#for $m in range($max_mboards)
+########################################################################
+\#if \$num_mboards() > $m and \$ref_source$(m)() == 'external'
+self.\$(id).set_clock_config(uhd.clock_config.external(), $m)
+\#end if
+########################################################################
+\#if \$num_mboards() > $m and \$ref_source$(m)() == 'internal'
+self.\$(id).set_clock_config(uhd.clock_config.internal(), $m)
+\#end if
+########################################################################
+\#if \$num_mboards() > $m and \$ref_source$(m)() == 'mimo'
+_config = uhd.clock_config()
+_config.ref_source = uhd.clock_config.REF_MIMO
+_config.pps_source = uhd.clock_config.PPS_MIMO
+self.\$(id).set_clock_config(_config, $m)
+\#end if
+########################################################################
\#if \$num_mboards() > $m and \$sd_spec$(m)()
self.\$(id).set_subdev_spec(\$sd_spec$(m), $m)
\#end if
+########################################################################
#end for
+\#if \$sync()
+self.\$(id).set_time_unknown_pps(uhd.time_spec())
+\#end if
self.\$(id).set_samp_rate(\$samp_rate)
#for $n in range($max_nchan)
\#if \$nchan() > $n
@@ -95,21 +109,6 @@ self.\$(id).set_bandwidth(\$bw$(n), $n)
</hide>
</param>
<param>
- <name>Ref Clock</name>
- <key>ref_clk</key>
- <value></value>
- <type>enum</type>
- <hide>\#if \$ref_clk() then 'none' else 'part'#</hide>
- <option>
- <name>External</name>
- <key>ext</key>
- </option>
- <option>
- <name>Internal</name>
- <key></key>
- </option>
- </param>
- <param>
<name>Sync</name>
<key>sync</key>
<value></value>
@@ -150,6 +149,25 @@ self.\$(id).set_bandwidth(\$bw$(n), $n)
</param>
#for $m in range($max_mboards)
<param>
+ <name>Mb$(m): Ref Source</name>
+ <key>ref_source$(m)</key>
+ <value></value>
+ <type>enum</type>
+ <hide>
+ \#if not \$num_mboards() > $m
+ all
+ \#elif \$ref_source$(m)()
+ none
+ \#else
+ part
+ \#end if
+ </hide>
+ <option><name>Default</name><key></key></option>
+ <option><name>Internal</name><key>internal</key></option>
+ <option><name>External</name><key>external</key></option>
+ <option><name>MIMO Cable</name><key>mimo</key></option>
+ </param>
+ <param>
<name>Mb$(m): Subdev Spec</name>
<key>sd_spec$(m)</key>
<value></value>
@@ -209,6 +227,11 @@ USRP2 Example: addr0=192.168.10.2, addr1=192.168.10.3
Num Motherboards:
Selects the number of USRP motherboards in this device configuration.
+Reference Source:
+Where the motherboard should sync its time and clock references.
+If source and sink blocks reference the same device,
+it is only necessary to set the reference source on one of the blocks.
+
Subdevice specification:
Each motherboard should have its own subdevice specification \\
and all subdevice specifications should be the same length. \\
diff --git a/gr-uhd/lib/gr_uhd_usrp_source.cc b/gr-uhd/lib/gr_uhd_usrp_source.cc
index 9983489c3..669f890ea 100644
--- a/gr-uhd/lib/gr_uhd_usrp_source.cc
+++ b/gr-uhd/lib/gr_uhd_usrp_source.cc
@@ -182,19 +182,37 @@ public:
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items
){
- //wait for a packet to become available
+ //In order to allow for low-latency:
+ //We receive all available packets without timeout.
+ //This call can timeout under regular operation...
size_t num_samps = _dev->get_device()->recv(
output_items, noutput_items, _metadata,
- _type, uhd::device::RECV_MODE_ONE_PACKET, 1.0
+ _type, uhd::device::RECV_MODE_FULL_BUFF, 0.0
);
+ //If receive resulted in a timeout condition:
+ //We now receive a single packet with a large timeout.
+ if (_metadata.error_code == uhd::rx_metadata_t::ERROR_CODE_TIMEOUT){
+ num_samps = _dev->get_device()->recv(
+ output_items, noutput_items, _metadata,
+ _type, uhd::device::RECV_MODE_ONE_PACKET, 1.0
+ );
+ }
+
//handle possible errors conditions
switch(_metadata.error_code){
case uhd::rx_metadata_t::ERROR_CODE_NONE:
+ //TODO insert tag for time stamp
break;
+ case uhd::rx_metadata_t::ERROR_CODE_TIMEOUT:
+ //Assume that the user called stop() on the flow graph.
+ //However, a timeout can occur under error conditions.
+ return WORK_DONE;
+
case uhd::rx_metadata_t::ERROR_CODE_OVERFLOW:
//ignore overflows and try work again
+ //TODO insert tag for overflow
return work(noutput_items, input_items, output_items);
default:
@@ -204,18 +222,6 @@ public:
return num_samps;
}
- //advance the pointers and count by num_samps
- noutput_items -= num_samps;
- for (size_t i = 0; i < _nchan; i++){
- _tmp_buffs[i] = static_cast<char *>(output_items[i]) + num_samps*_type.size;
- }
-
- //receive all available packets without timeout
- num_samps += _dev->get_device()->recv(
- _tmp_buffs, noutput_items, _metadata,
- _type, uhd::device::RECV_MODE_FULL_BUFF, 0.0
- );
-
return num_samps;
}
diff --git a/gr-usrp/apps/Makefile.am b/gr-usrp/apps/Makefile.am
index c3955ad9d..5d5cab678 100644
--- a/gr-usrp/apps/Makefile.am
+++ b/gr-usrp/apps/Makefile.am
@@ -52,3 +52,14 @@ usrp_rx_cfile_SOURCES = \
usrp_siggen_SOURCES = \
usrp_siggen.cc
+
+if PYTHON
+
+bin_SCRIPTS = \
+ lsusrp \
+ usrp_print_db.py \
+ usrp_rx_cfile.py \
+ usrp_test_counting.py \
+ usrp_test_loopback.py
+
+endif
diff --git a/gr-utils/src/python/lsusrp b/gr-usrp/apps/lsusrp
index d2eab33fe..d2eab33fe 100755
--- a/gr-utils/src/python/lsusrp
+++ b/gr-usrp/apps/lsusrp
diff --git a/gr-utils/src/python/usrp_print_db.py b/gr-usrp/apps/usrp_print_db.py
index b082cb073..b082cb073 100755
--- a/gr-utils/src/python/usrp_print_db.py
+++ b/gr-usrp/apps/usrp_print_db.py
diff --git a/gr-utils/src/python/usrp_rx_cfile.py b/gr-usrp/apps/usrp_rx_cfile.py
index 3ac9fb56f..3ac9fb56f 100755
--- a/gr-utils/src/python/usrp_rx_cfile.py
+++ b/gr-usrp/apps/usrp_rx_cfile.py
diff --git a/gr-utils/src/python/usrp_test_counting.py b/gr-usrp/apps/usrp_test_counting.py
index a8300afe2..a8300afe2 100755
--- a/gr-utils/src/python/usrp_test_counting.py
+++ b/gr-usrp/apps/usrp_test_counting.py
diff --git a/gr-utils/src/python/usrp_test_loopback.py b/gr-usrp/apps/usrp_test_loopback.py
index b58ac06ae..b58ac06ae 100755
--- a/gr-utils/src/python/usrp_test_loopback.py
+++ b/gr-usrp/apps/usrp_test_loopback.py
diff --git a/gr-usrp2/Makefile.am b/gr-usrp2/Makefile.am
index f6120884a..895032fb0 100644
--- a/gr-usrp2/Makefile.am
+++ b/gr-usrp2/Makefile.am
@@ -21,7 +21,7 @@
include $(top_srcdir)/Makefile.common
-SUBDIRS = src
+SUBDIRS = src apps
if PYTHON
SUBDIRS += grc
diff --git a/gr-usrp2/apps/.gitignore b/gr-usrp2/apps/.gitignore
new file mode 100644
index 000000000..b336cc7ce
--- /dev/null
+++ b/gr-usrp2/apps/.gitignore
@@ -0,0 +1,2 @@
+/Makefile
+/Makefile.in
diff --git a/gr-usrp2/apps/Makefile.am b/gr-usrp2/apps/Makefile.am
new file mode 100644
index 000000000..e1cec4cfc
--- /dev/null
+++ b/gr-usrp2/apps/Makefile.am
@@ -0,0 +1,32 @@
+#
+# Copyright 2011 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.
+#
+
+include $(top_srcdir)/Makefile.common
+
+EXTRA_DIST += \
+ $(bin_SCRIPTS)
+
+if PYTHON
+
+bin_SCRIPTS = \
+ usrp2_rx_cfile.py
+
+endif
diff --git a/gr-utils/src/python/usrp2_rx_cfile.py b/gr-usrp2/apps/usrp2_rx_cfile.py
index 1f23eee4e..1f23eee4e 100755
--- a/gr-utils/src/python/usrp2_rx_cfile.py
+++ b/gr-usrp2/apps/usrp2_rx_cfile.py
diff --git a/gr-utils/src/python/Makefile.am b/gr-utils/src/python/Makefile.am
index 450032266..b422bfd05 100644
--- a/gr-utils/src/python/Makefile.am
+++ b/gr-utils/src/python/Makefile.am
@@ -50,16 +50,9 @@ bin_SCRIPTS = \
gr_plot_short.py \
gr_plot_qt.py \
gr_filter_design.py \
- lsusrp \
usrp_fft.py \
usrp_oscope.py \
- usrp_print_db.py \
- usrp_rx_cfile.py \
usrp_rx_nogui.py \
usrp_siggen.py \
usrp_siggen_gui.py \
- usrp_test_counting.py \
- usrp_test_loopback.py \
- usrp2_fft.py \
- usrp2_rx_cfile.py
-
+ usrp2_fft.py
diff --git a/grc/blocks/gr_quadrature_demod_cf.xml b/grc/blocks/gr_quadrature_demod_cf.xml
index a0e630c7e..fad0b3879 100644
--- a/grc/blocks/gr_quadrature_demod_cf.xml
+++ b/grc/blocks/gr_quadrature_demod_cf.xml
@@ -9,6 +9,7 @@
<key>gr_quadrature_demod_cf</key>
<import>from gnuradio import gr</import>
<make>gr.quadrature_demod_cf($gain)</make>
+ <callback>set_gain($gain)</callback>
<param>
<name>Gain</name>
<key>gain</key>
diff --git a/grc/python/flow_graph.tmpl b/grc/python/flow_graph.tmpl
index d5e53b52b..0878be4ba 100644
--- a/grc/python/flow_graph.tmpl
+++ b/grc/python/flow_graph.tmpl
@@ -65,9 +65,18 @@ class $(class_name)(gr.top_block, Qt.QWidget):
Qt.QWidget.__init__(self)
self.setWindowTitle("$title")
self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc'))
- self.top_layout = Qt.QVBoxLayout(self)
+ self.top_scroll_layout = Qt.QVBoxLayout()
+ self.setLayout(self.top_scroll_layout)
+ self.top_scroll = Qt.QScrollArea()
+ self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame)
+ self.top_scroll_layout.addWidget(self.top_scroll)
+ self.top_scroll.setWidgetResizable(True)
+ self.top_widget = Qt.QWidget()
+ self.top_scroll.setWidget(self.top_widget)
+ self.top_layout = Qt.QVBoxLayout(self.top_widget)
self.top_grid_layout = Qt.QGridLayout()
self.top_layout.addLayout(self.top_grid_layout)
+
#elif $generate_options == 'no_gui'
class $(class_name)(gr.top_block):
diff --git a/gruel/src/python/.gitignore b/gruel/src/python/.gitignore
index b336cc7ce..604b402c5 100644
--- a/gruel/src/python/.gitignore
+++ b/gruel/src/python/.gitignore
@@ -1,2 +1,3 @@
/Makefile
/Makefile.in
+/run_tests
diff --git a/gruel/src/swig/.gitignore b/gruel/src/swig/.gitignore
index b336cc7ce..f99fdb19b 100644
--- a/gruel/src/swig/.gitignore
+++ b/gruel/src/swig/.gitignore
@@ -1,2 +1,4 @@
/Makefile
/Makefile.in
+/python
+/pmt_swig.py
diff --git a/version.sh b/version.sh
index 9f729d508..759d52806 100644
--- a/version.sh
+++ b/version.sh
@@ -1,4 +1,4 @@
MAJOR_VERSION=3
API_COMPAT=4
-MINOR_VERSION=0
-MAINT_VERSION=0 \ No newline at end of file
+MINOR_VERSION=1
+MAINT_VERSION=git