summaryrefslogtreecommitdiff
path: root/gr-blocks/grc/blocks_patterned_interleaver.block.yml
diff options
context:
space:
mode:
Diffstat (limited to 'gr-blocks/grc/blocks_patterned_interleaver.block.yml')
-rw-r--r--gr-blocks/grc/blocks_patterned_interleaver.block.yml42
1 files changed, 42 insertions, 0 deletions
diff --git a/gr-blocks/grc/blocks_patterned_interleaver.block.yml b/gr-blocks/grc/blocks_patterned_interleaver.block.yml
new file mode 100644
index 0000000000..97f170f97e
--- /dev/null
+++ b/gr-blocks/grc/blocks_patterned_interleaver.block.yml
@@ -0,0 +1,42 @@
+id: blocks_patterned_interleaver
+label: Patterned Interleaver
+
+parameters:
+- id: type
+ label: IO Type
+ dtype: enum
+ options: [complex, float, int, short, byte]
+ option_attributes:
+ size: [gr.sizeof_gr_complex, gr.sizeof_float, gr.sizeof_int, gr.sizeof_short,
+ gr.sizeof_char]
+ hide: part
+- id: pattern
+ label: Pattern
+ dtype: int_vector
+ default: '[0,0,1,2]'
+ hide: part
+- id: vlen
+ label: Vec Length
+ dtype: int
+ default: '1'
+ hide: ${ 'part' if vlen == 1 else 'none' }
+
+inputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+ multiplicity: ${ 1+max(pattern) }
+
+outputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+
+asserts:
+- ${ vlen >= 1 }
+
+templates:
+ imports: from gnuradio import blocks
+ make: blocks.patterned_interleaver(${type.size}*${vlen}, ${pattern})
+
+file_format: 1