diff options
Diffstat (limited to 'grc')
-rw-r--r-- | grc/blocks/pad_sink.xml | 18 | ||||
-rw-r--r-- | grc/blocks/pad_source.xml | 25 | ||||
-rw-r--r-- | grc/python/flow_graph.tmpl | 36 |
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 > 0</check> <check>0 < $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 ######################################################## |