Head: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:
Copies the first N items to the output then signals done.  Very useful for limiting how many samples get saved to a file when using the [[File Sink]].   
Copies the first N items to the output then signals done.  Very useful for limiting how many samples get saved to a file when using the [[File Sink]].   


If the flowgraph options are set to "No GUI" and "Run until completion", then as long as there is only one branch in the flowgraph, this block will cause the flowgraph to finish when N samples are reached.
If the flowgraph options are set to "No GUI" and "Run until completion", then as long as there is only one branch in the flowgraph, this block will cause the flowgraph execution to finish when N samples are reached.


When branching, may block others branches: samples are not consumed and fill upstream buffers.
When branching, may block others branches: samples are not consumed and fill upstream buffers.
Line 12: Line 12:


; Vec Length
; Vec Length
: Size of the input and output vector (May not handle anything different from 1)
: Size of the input and output vector


== Example Flowgraph ==
== Example Flowgraph ==
Line 21: Line 21:
== Source Files ==
== Source Files ==


[https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/head_impl.cc C++ file]
; C++ Files
[https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/lib/head_impl.cc head_impl.cc]
 
; Header files
[https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/lib/head_impl.h head_impl.h]
 
; Public header files
[https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/include/gnuradio/blocks/head.h head.h]
 
; Block definition
[https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/grc/blocks_head.block.yml blocks_head.block.yml]

Latest revision as of 05:36, 16 February 2022

Copies the first N items to the output then signals done. Very useful for limiting how many samples get saved to a file when using the File Sink.

If the flowgraph options are set to "No GUI" and "Run until completion", then as long as there is only one branch in the flowgraph, this block will cause the flowgraph execution to finish when N samples are reached.

When branching, may block others branches: samples are not consumed and fill upstream buffers.

Parameters

Num Items
Number of samples to copy
Vec Length
Size of the input and output vector

Example Flowgraph

In this setup, both Time sinks will stop after the Head has reach the specified number of items. The Upstream time sink may see more items than the downstream one, depending on the size of the buffer between the source and the head.

Blocking-head-ex.png

Source Files

C++ Files

head_impl.cc

Header files

head_impl.h

Public header files

head.h

Block definition

blocks_head.block.yml