Head: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
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 22: Line 22:


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

Revision as of 08:51, 10 July 2019

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++ file

Header file

Public header file

GRC Block definition