Moritz,
if you wanted to scare me, you succeeded!
What you propose goes far beyond my current skills and it also looks
excessively complicated compared to my needs: really no easier way to
detect an external trigger?
Furthermore I cannot understand the meaning of the example in “The
E3x0/X3x0 Front Panel GPIO” manual:
“We are also using GPIO4, which we want to control manually, as an
output.
[…]
// set up our values for ATR control: 1 for ATR, 0 for manual
[…]
After the above code is run, the ATR in the FPGA will automatically
control GPIO6, as we have described, based on the radio state, and we
have direct manual control over GPIO4.”
So, what does it mean “After the above code is run, […] we have direct
manual control over GPIO4.”? It thought it could be the solution to my
need (a GPIO port to read an external trigger - except for the GPIO
direction, a detail) but according to what you write (which is coherent
with the introduction of the cited manual page: “These GPIO pins are
controlled directly by the FPGA, where they are controlled by an ATR
(Automatic Transmit / Receive).”) it looks it is not: could you please
explain the point?
TIA!
BR,
Maurizio.
-----Messaggio originale-----
Da: Moritz Fischer [mailto:[email protected]]
Inviato: mercoledì 5 agosto 2015 23:56
A: Crozzoli Maurizio
Cc: [email protected]
Oggetto: Re: [Discuss-gnuradio] Front Panel GPIO on Ettus X310
Maurizio,
On Wed, Aug 5, 2015 at 7:49 AM, Maurizio Crozzoli
[email protected] wrote:
Hi Martin or others who can support me, I have a problem which is
similar as Frank’s: I have an E310 and I want to receive a and
external trigger on a pin which starts an acquisition process of a
burst of samples from the radio source.
In the default FPGA image the GPIO pins are wired up to ATR pins that
are connected to the radio0.
https://github.com/EttusResearch/fpga/blob/master/usrp3/top/e300/e300.v#L112
https://github.com/EttusResearch/fpga/blob/master/usrp3/top/e300/e300.v#L375
https://github.com/EttusResearch/fpga/blob/master/usrp3/top/e300/e300.v#L659
https://github.com/EttusResearch/fpga/blob/master/usrp3/top/e300/e300_core.v#L304
would be your places to start.
If you want to use our GPIO API take a look at:
http://files.ettus.com/manual/page_gpio_api.html
samples from the radio source is started and, once it has been
completed, the flow goes back to the GPIO port monitoring.
You could either fork of a thread to monitor the ports through the UHD
API, or rewire stuff in the FPGA (as pointed out above) to use the
Zynq’s GPIO_I signals in the FPGA.
You could then use the default kernel sysfs GPIO API to use GPIO
interrupts.
places to start investigating are:
https://www.kernel.org/doc/Documentation/gpio/sysfs.txt
http://elinux.org/GPIO#GPIO_interrupts_from_user_space
maybe there are python bindings available?
Is there any example code I be inspired from? OF course I have to
study what can be found in the manual page “The E3x0/X3x0 Front Panel
GPIO”, but, together with the suggested gpio.cpp example under UHD, it
looks like there is more emphasis on the ATR mechanism, which - I
think - has nothing to do with the problem I have to solve.
That is true, see the above links. Depending on latency requirements,
and your input signal, the ATR API might not be what you need.
constraints of the acquisition process of a burst of samples from the
radio source, you might well understand how much I need your help, and
not just for this post…
Just for the GPIO part no requirement of using RFNOC.
[email protected]
Discuss-gnuradio Info Page
Happy hacking,
Moritz
Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle
persone indicate. La diffusione, copia o qualsiasi altra azione
derivante dalla conoscenza di queste informazioni sono rigorosamente
vietate. Qualora abbiate ricevuto questo documento per errore siete
cortesemente pregati di darne immediata comunicazione al mittente e di
provvedere alla sua distruzione, Grazie.
This e-mail and any attachments is confidential and may contain
privileged information intended for the addressee(s) only.
Dissemination, copying, printing or use by anybody else is unauthorised.
If you are not the intended recipient, please delete this message and
any attachments and advise the sender by return e-mail, Thanks.