summaryrefslogtreecommitdiff
path: root/gr-blocks/grc
diff options
context:
space:
mode:
authorTim O'Shea <tim.oshea753@gmail.com>2013-11-19 17:01:33 -0500
committerTom Rondeau <tom@trondeau.com>2013-11-26 08:53:38 -0500
commitfa3187a1c03f87d944c261c764f61453d77d8244 (patch)
tree78e9957b637962df52a69fe7183fe5bedb814284 /gr-blocks/grc
parenta4d2ba4bfc9b62d6c53d74f5f70a3c0656025cee (diff)
blocks: adding tagged_stream_multiply_length for scaling item lengths (useful in conjunction with stream blocks that interpolate or decimate at fixed rates)
Diffstat (limited to 'gr-blocks/grc')
-rw-r--r--gr-blocks/grc/blocks_block_tree.xml1
-rw-r--r--gr-blocks/grc/blocks_tagged_stream_multiply_length.xml70
2 files changed, 71 insertions, 0 deletions
diff --git a/gr-blocks/grc/blocks_block_tree.xml b/gr-blocks/grc/blocks_block_tree.xml
index 18e6a05213..e63128337d 100644
--- a/gr-blocks/grc/blocks_block_tree.xml
+++ b/gr-blocks/grc/blocks_block_tree.xml
@@ -120,6 +120,7 @@
<block>blocks_message_strobe</block>
<block>blocks_message_debug</block>
<block>blocks_pdu_to_tagged_stream</block>
+ <block>blocks_tagged_stream_multiply_length</block>
<block>blocks_tagged_stream_to_pdu</block>
<block>blocks_random_pdu</block>
</cat>
diff --git a/gr-blocks/grc/blocks_tagged_stream_multiply_length.xml b/gr-blocks/grc/blocks_tagged_stream_multiply_length.xml
new file mode 100644
index 0000000000..f4abb92903
--- /dev/null
+++ b/gr-blocks/grc/blocks_tagged_stream_multiply_length.xml
@@ -0,0 +1,70 @@
+<block>
+ <name>Tagged Stream Multiply Length Tag</name>
+ <key>blocks_tagged_stream_multiply_length</key>
+ <import>from gnuradio import blocks</import>
+ <make>blocks.tagged_stream_multiply_length($type.size*$vlen, $lengthtagname, $c)</make>
+ <callback>set_scalar($c)</callback>
+ <param>
+ <name>IO 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>Length tag names</name>
+ <key>lengthtagname</key>
+ <type>string</type>
+ </param>
+ <param>
+ <name>Vector Length</name>
+ <key>vlen</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Length Scalar</name>
+ <key>c</key>
+ <value>1.0</value>
+ <type>real</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>$type</type>
+ <vlen>$vlen</vlen>
+ </sink>
+ <sink>
+ <name>set_scalar</name>
+ <type>message</type>
+ <optional>1</optional>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>$type</type>
+ <vlen>$vlen</vlen>
+ </source>
+</block>
+