summaryrefslogtreecommitdiff
path: root/grc/blocks/blks2_selector.xml
diff options
context:
space:
mode:
Diffstat (limited to 'grc/blocks/blks2_selector.xml')
-rw-r--r--grc/blocks/blks2_selector.xml97
1 files changed, 97 insertions, 0 deletions
diff --git a/grc/blocks/blks2_selector.xml b/grc/blocks/blks2_selector.xml
new file mode 100644
index 000000000..2d89df186
--- /dev/null
+++ b/grc/blocks/blks2_selector.xml
@@ -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>