I tried this out and I'm having some problems. I'm on GR 3.7.8 and UHD 3.8.5, both the newest as far as I know.
What I did was make a flowgraph with a signal generator source and a UHD sink in GRC. It works before I made any modifications. There are a few lines in top_block.py that set the sample rate, antenna, etc. At the end of them I added this:
self.uhd_usrp_sink_0.set_gpio_attr("TXA", "ATR_TX", 1, 0x10, 0)
It should set pin 4 high whenever I transmit (right?). I run my flowgraph and get this traceback:
Traceback (most recent call last):
File "top_block.py", line 76, in <module>
File "top_block.py", line 55, in __init__
self.uhd_usrp_sink_0.set_gpio_attr("TXA", "ATR_TX", 1, 0x10, 0)
File "/usr/local/lib64/python2.7/site-packages/gnuradio/uhd/uhd_swig.py", line 4539, in set_gpio_attr
return _uhd_swig.usrp_sink_sptr_set_gpio_attr(self, bank, attr, value, mask, mboard)
RuntimeError: LookupError: Path not found in tree: /mboards/0/dboards/A/iface
I know I'm using the right banks because I can do this command:
$ python -c 'from gnuradio import uhd; usrp = uhd.multi_usrp_sink("serial=<removed>", uhd.io_type.COMPLEX_FLOAT32, 1); print usrp.get_gpio_banks(0)'
and get
('RXA', 'TXA')
I also run this command:
uhd_usrp_probe --args='serial=<removed>' --tree | grep -i iface
and get nothing. Without piping into grep I get 177 lines that all seem to make sense to me.
Is that command I'm using correct or is there some other issue?
Thanks,
Devin