[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GPIO lines on RPi4
From: |
address@hidden |
Subject: |
Re: GPIO lines on RPi4 |
Date: |
Sat, 27 Jun 2020 06:44:19 +0000 |
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
application
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
Qt.QApplication.setGraphicsSystem(style)
qapp = Qt.QApplication(sys.argv)
Is there a proper way of accessing the variables and the functions of the main
GRC
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" <mueller@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.friedt@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" <diver863uk@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