summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grc/blocks/pad_sink.xml18
-rw-r--r--grc/blocks/pad_source.xml25
-rw-r--r--grc/python/flow_graph.tmpl36
3 files changed, 8 insertions, 71 deletions
diff --git a/grc/blocks/pad_sink.xml b/grc/blocks/pad_sink.xml
index 999de315d..734526793 100644
--- a/grc/blocks/pad_sink.xml
+++ b/grc/blocks/pad_sink.xml
@@ -9,20 +9,6 @@
<key>pad_sink</key>
<make></make>
<param>
- <name>Mode</name>
- <key>mode</key>
- <value>hb</value>
- <type>enum</type>
- <option>
- <name>Hierarchical</name>
- <key>hb</key>
- </option>
- <option>
- <name>Continuation</name>
- <key>cont</key>
- </option>
- </param>
- <param>
<name>Num Inputs</name>
<key>nports</key>
<value>1</value>
@@ -73,10 +59,6 @@
<nports>$nports</nports>
</sink>
<doc>
-Continuation Mode:
-The inputs of this block can be aliased by one or more pad source blocks.
-
-Hierarchical Mode:
The inputs of this block will become the outputs to this flow graph when it is instantiated as a hierarchical block. \
Limit one sink pad block per flow graph.
</doc>
diff --git a/grc/blocks/pad_source.xml b/grc/blocks/pad_source.xml
index 26491adb3..f44d96238 100644
--- a/grc/blocks/pad_source.xml
+++ b/grc/blocks/pad_source.xml
@@ -9,20 +9,6 @@
<key>pad_source</key>
<make></make>
<param>
- <name>Mode</name>
- <key>mode</key>
- <value>hb</value>
- <type>enum</type>
- <option>
- <name>Hierarchical</name>
- <key>hb</key>
- </option>
- <option>
- <name>Continuation</name>
- <key>cont</key>
- </option>
- </param>
- <param>
<name>Num Outputs</name>
<key>nports</key>
<value>1</value>
@@ -64,13 +50,6 @@
<value>1</value>
<type>int</type>
</param>
- <param>
- <name>Pad Sink ID</name>
- <key>pad_sink_id</key>
- <value>pad_sink_0</value>
- <type>string</type>
- <hide>#if $mode() == 'cont' then 'none' else 'all'#</hide>
- </param>
<check>$vlen &gt; 0</check>
<check>0 &lt; $nports</check>
<source>
@@ -80,10 +59,6 @@
<nports>$nports</nports>
</source>
<doc>
-Continuation Mode:
-The outputs of this block will alias the inputs of the pad sink specified by "pad sink id".
-
-Hierarchical Mode:
The outputs of this block will become the inputs to this flow graph when it is instantiated as a hierarchical block. \
Limit one source pad block per flow graph. \
The "pad sink id" will be ignored in this mode.
diff --git a/grc/python/flow_graph.tmpl b/grc/python/flow_graph.tmpl
index 924a280c4..5e5844052 100644
--- a/grc/python/flow_graph.tmpl
+++ b/grc/python/flow_graph.tmpl
@@ -154,6 +154,13 @@ class $(class_name)(gr.hier_block2):
## The port name should be the id of the parent block.
## However, port names for IO pads should be self.
########################################################
+#def make_port_name($port)
+ #if $port.get_parent().get_key().startswith('pad_')
+self#slurp
+ #else
+self.$port.get_parent().get_id()#slurp
+ #end if
+#end def
#if $connections
$DIVIDER
@@ -161,36 +168,9 @@ class $(class_name)(gr.hier_block2):
$DIVIDER
#end if
#for $con in $connections
- ####################################################################
- ## Logic to extract source and sink
- ## Special resolution logic for pad source in continuation mode
- ####################################################################
#set $source = $con.get_source()
#set $sink = $con.get_sink()
- #if $source.get_parent().get_key() == 'pad_source' and $source.get_parent().get_param('mode').get_value() == 'cont'
- #set $pad_sink_id = $source.get_parent().get_param('pad_sink_id').get_evaluated()
- #set $pad_sink = filter(lambda b: b.get_id() == pad_sink_id, $blocks)[0]
- #set $source = $pad_sink.get_sink($source.get_key()).get_connections()[0].get_source()
- #end if
- ####################################################################
- ## Logic to extract source and sink names
- ####################################################################
- #if $source.get_parent().get_key() == 'pad_source'
- #set $source_name = 'self'
- #else
- #set $source_name = 'self.' + $source.get_parent().get_id()
- #end if
- #if $sink.get_parent().get_key() == 'pad_sink'
- #set $sink_name = 'self'
- #else
- #set $sink_name = 'self.' + $sink.get_parent().get_id()
- #end if
- ####################################################################
- ## Dont make a connection for continuation pad sinks!!!
- ####################################################################
- #if not ($sink.get_parent().get_key() == 'pad_sink' and $sink.get_parent().get_param('mode').get_value() == 'cont')
- self.connect(($source_name, $source.get_key()), ($sink_name, $sink.get_key()))
- #end if
+ self.connect(($make_port_name($source), $source.get_key()), ($make_port_name($sink), $sink.get_key()))
#end for
########################################################