Creating Your First Block: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
Line 37: Line 37:




The ''import'' statement includes the NumPy and GNU Radio libraries. The ''__init__'' statement:
The ''import'' statement includes the NumPy and GNU Radio libraries.
 
The ''__init__'' statement:
# Accepts the ''example_param'' parameter with a default argument of 1.0
# Accepts the ''example_param'' parameter with a default argument of 1.0
# Declares the block to have a ''np.complex64'' input and output, which is the GNU Radio ''Complex Float 32'' data type
# Declares the block to have a ''np.complex64'' input and output, which is the GNU Radio ''Complex Float 32'' data type
# Stores the ''self.example_param'' variable from the input parameter
# Stores the ''self.example_param'' variable from the input parameter
The ''work'' function:
# Has the input ''input_items'' and output ''output_items'' parameters
# Applies a mathematical operation to ''input_items'' and stores the result in ''output_items''
# Returns the number of samples produced

Revision as of 15:46, 7 January 2022

This tutorial will guide you through creating your first block with the Embedded Python Block.

Embedded Python Block

The Embedded Python Block is a tool to quickly prototype a block within a flowgraph. Search for the Python Block and add it to the workspace:

AddPythonBlockToWorkspace.png


Double-click the box to edit the properties. The Embedded Python Block has two properties,

  1. Code, a click-box which contains a link to the Python code for the block and
  2. Example_Param, an input parameter to the block.


Click on Open in Editor to edit the Python code:

EmbeddedPythonBlockProperties.png


You will be prompted with another choice for which editor to use to write the Python code. Click Use Default:

ClickUseDefault.png


An editor window will then display the Python code for the Embedded Python Block:

PythonCodeGedit.png


Editing Python Block Code

There are three important sections in the Python block code:

  1. import statements in green
  2. __init__ function in orange
  3. work function in red

PythonBlockCodeFunctions.png


The import statement includes the NumPy and GNU Radio libraries.

The __init__ statement:

  1. Accepts the example_param parameter with a default argument of 1.0
  2. Declares the block to have a np.complex64 input and output, which is the GNU Radio Complex Float 32 data type
  3. Stores the self.example_param variable from the input parameter

The work function:

  1. Has the input input_items and output output_items parameters
  2. Applies a mathematical operation to input_items and stores the result in output_items
  3. Returns the number of samples produced