Difference between revisions of "Variable Config"

From GNU Radio
Jump to: navigation, search
(Created page with "Category:Block Docs Category:Stub Docs This is the template for the "Page-per-block Docs". This first section should describe what the block...")
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Block Docs]]
 
[[Category:Block Docs]]
[[Category:Stub Docs]]
+
This block represents a variable that can be read from a config file.
This is the template for the [[:Category:Block_Docs|"Page-per-block Docs"]].  This first section should describe what the block does and how to use it, using however many paragraphs necessary.  Note that the title of the wiki page should match the block's name in GRC, i.e. the one defined in the block's .grc file.  Look at the [[FFT]] Block for a good example.
 
  
As this is a basic template, it's also in the [[:Category:Stub_Docs|"Stub Docs category"]]. Please improve it.
+
To save the value back into the config file: enter the name of another variable into the writeback param. When the other variable is changed at runtime, the config file will be re-written.
 +
 
 +
The config files are INI files, with a file structure described [https://docs.python.org/3/library/configparser.html#supported-ini-file-structure here] and that basically look like this, parameters named (the key, or option parameter in the block) and organised in sections (the square-bracketed name).
 +
 
 +
  [Transmission]
 +
  frequency = 2410000000
 +
  gain = 10
 +
  [Runtime]
 +
  samp_rate = 1000000
 +
  # Parameters for the low-pass filter
 +
  [Filtering]
 +
  cutoff = 10000
 +
  width = 5000
  
 
== Parameters ==
 
== Parameters ==
 
(''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span>
 
(''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span>
  
; Param 1 (''R'')
+
; Id (''R'')
: Description of parameter, provide any tips or recommended values.  Note that the name of the parameter above should match the param's label that shows up in grc (e.g. Sample Rate).
+
: Id of the block, used to reference the variable in other blocks
  
; Param 2
+
; Default value (''R'')
: blah blah blah
+
: Default value to be used if the value cannot be read
  
== Example Flowgraph ==
+
; Config file (''R'')
 +
: The file that stores the value
  
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.
+
; Section (''R'')
 +
: Section in the file containing the key/value pair of the variable
  
== Source Files ==
+
; Option (''R'')
 +
: Key of the value in the file
  
; C++ fileshttps://wiki.gnuradio.org/index.php/SISO
+
; WriteBack (''R'')
 +
: Variable to write in place of the current one
  
: [https://github.com/gnuradio/gnuradio TODO]
+
== Example Flowgraph ==
  
; Header files
+
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.
: [https://github.com/gnuradio/gnuradio TODO]
 
  
; Public header files
+
== Source Files ==
: [https://github.com/gnuradio/gnuradio TODO]
 
  
 
; Block definition
 
; Block definition
: [https://github.com/gnuradio/gnuradio TODO]
+
: [https://github.com/gnuradio/gnuradio/blob/master/grc/blocks/variable_config.block.yml]

Latest revision as of 10:41, 22 April 2020

This block represents a variable that can be read from a config file.

To save the value back into the config file: enter the name of another variable into the writeback param. When the other variable is changed at runtime, the config file will be re-written.

The config files are INI files, with a file structure described here and that basically look like this, parameters named (the key, or option parameter in the block) and organised in sections (the square-bracketed name).

 [Transmission]
 frequency = 2410000000
 gain = 10
 [Runtime]
 samp_rate = 1000000
 # Parameters for the low-pass filter
 [Filtering]
 cutoff = 10000
 width = 5000

Parameters[edit]

(R): Run-time adjustable

Id (R)
Id of the block, used to reference the variable in other blocks
Default value (R)
Default value to be used if the value cannot be read
Config file (R)
The file that stores the value
Section (R)
Section in the file containing the key/value pair of the variable
Option (R)
Key of the value in the file
WriteBack (R)
Variable to write in place of the current one

Example Flowgraph[edit]

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.

Source Files[edit]

Block definition
[1]