File Source: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
m (Unbracket bare URL(s). There is good reason not to disguise the links, and readers should be able to see the filename without hovering.)
 
(6 intermediate revisions by 4 users not shown)
Line 6: Line 6:


; File (''R'')
; File (''R'')
: Filename of binary file.
: Filename of binary file. <b>Note:</b> The file MUST be on the local computer.
The file size must not be less than 8 bytes, otherwise it gives the following error: "RuntimeError: file is too small"


; Output Type
; Output Type
Line 15: Line 16:


; Add Begin Tag (''R'')
; Add Begin Tag (''R'')
: Tag to add to the first sample of the stream.
: Key of a tag to add to the first sample of the stream, and if Repeat is true, the first sample of each repeated copy.  The provided expression must create a PMT.  For example, <code>pmt.intern("example_key")</code> will create a key that represents the string <code>"example_key"</code>.  See [[Polymorphic_Types_(PMTs)]] and [[Stream_Tags]] for more information.


; Offset
; Offset
: Begin this many samples/items into file
: Start offset samples/items after the beginning of the file


; Length
; Length
: Produce only this number of items (offset, offset+len)
: Read only this number of items beginning from offset(offset+len). 0 will read until the end of the file.


== Example Flowgraph ==
== Example Flowgraph ==


Insert description of flowgraph here, then show a screenshot of the flowgraph and the output if there is an interesting GUI. Currently we have no standard method of uploading the actual flowgraph to the wiki or git repo, unfortunately. The plan is to have an example flowgraph showing how the block might be used, for every block, and the flowgraphs will live in the git repo.
This flowgraph can be found at https://github.com/gnuradio/gnuradio/blob/master/gr-dtv/examples/dvbt_rx_8k.grc.
 
[[File:Dvbt_rx_8k_fg.png|800px]]


== Source Files ==
== Source Files ==


; C++ files
; C++ files
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/file_source_impl.cc]
: https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/file_source_impl.cc


; Header files
; Header files
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/file_source_impl.h]
: https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/file_source_impl.h


; Public header files
; Public header files
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/include/gnuradio/blocks/file_source.h]
: https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/include/gnuradio/blocks/file_source.h


; Block definition
; Block definition
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/grc/blocks_file_source.block.yml]
: https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/grc/blocks_file_source.block.yml

Latest revision as of 08:43, 27 April 2023

Reads raw data values in binary format from the specified file. This file can be a file that was captured using a File Sink block, generated with a computer program or saved from an audio editor such as Audacity (using suitable RAW format options).

Parameters

(R): Run-time adjustable

File (R)
Filename of binary file. Note: The file MUST be on the local computer.

The file size must not be less than 8 bytes, otherwise it gives the following error: "RuntimeError: file is too small"

Output Type
Because a binary file does not store information about what type of data is in it, we have to tell GNU Radio the format.
Repeat (R)
Whether or not to repeat the signal, once the end of the file is reached
Add Begin Tag (R)
Key of a tag to add to the first sample of the stream, and if Repeat is true, the first sample of each repeated copy. The provided expression must create a PMT. For example, pmt.intern("example_key") will create a key that represents the string "example_key". See Polymorphic_Types_(PMTs) and Stream_Tags for more information.
Offset
Start offset samples/items after the beginning of the file
Length
Read only this number of items beginning from offset(offset+len). 0 will read until the end of the file.

Example Flowgraph

This flowgraph can be found at https://github.com/gnuradio/gnuradio/blob/master/gr-dtv/examples/dvbt_rx_8k.grc.

Dvbt rx 8k fg.png

Source Files

C++ files
https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/file_source_impl.cc
Header files
https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/file_source_impl.h
Public header files
https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/include/gnuradio/blocks/file_source.h
Block definition
https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/grc/blocks_file_source.block.yml