<?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 > 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>