Thanks to this comment, I ended up finding a solution to call a thread
running a TCP/IP server able to control the variables from the main
processing flowchart, without modifying manually the generated Python for a Qt
application.
A screenshot, which I hope is self-explanatory, illustrating this process is at
http://jmfriedt.org/2020-06-30-083722_2704x1050_scrot.png

However I am facing a surprising result.
I initially (see above) created a signal source, set its frequency to a 
variable flo, 
checked with a slider that changing flo did change the output frequency, 
removed the 
slider and set the signal source flo from my server. No change in the frequency 
output.

So I went back to my initial setup in which I change not only the source signal
frequency but also the receiver hardware LO frequency of the B210, keeping the 
TX LO
fixed. And surely enough both a spectrum analyzer and the coupled output from 
the
B210 TX to the RX show the signal shifting.

Screenshots at
http://jmfriedt.org/2020-06-30-095336_2704x1050_scrot.png show that the 
callback function
for the source frequency or LO frequency are exactly the same and so are the 
server handling
functions, while
http://jmfriedt.org/2020-06-30-095712_2704x1050_scrot.png shows that the B210 
TX frequency
only changes when tuning the hardware LO, not the signal source LO.

Is there some signal that needs to be sent to the signal source beyond
        self.analog_sig_source_x_0.set_frequency(self.flo)
to tell it to change frequency ?

Thanks, JM

--
JM Friedt, FEMTO-ST Time & Frequency/SENSeOR, 26 rue de l'Epitaphe,
25000 Besancon, France

June 22, 2020 1:25 PM, "Marcus Müller" <muel...@kit.edu> wrote:

> It gets even better:
> 
> We've launched a feature in 3.8.1.0 (and on master before that, as we do 
> with any feature that ends up in a maintenance release) that we hope 
> doesn't come back to bite us due to enabling unclean design. But, we 
> must build best practices so that it doesn't go unused, either, so:
> 
> Assuming you're using GNU Radio 3.8.1.0 (or later, once we release 
> something), you can make use of the "Python Snippets" in GRC.
> 
> Cheers,
> Marcus
> 
> On 18/06/2020 23.17, Marcus D. Leech wrote:
> 
>> On 06/18/2020 03:54 PM, jean-michel.fri...@femto-st.fr wrote:
>>> My approach:
>>> * build your grc chart from GNU Radio Companion and generate the .py file
>>> * edit the py file and import pygpio
>>> * play with the RPi4 GPIO in your python script.
>>> 
>>> See attached script, with a python server included in the Python script
>>> to control an RF switch from a GNU Octave TCP/IP client talking to the
>>> Python
>>> TCP/IP server.
>>> 
>>> I am presenting this approach to hardware control at
>>> http://jmfriedt.free.fr/sdra_radar.pdf
>>> 
>>> JM
>> 
>> If you use "Python Module" block, you can write a lot of
>> non-GnuRadio-esque python, import anything you want, etc, etc.  No editing
>> of the output python required, necessarily.
>> 
>>> --
>>> JM Friedt, FEMTO-ST Time & Frequency/SENSeOR, 26 rue de l'Epitaphe,
>>> 25000 Besancon, France
>>> 
>>> June 18, 2020 9:40 PM, "Da Fy" <diver86...@gmail.com> wrote:
>> 
>> Hi All, does anyone have an example of how to control GOIO lines on
>> the RPi4 from within a GRC
>> flowgraph. I’m guessing it’s an OOT module.
>> 
>> I need to generate a signal of a few 100Hz & control GPIO lines at
>> various points though the cycle.
>> 
>> Alternatively, I could generate the signal & lines with external
>> hardware & read them with
>> GnuRadio.
>> 
>> Tnx, Dave

Reply via email to