​Thanks Patrick,

There may be many ways to skin a cat, but this method was very quick and easy 
to implement and does exactly as I need :)

________________________________
From: Patrick Sathyanathan <[email protected]>
Sent: 24 September 2015 21:27
To: Kevin McQuiggin; David Halls
Cc: [email protected]
Subject: RE: [Discuss-gnuradio] Function Probe and OOT Blocks

Hi David, Making the parameter vary at runtime is simple and just needs some 
extra XML and python code. The parameter should be an argument to the __init__ 
method (constructor) of your block and should have a "" declaration in the 
matching XML file. Let's say the parameter name is "variable_param" with a 
declaration like: Variable parameter variable_param 42 int Then you need to add 
the following in the XML file: set_variable_param($variable_param) And you need 
to implement the "set_variable_param" method in your python class to take 
whatever action is needed when the parameter value changes. This method will be 
called every time the value of the expression in the underlined "Variable 
parameter" box in the GUI changes. The method will look like: def 
set_variable_param(self, new_value): whatever code This should make GRC 
underline the variable_param in the GUI and it will be variable at runtime. 
Thanks, --Patrick ________________________________ > From: [email protected] > 
Date: Thu, 24 Sep 2015 10:35:34 -0700 > To: [email protected] > CC: 
[email protected] > Subject: Re: [Discuss-gnuradio] Function Probe and 
OOT Blocks > > Hi David: > > I'm a relative newbie myself, but I can say that I 
had this same issue. > I had a block with a static parameter that I wanted to 
be able to > change dynamically at runtime. > > I looked at the block's source 
code, and also at a block that had a > dynamically adjustable parameter. > > 
Basically, and with a little help from the list (Marcus Muller in > particular) 
as I had to learn c++, I was able to use the code from the > dynamic block as 
an example, and modify the static block to change the > parameter to be 
dynamically changeable. It all came down to at most a > couple dozen lines of 
code. The bigger challenge was learning about > Gnuradio's architecture, to 
know what to do. > > I would suggest a similar approach. You will find the list 
members > very helpful. I'd also look at the guided tutorials, there are good > 
examples there under "how to write a c++ block". > > I will help if I can but 
alas, I am still quite a newbie, so others > will be able to help much more 
efficiently! > > Kevin > > Sent from my iPad > > On Sep 23, 2015, at 4:12 AM, 
David Halls > > > wrote: > > > ​Hi guys, > > > I am familiar with using 
function probes to update values to blocks. > This is straightforward with 
built in blocks like Multiply Const, where > the input is underline in the GRC 
dialogue box. > > > How do I create a block, specifically a Python block, that 
allows me to > update parameters in this fashion so that they are not fixed at 
> runtime? > > > Regards, > > > David > > ________________________________ > > 
NOTE: The information in this email and any attachments may be > confidential 
and/or legally privileged. This message may be read, > copied and used only by 
the intended recipient. If you are not the > intended recipient, please destroy 
this message, delete any copies held > on your system and notify the sender 
immediately. > > Toshiba Research Europe Limited, registered in England and 
Wales > (2519556). Registered Office 208 Cambridge Science Park, Milton Road, > 
Cambridge CB4 0GZ, England. Web: > www.toshiba.eu/research/trl > > > > 
________________________________ > This email has been scanned for email 
related threats and delivered > safely by Mimecast. > For more information 
please visit http://www.mimecast.com > ________________________________ > 
_______________________________________________ > Discuss-gnuradio mailing list 
> [email protected] > 
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > 
_______________________________________________ Discuss-gnuradio > mailing list 
[email protected] > 
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

________________________________

NOTE: The information in this email and any attachments may be confidential 
and/or legally privileged. This message may be read, copied and used only by 
the intended recipient. If you are not the intended recipient, please destroy 
this message, delete any copies held on your system and notify the sender 
immediately.

Toshiba Research Europe Limited, registered in England and Wales (2519556). 
Registered Office 208 Cambridge Science Park, Milton Road, Cambridge CB4 0GZ, 
England. Web: www.toshiba.eu/research/trl
---------------------------------------------------------------------------------------
 This email has been scanned for email related threats and delivered safely by 
Mimecast.
 For more information please visit http://www.mimecast.com
---------------------------------------------------------------------------------------
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to