summaryrefslogtreecommitdiff
path: root/grc
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2012-06-24 16:06:38 -0400
committerTom Rondeau <trondeau@vt.edu>2012-06-24 16:06:38 -0400
commitd97764ce6040aff8023b43323b4bc048a907a1fd (patch)
treedda4ba74128454fd271ffe7dcbe673f2ae0b4c08 /grc
parentb142f64573b8b7b15a94fc9c64e2f26264a5b144 (diff)
parentbf8700a226091c5ce0130a3819a4c12b9d9981a6 (diff)
Merge branch 'master' into my_qtsink
Conflicts: gr-qtgui/include/qtgui_sink_c.h gr-qtgui/include/qtgui_sink_f.h gr-qtgui/include/qtgui_util.h gr-qtgui/lib/ConstellationDisplayPlot.cc gr-qtgui/lib/FrequencyDisplayPlot.cc gr-qtgui/lib/SpectrumGUIClass.cc gr-qtgui/lib/TimeDomainDisplayPlot.cc gr-qtgui/lib/WaterfallDisplayPlot.cc gr-qtgui/lib/qtgui_sink_c.cc gr-qtgui/lib/qtgui_sink_f.cc gr-qtgui/lib/spectrumdisplayform.cc
Diffstat (limited to 'grc')
-rw-r--r--grc/CMakeLists.txt10
-rw-r--r--grc/base/CMakeLists.txt8
-rw-r--r--grc/base/Platform.py2
-rw-r--r--grc/base/block_tree.dtd6
-rw-r--r--grc/base/flow_graph.dtd6
-rw-r--r--grc/blocks/CMakeLists.txt8
-rw-r--r--grc/blocks/blks2_pfb_arb_resampler.xml2
-rw-r--r--grc/blocks/blks2_pfb_channelizer.xml4
-rw-r--r--grc/blocks/block_tree.xml4
-rw-r--r--grc/blocks/gr_file_sink.xml1
-rw-r--r--grc/blocks/gr_keep_m_in_n.xml76
-rw-r--r--grc/blocks/gr_pack_k_bits_bb.xml30
-rw-r--r--grc/blocks/gr_tag_debug.xml82
-rw-r--r--grc/blocks/gr_vector_insert_x.xml80
-rw-r--r--grc/blocks/gr_wavfile_sink.xml1
-rw-r--r--grc/blocks/options.xml17
-rw-r--r--grc/examples/CMakeLists.txt8
-rw-r--r--grc/examples/xmlrpc/readme.txt4
-rw-r--r--grc/examples/xmlrpc/xmlrpc_client_script.py2
-rw-r--r--grc/freedesktop/CMakeLists.txt8
-rw-r--r--grc/gui/ActionHandler.py2
-rw-r--r--grc/gui/BlockTreeWindow.py2
-rw-r--r--grc/python/CMakeLists.txt8
-rw-r--r--grc/python/Param.py2
-rw-r--r--grc/python/Port.py4
-rw-r--r--grc/python/flow_graph.tmpl16
-rw-r--r--grc/scripts/CMakeLists.txt8
-rw-r--r--grc/todo.txt2
28 files changed, 357 insertions, 46 deletions
diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt
index 8be5d7fbcc..219bbe1642 100644
--- a/grc/CMakeLists.txt
+++ b/grc/CMakeLists.txt
@@ -1,17 +1,17 @@
# 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,
@@ -75,7 +75,7 @@ configure_file(
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/grc.conf
- DESTINATION ${GR_PKG_CONF_DIR}
+ DESTINATION ${GR_PREFSDIR}
COMPONENT "grc"
)
diff --git a/grc/base/CMakeLists.txt b/grc/base/CMakeLists.txt
index c6d6a09ebc..1087e842a3 100644
--- a/grc/base/CMakeLists.txt
+++ b/grc/base/CMakeLists.txt
@@ -1,17 +1,17 @@
# 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,
diff --git a/grc/base/Platform.py b/grc/base/Platform.py
index a66c28ab9c..94d0077ea9 100644
--- a/grc/base/Platform.py
+++ b/grc/base/Platform.py
@@ -87,7 +87,7 @@ class Platform(_Element):
else:
self._blocks[key] = block
self._blocks_n[key] = n
- except ParseXML.XMLSyntaxError, e:
+ except ParseXML.XMLSyntaxError, e:
try: #try to add the xml file as a block tree
ParseXML.validate_dtd(xml_file, BLOCK_TREE_DTD)
self._block_tree_files.append(xml_file)
diff --git a/grc/base/block_tree.dtd b/grc/base/block_tree.dtd
index be1524a38f..7d4a13ccc3 100644
--- a/grc/base/block_tree.dtd
+++ b/grc/base/block_tree.dtd
@@ -1,4 +1,4 @@
-<!--
+<!--
Copyright 2008 Free Software Foundation, Inc.
This file is part of GNU Radio
@@ -14,10 +14,10 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-->
<!--
- block_tree.dtd
+ block_tree.dtd
Josh Blum
The document type definition for a block tree category listing.
-->
diff --git a/grc/base/flow_graph.dtd b/grc/base/flow_graph.dtd
index 904147b373..74f48f10ab 100644
--- a/grc/base/flow_graph.dtd
+++ b/grc/base/flow_graph.dtd
@@ -1,4 +1,4 @@
-<!--
+<!--
Copyright 2008 Free Software Foundation, Inc.
This file is part of GNU Radio
@@ -14,10 +14,10 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-->
<!--
- flow_graph.dtd
+ flow_graph.dtd
Josh Blum
The document type definition for flow graph xml files.
-->
diff --git a/grc/blocks/CMakeLists.txt b/grc/blocks/CMakeLists.txt
index ad31b09759..fce4a19071 100644
--- a/grc/blocks/CMakeLists.txt
+++ b/grc/blocks/CMakeLists.txt
@@ -1,17 +1,17 @@
# 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,
diff --git a/grc/blocks/blks2_pfb_arb_resampler.xml b/grc/blocks/blks2_pfb_arb_resampler.xml
index b4e09791f3..b58e70f1cb 100644
--- a/grc/blocks/blks2_pfb_arb_resampler.xml
+++ b/grc/blocks/blks2_pfb_arb_resampler.xml
@@ -14,7 +14,7 @@
$taps,
$size,
)</make>
- <!-- Set taps not implemented yet
+ <!-- Set taps not implemented yet
<callback>set_taps($taps)</callback>
-->
<callback>set_rate($rate)</callback>
diff --git a/grc/blocks/blks2_pfb_channelizer.xml b/grc/blocks/blks2_pfb_channelizer.xml
index 0dba6108be..5a93c08664 100644
--- a/grc/blocks/blks2_pfb_channelizer.xml
+++ b/grc/blocks/blks2_pfb_channelizer.xml
@@ -16,11 +16,11 @@
$atten)
self.$(id).set_channel_map($ch_map)
</make>
- <!-- Set taps not implemented yet
+ <!-- Set taps not implemented yet
<callback>set_taps($taps)</callback>
-->
<callback>set_channel_map($ch_map)</callback>
-
+
<param>
<name>Channels</name>
<key>nchans</key>
diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml
index 18bc050bac..f94bd30bdf 100644
--- a/grc/blocks/block_tree.xml
+++ b/grc/blocks/block_tree.xml
@@ -34,6 +34,7 @@
<block>gr_message_sink</block>
<block>pad_sink</block>
<block>virtual_sink</block>
+ <block>gr_tag_debug</block>
</cat>
<cat>
<name>Operators</name>
@@ -61,6 +62,7 @@
<block>gr_fft_vxx</block>
<block>blks2_logpwrfft_x</block>
+ <block>gr_vector_insert_x</block>
</cat>
<cat>
<name>Type Conversions</name>
@@ -114,6 +116,7 @@
<block>gr_unpacked_to_packed_xx</block>
<block>gr_packed_to_unpacked_xx</block>
<block>gr_unpack_k_bits_bb</block>
+ <block>gr_pack_k_bits_bb</block>
<block>gr_chunks_to_symbols_xx</block>
<block>gr_map_bb</block>
</cat>
@@ -183,6 +186,7 @@
<block>blks2_rational_resampler_xxx</block>
<block>gr_fractional_interpolator_xx</block>
<block>gr_keep_one_in_n</block>
+ <block>gr_keep_m_in_n</block>
<block>gr_moving_average_xx</block>
<block>gr_iqcomp_cc</block>
<block>gr_dc_blocker</block>
diff --git a/grc/blocks/gr_file_sink.xml b/grc/blocks/gr_file_sink.xml
index 0081c93f8f..d0a693900f 100644
--- a/grc/blocks/gr_file_sink.xml
+++ b/grc/blocks/gr_file_sink.xml
@@ -11,6 +11,7 @@
<make>gr.file_sink($type.size*$vlen, $file)
self.$(id).set_unbuffered($unbuffered)</make>
<callback>set_unbuffered($unbuffered)</callback>
+ <callback>open($file)</callback>
<param>
<name>File</name>
<key>file</key>
diff --git a/grc/blocks/gr_keep_m_in_n.xml b/grc/blocks/gr_keep_m_in_n.xml
new file mode 100644
index 0000000000..35a1561764
--- /dev/null
+++ b/grc/blocks/gr_keep_m_in_n.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Keep M in N
+###################################################
+ -->
+<block>
+ <name>Keep M in N</name>
+ <key>gr_keep_m_in_n</key>
+ <import>from gnuradio import gr</import>
+ <make>gr.keep_m_in_n($type.size, $m, $n, $offset)</make>
+ <callback>set_offset($offset)</callback>
+ <callback>set_m($m)</callback>
+ <callback>set_n($n)</callback>
+ <param>
+ <name>Type</name>
+ <key>type</key>
+ <type>enum</type>
+ <option>
+ <name>Complex</name>
+ <key>complex</key>
+ <opt>size:gr.sizeof_gr_complex</opt>
+ </option>
+ <option>
+ <name>Float</name>
+ <key>float</key>
+ <opt>size:gr.sizeof_float</opt>
+ </option>
+ <option>
+ <name>Int</name>
+ <key>int</key>
+ <opt>size:gr.sizeof_int</opt>
+ </option>
+ <option>
+ <name>Short</name>
+ <key>short</key>
+ <opt>size:gr.sizeof_short</opt>
+ </option>
+ <option>
+ <name>Byte</name>
+ <key>byte</key>
+ <opt>size:gr.sizeof_char</opt>
+ </option>
+ </param>
+ <param>
+ <name>M</name>
+ <key>m</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>N</name>
+ <key>n</key>
+ <value>2</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>initial offset</name>
+ <key>offset</key>
+ <value>0</value>
+ <type>int</type>
+ </param>
+ <check>$n &gt; 0</check>
+ <check>$m &gt; 0</check>
+ <check>$m &lt; $n</check>
+ <sink>
+ <name>in</name>
+ <type>$type</type>
+ <vlen>1</vlen>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>$type</type>
+ <vlen>1</vlen>
+ </source>
+</block>
diff --git a/grc/blocks/gr_pack_k_bits_bb.xml b/grc/blocks/gr_pack_k_bits_bb.xml
new file mode 100644
index 0000000000..34e64a5d96
--- /dev/null
+++ b/grc/blocks/gr_pack_k_bits_bb.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Pack K Bits
+###################################################
+ -->
+<block>
+ <name>Pack K Bits</name>
+ <key>gr_pack_k_bits_bb</key>
+ <import>from gnuradio import gr</import>
+ <make>gr.pack_k_bits_bb($k)</make>
+ <param>
+ <name>K</name>
+ <key>k</key>
+ <type>int</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>byte</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>byte</type>
+ </source>
+
+ <doc>
+ Pack K unpacked bits (one bit per byte) into a single packed byte containing k bits and 8 - k zeros.
+ </doc>
+
+</block>
diff --git a/grc/blocks/gr_tag_debug.xml b/grc/blocks/gr_tag_debug.xml
new file mode 100644
index 0000000000..4af7729be9
--- /dev/null
+++ b/grc/blocks/gr_tag_debug.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+## Tag Debug
+###################################################
+ -->
+<block>
+ <name>Tag Debug</name>
+ <key>gr_tag_debug</key>
+ <import>from gnuradio import gr</import>
+ <make>gr.tag_debug($type.size*$vlen, $name)</make>
+ <callback>set_display($display)</callback>
+ <param>
+ <name>Input Type</name>
+ <key>type</key>
+ <type>enum</type>
+ <option>
+ <name>Complex</name>
+ <key>complex</key>
+ <opt>size:gr.sizeof_gr_complex</opt>
+ </option>
+ <option>
+ <name>Float</name>
+ <key>float</key>
+ <opt>size:gr.sizeof_float</opt>
+ </option>
+ <option>
+ <name>Int</name>
+ <key>int</key>
+ <opt>size:gr.sizeof_int</opt>
+ </option>
+ <option>
+ <name>Short</name>
+ <key>short</key>
+ <opt>size:gr.sizeof_short</opt>
+ </option>
+ <option>
+ <name>Byte</name>
+ <key>byte</key>
+ <opt>size:gr.sizeof_char</opt>
+ </option>
+ </param>
+ <param>
+ <name>Name</name>
+ <key>name</key>
+ <type>string</type>
+ </param>
+ <param>
+ <name>Num Inputs</name>
+ <key>num_inputs</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Vec Length</name>
+ <key>vlen</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Display</name>
+ <key>display</key>
+ <value>True</value>
+ <type>bool</type>
+ <option>
+ <name>On</name>
+ <key>True</key>
+ </option>
+ <option>
+ <name>Off</name>
+ <key>False</key>
+ </option>
+ </param>
+ <check>$num_inputs &gt;= 1</check>
+ <check>$vlen &gt; 0</check>
+ <sink>
+ <name>in</name>
+ <type>$type</type>
+ <vlen>$vlen</vlen>
+ <nports>$num_inputs</nports>
+ </sink>
+</block>
diff --git a/grc/blocks/gr_vector_insert_x.xml b/grc/blocks/gr_vector_insert_x.xml
new file mode 100644
index 0000000000..f9ce1f6544
--- /dev/null
+++ b/grc/blocks/gr_vector_insert_x.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Vector Source
+###################################################
+ -->
+<block>
+ <name>Vector Insert</name>
+ <key>gr_vector_insert_x</key>
+ <import>from gnuradio import gr</import>
+ <make>gr.vector_insert_$(type.fcn)($vector, $period, $offset)</make>
+ <param>
+ <name>Output Type</name>
+ <key>type</key>
+ <type>enum</type>
+ <option>
+ <name>Byte</name>
+ <key>byte</key>
+ <opt>fcn:b</opt>
+ <opt>vec_type:int_vector</opt>
+ </option>
+ <option>
+ <name>Complex</name>
+ <key>complex</key>
+ <opt>fcn:c</opt>
+ <opt>vec_type:complex_vector</opt>
+ </option>
+ <option>
+ <name>Float</name>
+ <key>float</key>
+ <opt>fcn:f</opt>
+ <opt>vec_type:real_vector</opt>
+ </option>
+ <option>
+ <name>Int</name>
+ <key>int</key>
+ <opt>fcn:i</opt>
+ <opt>vec_type:int_vector</opt>
+ </option>
+ <option>
+ <name>Short</name>
+ <key>short</key>
+ <opt>fcn:s</opt>
+ <opt>vec_type:int_vector</opt>
+ </option>
+ </param>
+ <param>
+ <name>Vector</name>
+ <key>vector</key>
+ <value>0, 0, 0</value>
+ <type>$type.vec_type</type>
+ </param>
+ <param>
+ <name>Periodicity</name>
+ <key>period</key>
+ <value>100</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Offset</name>
+ <key>offset</key>
+ <value>0</value>
+ <type>int</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>$type</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>$type</type>
+ </source>
+
+ <doc>
+ Periodicity, the length of the periodicity at which the vector should be inserted at the output.
+ (i.e. one vector for every N output items)
+
+ Offset sepcifies where in the cycle period we should begin at.
+ </doc>
+</block>
diff --git a/grc/blocks/gr_wavfile_sink.xml b/grc/blocks/gr_wavfile_sink.xml
index f2c8a009f3..651e16cb6b 100644
--- a/grc/blocks/gr_wavfile_sink.xml
+++ b/grc/blocks/gr_wavfile_sink.xml
@@ -9,6 +9,7 @@
<key>gr_wavfile_sink</key>
<import>from gnuradio import gr</import>
<make>gr.wavfile_sink($file, $nchan, $samp_rate, $bits_per_sample)</make>
+ <callback>open($file)</callback>
<param>
<name>File</name>
<key>file</key>
diff --git a/grc/blocks/options.xml b/grc/blocks/options.xml
index b27ea900cc..1cf0b77079 100644
--- a/grc/blocks/options.xml
+++ b/grc/blocks/options.xml
@@ -125,6 +125,19 @@ else: self.stop(); self.wait()</callback>
</option>
</param>
<param>
+ <name>Max Number of Output</name>
+ <key>max_nouts</key>
+ <value>0</value>
+ <type>int</type>
+ <hide>#if $generate_options() == 'hb'
+all#slurp
+#elif $max_nouts()
+none#slurp
+#else
+part#slurp
+#end if</hide>
+ </param>
+ <param>
<name>Realtime Scheduling</name>
<key>realtime_scheduling</key>
<value></value>
@@ -169,5 +182,9 @@ For example, an id of my_block will generate the file my_block.py and class my_b
The category parameter determines the placement of the block in the block selection window. \
The category only applies when creating hier blocks. \
To put hier blocks into the root category, enter / for the category.
+
+The Max Number of Output is the maximum number of output items allowed for any block \
+in the flowgraph; to disable this set the max_nouts equal to 0.\
+Use this to adjust the maximum latency a flowgraph can exhibit.
</doc>
</block>
diff --git a/grc/examples/CMakeLists.txt b/grc/examples/CMakeLists.txt
index acb65dbdc1..a218dbe500 100644
--- a/grc/examples/CMakeLists.txt
+++ b/grc/examples/CMakeLists.txt
@@ -1,17 +1,17 @@
# 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,
diff --git a/grc/examples/xmlrpc/readme.txt b/grc/examples/xmlrpc/readme.txt
index c1f87c1cb5..056ad1e823 100644
--- a/grc/examples/xmlrpc/readme.txt
+++ b/grc/examples/xmlrpc/readme.txt
@@ -2,12 +2,12 @@
# XMLRPC example
##################################################
-XMLRPC allows software to make remote function calls over http.
+XMLRPC allows software to make remote function calls over http.
In the case of GRC, one can use XMLRPC to modify variables in a running flow graph.
See http://www.xmlrpc.com/
--- Server Example ---
-Place an "XMLRPC Server" block inside of any flow graph.
+Place an "XMLRPC Server" block inside of any flow graph.
The server will provide set functions for every variable in the flow graph.
If a variable is called "freq", the server will provide a function set_freq(new_freq).
Run the server example and experiment with the example client script.
diff --git a/grc/examples/xmlrpc/xmlrpc_client_script.py b/grc/examples/xmlrpc/xmlrpc_client_script.py
index 956fa07fb7..8f00fa55d8 100644
--- a/grc/examples/xmlrpc/xmlrpc_client_script.py
+++ b/grc/examples/xmlrpc/xmlrpc_client_script.py
@@ -13,7 +13,7 @@ for i in range(10):
new_freq = random.uniform(0, 5000)
new_ampl = random.uniform(0, 2)
new_offset = random.uniform(-1, 1)
- #set new values
+ #set new values
time.sleep(1)
s.set_freq(new_freq)
time.sleep(1)
diff --git a/grc/freedesktop/CMakeLists.txt b/grc/freedesktop/CMakeLists.txt
index 492b0f7d83..d95fe04ac5 100644
--- a/grc/freedesktop/CMakeLists.txt
+++ b/grc/freedesktop/CMakeLists.txt
@@ -1,17 +1,17 @@
# Copyright 2011-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,
diff --git a/grc/gui/ActionHandler.py b/grc/gui/ActionHandler.py
index 15785f2ee7..476c82b4f6 100644
--- a/grc/gui/ActionHandler.py
+++ b/grc/gui/ActionHandler.py
@@ -18,7 +18,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
import os
-import signal
+import signal
from Constants import IMAGE_FILE_EXTENSION
import Actions
import pygtk
diff --git a/grc/gui/BlockTreeWindow.py b/grc/gui/BlockTreeWindow.py
index c12120eaff..0175c8becf 100644
--- a/grc/gui/BlockTreeWindow.py
+++ b/grc/gui/BlockTreeWindow.py
@@ -67,7 +67,7 @@ class BlockTreeWindow(gtk.VBox):
#setup the search
self.treeview.set_enable_search(True)
self.treeview.set_search_equal_func(self._handle_search)
- #try to enable the tooltips (available in pygtk 2.12 and above)
+ #try to enable the tooltips (available in pygtk 2.12 and above)
try: self.treeview.set_tooltip_column(DOC_INDEX)
except: pass
#setup drag and drop
diff --git a/grc/python/CMakeLists.txt b/grc/python/CMakeLists.txt
index 0871c7bd10..4832dd897e 100644
--- a/grc/python/CMakeLists.txt
+++ b/grc/python/CMakeLists.txt
@@ -1,17 +1,17 @@
# 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,
diff --git a/grc/python/Param.py b/grc/python/Param.py
index 2a7258dc71..2caca48024 100644
--- a/grc/python/Param.py
+++ b/grc/python/Param.py
@@ -335,7 +335,7 @@ class Param(_Param, _GUIParam):
# Stream ID Type
#########################
elif t == 'stream_id':
- #get a list of all stream ids used in the virtual sinks
+ #get a list of all stream ids used in the virtual sinks
ids = [param.get_value() for param in filter(
lambda p: p.get_parent().is_virtual_sink(),
self.get_all_params(t),
diff --git a/grc/python/Port.py b/grc/python/Port.py
index d0ef51b483..9f8b50d052 100644
--- a/grc/python/Port.py
+++ b/grc/python/Port.py
@@ -139,6 +139,10 @@ class Port(_Port, _GUIPort):
self._type = ''
self._vlen = ''
+ def resolve_virtual_source(self):
+ if self.get_parent().is_virtual_sink(): return _get_source_from_virtual_sink_port(self)
+ if self.get_parent().is_virtual_source(): return _get_source_from_virtual_source_port(self)
+
def resolve_empty_type(self):
if self.is_sink():
try:
diff --git a/grc/python/flow_graph.tmpl b/grc/python/flow_graph.tmpl
index 7e0de7e707..6e504815a6 100644
--- a/grc/python/flow_graph.tmpl
+++ b/grc/python/flow_graph.tmpl
@@ -257,12 +257,20 @@ if __name__ == '__main__':
#end if
#if $generate_options == 'wx_gui'
tb = $(class_name)($(', '.join($params_eq_list)))
+ #if $flow_graph.get_option('max_nouts')
+ tb.Run($flow_graph.get_option('run'), $flow_graph.get_option('max_nouts'))
+ #else
tb.Run($flow_graph.get_option('run'))
+ #end if
#elif $generate_options == 'qt_gui'
qapp = Qt.QApplication(sys.argv)
tb = $(class_name)($(', '.join($params_eq_list)))
#if $flow_graph.get_option('run')
+ #if $flow_graph.get_option('max_nouts')
+ tb.start($flow_graph.get_option('max_nouts'))
+ #else
tb.start()
+ #end if
#end if
tb.show()
qapp.exec_()
@@ -272,11 +280,19 @@ if __name__ == '__main__':
tb = $(class_name)($(', '.join($params_eq_list)))
#set $run_options = $flow_graph.get_option('run_options')
#if $run_options == 'prompt'
+ #if $flow_graph.get_option('max_nouts')
+ tb.start($flow_graph.get_option('max_nouts'))
+ #else
tb.start()
+ #end if
raw_input('Press Enter to quit: ')
tb.stop()
#elif $run_options == 'run'
+ #if $flow_graph.get_option('max_nouts')
+ tb.run($flow_graph.get_option('max_nouts'))
+ #else
tb.run()
+ #end if
#end if
#end if
#end if
diff --git a/grc/scripts/CMakeLists.txt b/grc/scripts/CMakeLists.txt
index b8d5330f67..e905892308 100644
--- a/grc/scripts/CMakeLists.txt
+++ b/grc/scripts/CMakeLists.txt
@@ -1,17 +1,17 @@
# 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,
diff --git a/grc/todo.txt b/grc/todo.txt
index ccfaad72a6..1205b3ff6d 100644
--- a/grc/todo.txt
+++ b/grc/todo.txt
@@ -12,7 +12,7 @@
* packet mod: whitening offset
* wx min window size in options block
* gr_adaptive_fir_ccf
-* ofdm
+* ofdm
* gr_ofdm_bpsk_demapper
* gr_ofdm_demapper_vcb
* gr_ofdm_frame_sink