summaryrefslogtreecommitdiff
path: root/gr-blocks/grc/blocks_keep_one_in_n.block.yml
diff options
context:
space:
mode:
Diffstat (limited to 'gr-blocks/grc/blocks_keep_one_in_n.block.yml')
-rw-r--r--gr-blocks/grc/blocks_keep_one_in_n.block.yml44
1 files changed, 44 insertions, 0 deletions
diff --git a/gr-blocks/grc/blocks_keep_one_in_n.block.yml b/gr-blocks/grc/blocks_keep_one_in_n.block.yml
new file mode 100644
index 0000000000..d790557834
--- /dev/null
+++ b/gr-blocks/grc/blocks_keep_one_in_n.block.yml
@@ -0,0 +1,44 @@
+id: blocks_keep_one_in_n
+label: Keep 1 in N
+
+parameters:
+- id: type
+ label: 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: n
+ label: N
+ dtype: int
+ default: '1'
+ hide: ${ 'part' if vlen == 1 else 'none' }
+- id: vlen
+ label: Vec Length
+ dtype: int
+ default: '1'
+ hide: ${ 'part' if vlen == 1 else 'none' }
+
+inputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+
+outputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+
+asserts:
+- ${ n > 0 }
+- ${ vlen > 0 }
+
+templates:
+ imports: from gnuradio import blocks
+ make: blocks.keep_one_in_n(${type.size}*${vlen}, ${n})
+ callbacks:
+ - set_n(${n})
+
+file_format: 1