I am definitely not knowledgeable about Python so I might be missing
the basics: as I want to include a TCP server for tuning the acquisition
parameters, it seems to me (but I might be wrong) that the Python Module
is more appropriate than the Python Snippet which seems to add a piece
of code to the main() Python flowgraph function.
The TCP server in the Python Module I have written must change the USRP LO
frequency so in my Python Module I
import t
since t is my GRC flowchart name and I create tt=t.t() which allows me to
change e.g. the LO frequency variable f with tt.f=tt.f+10000 or change the
LO frequency itself by calling tt.set_f(tt.f). This is all good in a CLI 
as the one running on the RPi4, and working nicely.
However for educational purposes I wanted to demonstrate the same principle with
a Qt Application and in this case I get the error message
QWidget: Must construct a QApplication before a QWidget
which I assume is due to the definition of the class
class t(gr.top_block, Qt.QWidget):
requiring a Qt.QWidget when I define tt=t.t() which is not yet defined as
    qapp = Qt.QApplication(sys.argv)

Is there a proper way of accessing the variables and the functions of the main 
flowchart from my Python Module, also applicable in the case of a Qt 
Application ?

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 (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 (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