[USRP-users] GPIO with X310

Andy Walls andy at silverblocksystems.net
Thu Dec 4 16:01:06 EST 2014

On Thu, 2014-12-04 at 15:37 -0500, Robert Kossler via USRP-users wrote:
> Hi,
> I would like to trigger some external instrumentation when my X310
> begins transmitting.  I have reviewed the GPIO documentation and it
> seems that the ATR functionality with the GPIO pins would work well
> for me.  However, I have a few questions:
> 1) I see that I can set a particular GPIO pin to output a "1" during
> transmit, but what does "transmit" mean?

There are 4 ATR indicators that can be mapped to a GPIO:  Idle, Rx, Tx,
and Tx+Rx.  In my testing, they all appear to be mutually exclusive.
So, if you want a "1" value when the transmit is ongoing, regardless of
receive, you need both the Tx and Tx+Rx indicator mapped to that GPIO

>   Since there are two channels, does it mean transmit on either
> channel?  I don't see a way to specify this behavior as a function of
> the transmit channel.

Good question.   Looking at the FPGA source code, it looks like the
Front Panel GPIO is propagated up from radio 0 (the first daughter card)
and not at all from radio 1 (the second daughter card).

Obviously a quick test with a DVM or oscilloscope can be used to verify

> 2) I am not looking for really precise accuracy (really, about 1 msec
> is good enough), but I would like for this transmit bit rising edge to
> occur at the same time as the RF signal appears at the SMA connector.
> Does this seem possible?  If not, perhaps there would at least be a
> "fixed" delay between the onset of the transmit bit and the RF?

Another good question.  I can't help here.

> 3) I see how this is called from C++ using set_gpio_attr.  However, I
> would like to do this from GNU radio.  Is this possible?  Are there
> any examples?

There is no existing GNURadio block.  I had to write my own block for
GNURadio and GRC.  It is possible.


More information about the USRP-users mailing list