Python Variables in GRC

From GNU Radio
Jump to navigation Jump to search

Template:TutorialNavigation

This tutorial describes how Python data types are used in GRC and how the variables are displayed.

The previous tutorial, Your First Flowgraph, shows how to build your first simple flowgraph. The next tutorial, Variables in Flowgraphs, describes how to use and modify variables in a more sophisticated flowgraph.

Floats and Integers in GRC

GNU Radio Companion (GRC) uses Python data types to represent variables. The simplest data type are numbers. Numbers in Python can be floating point or integers:

floatNumber = 3.14
integerNumber = 2

Integers can be converted to floating point by casting using float(), and floating point numbers can be converted to integers using int():

floatNumber = float(2)
integerNumber = int(3.14)

Type conversion can be done within the variable blocks:

FloatToIntProperties.png

The value is then displayed as an integer:

FloatToIntVariable.png

However, GRC displays numbers in a different fashion than Python. For example, when you create a new flowgraph you will be given the samp_rate block.

SampRateProperties.png


Double-click the samp_rate variable to edit the properties:

SampRateVariable.png


You'll notice that the value is 32000 yet GRC displays the value in the flowgraph as 32k. This is because GRC converts all numbers into SI Units. Note that how the number is entered into GRC may be different than how GRC displays the number.

For another example, drag and drop a variable into the workspace. Double-click to edit the properties:

  • Id: floatNumber
  • Value: 0.25

FloatNumberProperties.png


GRC now displays the value 0.25 as 250m because it has been converted to a SI units:

FloatNumberVariable.png

Strings in GRC

Python uses both single quotes ' and double quotes " to contain strings:

singleQuoteString = 'string1'
doubleQuoteString = "string2"

Strings can be used as variables in GRC:

StringProperties.png

StringVariable.png

Lists, Tuples and Arrays in GRC

Variables in GRC can also use lists and tuples:

integerList = [1, 2, 3, 4, 5]
floatList = [

* reference filter section that uses tuples to hold filter weights
* lists
* arrays

Using Python Types in GRC

* python data types accepted in variables

How GRC Displays Variable Values

* 32,000 -> 32k * 0.25 -> 250m The next tutorial, Variables in Flowgraphs, describes how to use and modify variables in a more sophisticated flowgraph.