diff options
author | mhostetter <mhostetter@users.noreply.github.com> | 2017-03-19 09:53:21 -0400 |
---|---|---|
committer | Matt Hostetter <matthostetter@gmail.com> | 2017-03-29 21:40:04 -0400 |
commit | cb749aea614c21e41204d4d48ded33ccf5604aee (patch) | |
tree | c0d733a2062ea947a439591b4cd16453443aea88 /gr-blocks/grc | |
parent | 1d477a701487dc111c88ae595fbfecadb5d871ac (diff) |
blocks: Add tag share block
The tag share block is used to transfer or share tags from one stream to another. The block takes two inputs and one output. The Input 0 stream is propagated to Output 0. In addition, the tags from Input 1 are added to the Input 0 stream. This is useful for transferring a detection tag from a correlate_access_code_bb block to the main complex stream, for example.
Diffstat (limited to 'gr-blocks/grc')
-rw-r--r-- | gr-blocks/grc/blocks_block_tree.xml | 1 | ||||
-rw-r--r-- | gr-blocks/grc/blocks_tag_share.xml | 96 |
2 files changed, 97 insertions, 0 deletions
diff --git a/gr-blocks/grc/blocks_block_tree.xml b/gr-blocks/grc/blocks_block_tree.xml index d0bb252a47..ef2703f695 100644 --- a/gr-blocks/grc/blocks_block_tree.xml +++ b/gr-blocks/grc/blocks_block_tree.xml @@ -194,6 +194,7 @@ <name>Stream Tag Tools</name> <block>blocks_tag_debug</block> <block>blocks_tag_gate</block> + <block>blocks_tag_share</block> <block>blocks_tagged_file_sink</block> <block>blocks_tagged_stream_mux</block> <block>blocks_tagged_stream_align</block> diff --git a/gr-blocks/grc/blocks_tag_share.xml b/gr-blocks/grc/blocks_tag_share.xml new file mode 100644 index 0000000000..21827d0591 --- /dev/null +++ b/gr-blocks/grc/blocks_tag_share.xml @@ -0,0 +1,96 @@ +<?xml version="1.0"?> +<block> + <name>Tag Share</name> + <key>blocks_tag_share</key> + <import>from gnuradio import blocks</import> + <make>blocks.tag_share($io_type.size, $share_type.size, $vlen)</make> + + <param> + <name>IO Type</name> + <key>io_type</key> + <type>enum</type> + <hide>part</hide> + <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>Share Type</name> + <key>share_type</key> + <type>enum</type> + <hide>part</hide> + <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>Vec Length</name> + <key>vlen</key> + <value>1</value> + <type>int</type> + <hide>part</hide> + </param> + + <check>$vlen > 0</check> + + <sink> + <name>in</name> + <type>$io_type</type> + <vlen>$vlen</vlen> + </sink> + <sink> + <name>share</name> + <type>$share_type</type> + <vlen>$vlen</vlen> + </sink> + + <source> + <name>out</name> + <type>$io_type</type> + <vlen>$vlen</vlen> + </source> +</block> |