summaryrefslogtreecommitdiff
path: root/gr-blocks/grc/blocks_file_source.block.yml
diff options
context:
space:
mode:
Diffstat (limited to 'gr-blocks/grc/blocks_file_source.block.yml')
-rw-r--r--gr-blocks/grc/blocks_file_source.block.yml51
1 files changed, 51 insertions, 0 deletions
diff --git a/gr-blocks/grc/blocks_file_source.block.yml b/gr-blocks/grc/blocks_file_source.block.yml
new file mode 100644
index 0000000000..717ed387be
--- /dev/null
+++ b/gr-blocks/grc/blocks_file_source.block.yml
@@ -0,0 +1,51 @@
+id: blocks_file_source
+label: File Source
+
+parameters:
+- id: file
+ label: File
+ dtype: file_open
+- id: type
+ label: Output 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: repeat
+ label: Repeat
+ dtype: enum
+ default: 'True'
+ options: ['True', 'False']
+ option_labels: ['Yes', 'No']
+- id: vlen
+ label: Vec Length
+ dtype: int
+ default: '1'
+ hide: ${ 'part' if vlen == 1 else 'none' }
+- id: begin_tag
+ label: Add begin tag
+ dtype: raw
+ default: pmt.PMT_NIL
+
+outputs:
+- domain: stream
+ dtype: ${ type }
+ vlen: ${ vlen }
+
+asserts:
+- ${ vlen > 0 }
+
+templates:
+ imports: |-
+ from gnuradio import blocks
+ import pmt
+ make: |-
+ blocks.file_source(${type.size}*${vlen}, ${file}, ${repeat})
+ self.${id}.set_begin_tag(${begin_tag})
+ callbacks:
+ - open(${file}, ${repeat})
+ - self.${id}.set_begin_tag(${begin_tag})
+
+file_format: 1