From 6fb32f05d01c23e1953fe874a33f37bc44758d9e Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Thu, 4 Oct 2012 18:49:34 -0700 Subject: grc: added optional flag to pad source and sink --- grc/blocks/pad_sink.xml | 15 +++++++++++++++ grc/blocks/pad_source.xml | 15 +++++++++++++++ grc/python/FlowGraph.py | 1 + grc/python/convert_hier.py | 2 ++ grc/python/flow_graph.tmpl | 4 ++-- 5 files changed, 35 insertions(+), 2 deletions(-) (limited to 'grc') diff --git a/grc/blocks/pad_sink.xml b/grc/blocks/pad_sink.xml index 2e9495260..7679792ee 100644 --- a/grc/blocks/pad_sink.xml +++ b/grc/blocks/pad_sink.xml @@ -50,6 +50,21 @@ 1 int + + Optional + optional + False + bool + part + + + $vlen > 0 in diff --git a/grc/blocks/pad_source.xml b/grc/blocks/pad_source.xml index 7b2210cbb..5d2f669f6 100644 --- a/grc/blocks/pad_source.xml +++ b/grc/blocks/pad_source.xml @@ -50,6 +50,21 @@ 1 int + + Optional + optional + False + bool + part + + + $vlen > 0 out diff --git a/grc/python/FlowGraph.py b/grc/python/FlowGraph.py index 89a169355..efe362760 100644 --- a/grc/python/FlowGraph.py +++ b/grc/python/FlowGraph.py @@ -64,6 +64,7 @@ class FlowGraph(_FlowGraph, _GUIFlowGraph): 'type': str(pad.get_param('type').get_evaluated()), 'vlen': str(pad.get_param('vlen').get_evaluated()), 'size': pad.get_param('type').get_opt('size'), + 'optional': bool(pad.get_param('optional').get_evaluated()), } for pad in sorted_pads] def get_pad_sources(self): diff --git a/grc/python/convert_hier.py b/grc/python/convert_hier.py index f4d082d59..b609af24a 100644 --- a/grc/python/convert_hier.py +++ b/grc/python/convert_hier.py @@ -62,6 +62,7 @@ def convert_hier(flow_graph, python_file): sink_n['name'] = input_sig['label'] sink_n['type'] = input_sig['type'] sink_n['vlen'] = input_sig['vlen'] + if input_sig['optional']: sink_n['optional'] = '1' block_n['sink'].append(sink_n) #source data block_n['source'] = list() @@ -70,6 +71,7 @@ def convert_hier(flow_graph, python_file): source_n['name'] = output_sig['label'] source_n['type'] = output_sig['type'] source_n['vlen'] = output_sig['vlen'] + if output_sig['optional']: source_n['optional'] = '1' block_n['source'].append(source_n) #doc data block_n['doc'] = "%s\n%s\n%s"%(block_author, block_desc, python_file) diff --git a/grc/python/flow_graph.tmpl b/grc/python/flow_graph.tmpl index 17feb01f6..57f2a4a45 100644 --- a/grc/python/flow_graph.tmpl +++ b/grc/python/flow_graph.tmpl @@ -91,9 +91,9 @@ class $(class_name)(gr.hier_block2): #if len($io_sigs) == 0 gr.io_signature(0, 0, 0)#slurp #elif len($io_sigs) == 1 -gr.io_signature(1, 1, $size_strs[0])#slurp +gr.io_signature(0, 1, $size_strs[0])#slurp #else -gr.io_signaturev($(len($io_sigs)), $(len($io_sigs)), [$(', '.join($size_strs))])#slurp +gr.io_signaturev(0, $(len($io_sigs)), [$(', '.join($size_strs))])#slurp #end if #end def -- cgit From 5285039a04436e55c7c90ab01e9dc2d388924312 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 5 Oct 2012 11:37:35 -0700 Subject: grc: revert changes to flow_graph.tmpl, runtime enforces this --- grc/python/flow_graph.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'grc') diff --git a/grc/python/flow_graph.tmpl b/grc/python/flow_graph.tmpl index 57f2a4a45..17feb01f6 100644 --- a/grc/python/flow_graph.tmpl +++ b/grc/python/flow_graph.tmpl @@ -91,9 +91,9 @@ class $(class_name)(gr.hier_block2): #if len($io_sigs) == 0 gr.io_signature(0, 0, 0)#slurp #elif len($io_sigs) == 1 -gr.io_signature(0, 1, $size_strs[0])#slurp +gr.io_signature(1, 1, $size_strs[0])#slurp #else -gr.io_signaturev(0, $(len($io_sigs)), [$(', '.join($size_strs))])#slurp +gr.io_signaturev($(len($io_sigs)), $(len($io_sigs)), [$(', '.join($size_strs))])#slurp #end if #end def -- cgit From b8c64d7db1ca15841cef4601d71d56ea62002996 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 5 Oct 2012 16:00:53 -0700 Subject: grc: added wildcard type to pad source/sink --- grc/blocks/pad_sink.xml | 5 +++++ grc/blocks/pad_source.xml | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'grc') diff --git a/grc/blocks/pad_sink.xml b/grc/blocks/pad_sink.xml index 7679792ee..f89eaa53c 100644 --- a/grc/blocks/pad_sink.xml +++ b/grc/blocks/pad_sink.xml @@ -43,6 +43,11 @@ byte size:gr.sizeof_char + Vec Length diff --git a/grc/blocks/pad_source.xml b/grc/blocks/pad_source.xml index 5d2f669f6..cbf38eb39 100644 --- a/grc/blocks/pad_source.xml +++ b/grc/blocks/pad_source.xml @@ -43,6 +43,11 @@ byte size:gr.sizeof_char + Vec Length -- cgit