diff options
author | jblum | 2009-01-22 00:32:48 +0000 |
---|---|---|
committer | jblum | 2009-01-22 00:32:48 +0000 |
commit | fc9df36159a97fd691c585ce3c7556987aefe38a (patch) | |
tree | 9cbf657d21c385503613653d86d09ae80657cc72 | |
parent | 7050258b5882c9d2dca83994e009bfd135823648 (diff) | |
download | gnuradio-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.xml | 48 | ||||
-rw-r--r-- | grc/data/platforms/python/flow_graph.tmpl | 11 | ||||
-rw-r--r-- | grc/todo.txt | 1 |
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 |