Imported Upstream version 3.2.2
[debian/gnuradio] / grc / blocks / blks2_selector.xml
diff --git a/grc/blocks/blks2_selector.xml b/grc/blocks/blks2_selector.xml
new file mode 100644 (file)
index 0000000..2d89df1
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Selector:
+##     Custom blks2 block
+###################################################
+ -->
+<block>
+       <name>Selector</name>
+       <key>blks2_selector</key>
+       <import>from grc_gnuradio import blks2 as grc_blks2</import>
+       <make>grc_blks2.selector(
+       item_size=$type.size*$vlen,
+       num_inputs=$num_inputs,
+       num_outputs=$num_outputs,
+       input_index=$input_index,
+       output_index=$output_index,
+)</make>
+       <callback>set_input_index(int($input_index))</callback>
+       <callback>set_output_index(int($output_index))</callback>
+       <param>
+               <name>Type</name>
+               <key>type</key>
+               <type>enum</type>
+               <option>
+                       <name>Complex</name>
+                       <key>complex</key>
+                       <opt>size:gr.sizeof_gr_complex</opt>
+               </option>
+               <option>
+                       <name>Float</name>
+                       <key>float</key>
+                       <opt>size:gr.sizeof_float</opt>
+               </option>
+               <option>
+                       <name>Int</name>
+                       <key>int</key>
+                       <opt>size:gr.sizeof_int</opt>
+               </option>
+               <option>
+                       <name>Short</name>
+                       <key>short</key>
+                       <opt>size:gr.sizeof_short</opt>
+               </option>
+               <option>
+                       <name>Byte</name>
+                       <key>byte</key>
+                       <opt>size:gr.sizeof_char</opt>
+               </option>
+       </param>
+       <param>
+               <name>Num Inputs</name>
+               <key>num_inputs</key>
+               <value>2</value>
+               <type>int</type>
+       </param>
+       <param>
+               <name>Num Outputs</name>
+               <key>num_outputs</key>
+               <value>2</value>
+               <type>int</type>
+       </param>
+       <param>
+               <name>Input Index</name>
+               <key>input_index</key>
+               <value>0</value>
+               <type>int</type>
+       </param>
+       <param>
+               <name>Output Index</name>
+               <key>output_index</key>
+               <value>0</value>
+               <type>int</type>
+       </param>
+       <param>
+               <name>Vec Length</name>
+               <key>vlen</key>
+               <value>1</value>
+               <type>int</type>
+       </param>
+       <check>$vlen &gt; 0</check>
+       <sink>
+               <name>in</name>
+               <type>$type</type>
+               <vlen>$vlen</vlen>
+               <nports>$num_inputs</nports>
+       </sink>
+       <source>
+               <name>out</name>
+               <type>$type</type>
+               <vlen>$vlen</vlen>
+               <nports>$num_outputs</nports>
+       </source>
+       <doc>
+Connect the sink at input index to the source at output index. Leave all other ports disconnected.
+       </doc>
+</block>