summaryrefslogtreecommitdiff
path: root/gr-blocks
diff options
context:
space:
mode:
authorBen Reynwar <ben@reynwar.net>2013-06-03 10:31:25 -0700
committerBen Reynwar <ben@reynwar.net>2013-06-03 10:31:25 -0700
commit6ee7c1a6267e823d5525d3d5cf251ba52b12c823 (patch)
tree9a6b39ae056aab1f399c82b4108ac05ba2c6ea05 /gr-blocks
parentbb01988e75d50d82cbb44c1a49c86c1d08f05665 (diff)
parentd1b65f4125aee94442c68d53f503bb29cdc10330 (diff)
Merged in master.
Diffstat (limited to 'gr-blocks')
-rw-r--r--gr-blocks/examples/ctrlport/comparing_resamplers.grc180
-rw-r--r--gr-blocks/lib/pdu_to_tagged_stream_impl.cc2
-rw-r--r--gr-blocks/lib/udp_source_impl.cc4
-rw-r--r--gr-blocks/python/qa_message_tags.py1
-rw-r--r--gr-blocks/swig/blocks_swig0.i2
-rw-r--r--gr-blocks/swig/blocks_swig1.i2
-rw-r--r--gr-blocks/swig/blocks_swig2.i5
-rw-r--r--gr-blocks/swig/blocks_swig3.i2
-rw-r--r--gr-blocks/swig/blocks_swig4.i2
-rw-r--r--gr-blocks/swig/blocks_swig5.i2
10 files changed, 104 insertions, 98 deletions
diff --git a/gr-blocks/examples/ctrlport/comparing_resamplers.grc b/gr-blocks/examples/ctrlport/comparing_resamplers.grc
index 7b90a2066c..eea9ab6ccd 100644
--- a/gr-blocks/examples/ctrlport/comparing_resamplers.grc
+++ b/gr-blocks/examples/ctrlport/comparing_resamplers.grc
@@ -1,6 +1,65 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Fri Mar 15 11:01:13 2013</timestamp>
+ <timestamp>Thu May 23 22:25:13 2013</timestamp>
+ <block>
+ <key>options</key>
+ <param>
+ <key>id</key>
+ <value>comparing_resamplers</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>title</key>
+ <value></value>
+ </param>
+ <param>
+ <key>author</key>
+ <value></value>
+ </param>
+ <param>
+ <key>description</key>
+ <value></value>
+ </param>
+ <param>
+ <key>window_size</key>
+ <value>570,390</value>
+ </param>
+ <param>
+ <key>generate_options</key>
+ <value>no_gui</value>
+ </param>
+ <param>
+ <key>category</key>
+ <value>Custom</value>
+ </param>
+ <param>
+ <key>run_options</key>
+ <value>prompt</value>
+ </param>
+ <param>
+ <key>run</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>max_nouts</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>realtime_scheduling</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(10, 10)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
<block>
<key>blocks_throttle</key>
<param>
@@ -126,68 +185,6 @@
</param>
</block>
<block>
- <key>blocks_ctrlport_probe2_c</key>
- <param>
- <key>id</key>
- <value>probe_frac_interp</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>name</key>
- <value>fractional_interp</value>
- </param>
- <param>
- <key>desc</key>
- <value>Fractional Interpolator</value>
- </param>
- <param>
- <key>len</key>
- <value>1024</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(10, 204)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>180</value>
- </param>
- </block>
- <block>
- <key>fractional_interpolator_xx</key>
- <param>
- <key>id</key>
- <value>fractional_interpolator_xx_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>complex</value>
- </param>
- <param>
- <key>phase_shift</key>
- <value>0</value>
- </param>
- <param>
- <key>interp_ratio</key>
- <value>1.0/resamp_rate</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(354, 212)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>180</value>
- </param>
- </block>
- <block>
<key>variable</key>
<param>
<key>id</key>
@@ -293,62 +290,65 @@
</param>
</block>
<block>
- <key>options</key>
+ <key>fractional_resampler_xx</key>
<param>
<key>id</key>
- <value>comparing_resamplers</value>
+ <value>fractional_resampler_xx_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>title</key>
- <value></value>
+ <key>type</key>
+ <value>complex</value>
</param>
<param>
- <key>author</key>
- <value></value>
+ <key>phase_shift</key>
+ <value>0</value>
</param>
<param>
- <key>description</key>
- <value></value>
+ <key>resamp_ratio</key>
+ <value>resamp_rate</value>
</param>
<param>
- <key>window_size</key>
- <value>570,390</value>
+ <key>_coordinate</key>
+ <value>(354, 212)</value>
</param>
<param>
- <key>generate_options</key>
- <value>no_gui</value>
+ <key>_rotation</key>
+ <value>180</value>
</param>
+ </block>
+ <block>
+ <key>blocks_ctrlport_probe2_c</key>
<param>
- <key>category</key>
- <value>Custom</value>
+ <key>id</key>
+ <value>probe_frac_resamp</value>
</param>
<param>
- <key>run_options</key>
- <value>prompt</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>run</key>
- <value>True</value>
+ <key>name</key>
+ <value>fractional_resamp</value>
</param>
<param>
- <key>max_nouts</key>
- <value>0</value>
+ <key>desc</key>
+ <value>Fractional Resampler</value>
</param>
<param>
- <key>realtime_scheduling</key>
- <value></value>
+ <key>len</key>
+ <value>1024</value>
</param>
<param>
<key>_coordinate</key>
- <value>(10, 10)</value>
+ <value>(10, 204)</value>
</param>
<param>
<key>_rotation</key>
- <value>0</value>
+ <value>180</value>
</param>
</block>
<connection>
@@ -371,7 +371,7 @@
</connection>
<connection>
<source_block_id>channels_channel_model_0</source_block_id>
- <sink_block_id>fractional_interpolator_xx_0</sink_block_id>
+ <sink_block_id>fractional_resampler_xx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
@@ -382,8 +382,8 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>fractional_interpolator_xx_0</source_block_id>
- <sink_block_id>probe_frac_interp</sink_block_id>
+ <source_block_id>fractional_resampler_xx_0</source_block_id>
+ <sink_block_id>probe_frac_resamp</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
diff --git a/gr-blocks/lib/pdu_to_tagged_stream_impl.cc b/gr-blocks/lib/pdu_to_tagged_stream_impl.cc
index d6ad78cb97..f81d324547 100644
--- a/gr-blocks/lib/pdu_to_tagged_stream_impl.cc
+++ b/gr-blocks/lib/pdu_to_tagged_stream_impl.cc
@@ -68,7 +68,7 @@ namespace gr {
if (noutput_items > 0) {
// grab a message if one exists
- pmt::pmt_t msg(delete_head_blocking(PDU_PORT_ID));
+ pmt::pmt_t msg(delete_head_nowait(PDU_PORT_ID));
if (msg.get() == NULL)
return nout;
diff --git a/gr-blocks/lib/udp_source_impl.cc b/gr-blocks/lib/udp_source_impl.cc
index e62c2b0df1..7f4a2af3d3 100644
--- a/gr-blocks/lib/udp_source_impl.cc
+++ b/gr-blocks/lib/udp_source_impl.cc
@@ -186,7 +186,9 @@ namespace gr {
// because the conditional wait is interruptable while a
// synchronous receive_from is not.
boost::unique_lock<boost::mutex> lock(d_udp_mutex);
- d_cond_wait.wait(lock);
+
+ //use timed_wait to avoid permanent blocking in the work function
+ d_cond_wait.timed_wait(lock, boost::posix_time::milliseconds(10));
if(d_residual < 0)
return -1;
diff --git a/gr-blocks/python/qa_message_tags.py b/gr-blocks/python/qa_message_tags.py
index 952c699455..ad4d2104e6 100644
--- a/gr-blocks/python/qa_message_tags.py
+++ b/gr-blocks/python/qa_message_tags.py
@@ -11,6 +11,7 @@ class test_message_tags (gr_unittest.TestCase):
rx_msgq = gr.msg_queue()
for d in data:
tx_msgq.insert_tail(gr.message_from_string(d))
+ tx_msgq.insert_tail(gr.message(1)) # send EOF
tb = gr.top_block()
src = blocks.message_source(gr.sizeof_char, tx_msgq, "packet_length")
snk = blocks.message_sink(gr.sizeof_char, rx_msgq, False, "packet_length")
diff --git a/gr-blocks/swig/blocks_swig0.i b/gr-blocks/swig/blocks_swig0.i
index f87cb9c5e4..ec5b75b0d1 100644
--- a/gr-blocks/swig/blocks_swig0.i
+++ b/gr-blocks/swig/blocks_swig0.i
@@ -22,7 +22,7 @@
#define BLOCKS_API
-%include "runtime_swig.i"
+%include "gnuradio.i"
%include "blocks_swig0_doc.i"
diff --git a/gr-blocks/swig/blocks_swig1.i b/gr-blocks/swig/blocks_swig1.i
index 328b2b1a08..431062e454 100644
--- a/gr-blocks/swig/blocks_swig1.i
+++ b/gr-blocks/swig/blocks_swig1.i
@@ -22,7 +22,7 @@
#define BLOCKS_API
-%include "runtime_swig.i"
+%include "gnuradio.i"
%include "blocks_swig1_doc.i"
diff --git a/gr-blocks/swig/blocks_swig2.i b/gr-blocks/swig/blocks_swig2.i
index d41b3f02a1..f22af806e6 100644
--- a/gr-blocks/swig/blocks_swig2.i
+++ b/gr-blocks/swig/blocks_swig2.i
@@ -21,12 +21,15 @@
*/
#define BLOCKS_API
+#define GR_RUNTIME_API
-%include "runtime_swig.i"
+%include "gnuradio.i"
//load generated python docstrings
%include "blocks_swig2_doc.i"
+%include "feval.i"
+
%{
#include "gnuradio/blocks/add_ff.h"
#include "gnuradio/blocks/add_ss.h"
diff --git a/gr-blocks/swig/blocks_swig3.i b/gr-blocks/swig/blocks_swig3.i
index bfa2e68a40..7e7e8bf365 100644
--- a/gr-blocks/swig/blocks_swig3.i
+++ b/gr-blocks/swig/blocks_swig3.i
@@ -22,7 +22,7 @@
#define BLOCKS_API
-%include "runtime_swig.i"
+%include "gnuradio.i"
//load generated python docstrings
%include "blocks_swig3_doc.i"
diff --git a/gr-blocks/swig/blocks_swig4.i b/gr-blocks/swig/blocks_swig4.i
index ecd63dd3ac..2aa6af5408 100644
--- a/gr-blocks/swig/blocks_swig4.i
+++ b/gr-blocks/swig/blocks_swig4.i
@@ -22,7 +22,7 @@
#define BLOCKS_API
-%include "runtime_swig.i"
+%include "gnuradio.i"
%include "gnuradio/blocks/pdu.h"
%include <gnuradio/endianness.h>
diff --git a/gr-blocks/swig/blocks_swig5.i b/gr-blocks/swig/blocks_swig5.i
index c04af1ed78..1b99720be8 100644
--- a/gr-blocks/swig/blocks_swig5.i
+++ b/gr-blocks/swig/blocks_swig5.i
@@ -22,7 +22,7 @@
#define BLOCKS_API
-%include "runtime_swig.i"
+%include "gnuradio.i"
%include "gnuradio/blocks/pdu.h"
%include <gnuradio/endianness.h>