summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjblum2009-01-22 00:32:48 +0000
committerjblum2009-01-22 00:32:48 +0000
commitfc9df36159a97fd691c585ce3c7556987aefe38a (patch)
tree9cbf657d21c385503613653d86d09ae80657cc72
parent7050258b5882c9d2dca83994e009bfd135823648 (diff)
downloadgnuradio-fc9df36159a97fd691c585ce3c7556987aefe38a.tar.gz
gnuradio-fc9df36159a97fd691c585ce3c7556987aefe38a.tar.bz2
gnuradio-fc9df36159a97fd691c585ce3c7556987aefe38a.zip
cmd line options with param block
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10282 221aa14e-8319-0410-a670-987f0aec2ac5
-rw-r--r--grc/data/platforms/python/blocks/parameter.xml48
-rw-r--r--grc/data/platforms/python/flow_graph.tmpl11
-rw-r--r--grc/todo.txt1
3 files changed, 57 insertions, 3 deletions
diff --git a/grc/data/platforms/python/blocks/parameter.xml b/grc/data/platforms/python/blocks/parameter.xml
index b9dcce424..de2085011 100644
--- a/grc/data/platforms/python/blocks/parameter.xml
+++ b/grc/data/platforms/python/blocks/parameter.xml
@@ -7,6 +7,7 @@
<block>
<name>Parameter</name>
<key>parameter</key>
+ <import>from optparse import OptionParser</import>
<make>$value</make>
<param>
<name>Label</name>
@@ -18,7 +19,50 @@
<name>Value</name>
<key>value</key>
<value>0</value>
- <type>raw</type>
+ <type>$type.type</type>
+ </param>
+ <param>
+ <name>Type</name>
+ <key>type</key>
+ <value></value>
+ <type>enum</type>
+ <hide>$type.hide</hide>
+ <option>
+ <name>None</name>
+ <key></key>
+ <opt>type:raw</opt>
+ <opt>hide:part</opt>
+ </option>
+ <option>
+ <name>Complex</name>
+ <key>complex</key>
+ <opt>type:complex</opt>
+ <opt>hide:none</opt>
+ </option>
+ <option>
+ <name>Float</name>
+ <key>float</key>
+ <opt>type:real</opt>
+ <opt>hide:none</opt>
+ </option>
+ <option>
+ <name>Int</name>
+ <key>int</key>
+ <opt>type:int</opt>
+ <opt>hide:none</opt>
+ </option>
+ <option>
+ <name>Long</name>
+ <key>long</key>
+ <opt>type:int</opt>
+ <opt>hide:none</opt>
+ </option>
+ <option>
+ <name>String</name>
+ <key>string</key>
+ <opt>type:string</opt>
+ <opt>hide:none</opt>
+ </option>
</param>
<doc>
This block represents a parameter to the flow graph, \
@@ -27,5 +71,7 @@ used when the flow graph is instantiated as a hier block.
The paramater value cannot depend on any variables.
Leave the label blank to use the parameter id as the label.
+
+When type is not None, this parameter also becomes a command line option of the form --[id] [value].
</doc>
</block>
diff --git a/grc/data/platforms/python/flow_graph.tmpl b/grc/data/platforms/python/flow_graph.tmpl
index a5fbc64b4..a9256574c 100644
--- a/grc/data/platforms/python/flow_graph.tmpl
+++ b/grc/data/platforms/python/flow_graph.tmpl
@@ -179,7 +179,16 @@ class $(class_name)(gr.hier_block2):
########################################################
#if $generate_options != 'hb'
if __name__ == '__main__':
- tb = $(class_name)()
+ parser = OptionParser()
+ #set $args = list()
+ #for $param in $parameters
+ #if $param.get_param('type').get_value()
+ parser.add_option("--$param.get_id()", dest="$param.get_id()", type="$param.get_param('type').get_value()", default=$param.get_make())
+ #silent $args.append('%s=options.%s'%($param.get_id(), $param.get_id()))
+ #end if
+ #end for
+ (options, args) = parser.parse_args()
+ tb = $(class_name)($(', '.join($args)))
#if $generate_options == 'wx_gui'
tb.Run()
#elif $generate_options == 'no_gui'
diff --git a/grc/todo.txt b/grc/todo.txt
index 54302e409..d9b03d803 100644
--- a/grc/todo.txt
+++ b/grc/todo.txt
@@ -1,7 +1,6 @@
##################################################
# Blocks
##################################################
--optparse block
-ofdm wrappers
-controlled step block
-simplify simple usrp