x300: front-panel GPIO source mux functionality - #206
Conversation
(examples for usage added under examples directory)
|
Just following up on this pull request.. please advise if there's anything that I can do (or fix). Thanks! |
|
Hey @eklai, sorry for the delay. I've rebased and addressed a few things we identified in our internal reviews, and pushed those branches to uhd/x300_fp_gpio_fix and fpga/x300_fp_gpio_fix. If I've made any mistakes in the rebase, or if you think any of the changes were unwarranted, please let me know. I did some testing on my updated branches, and found an issue with the fpga changes. When running the examples, the physical GPIO pins output the correct values. However, the READBACK values read by software did not match our expectations. The software reads the values back from gpio_atr.v, which does not have visibility into where we're actually assigning the physical output (x300_core.v::fp_gpio_out), so we end up always reading the wrong radio when we've set the SRC to a non-zero value. How did you test these changes? Are you seeing the same behavior when you run, for example, $ ./lib/uhd/examples/gpio --args type=x300 --src 0xFFF --bank FP0 --dwell 10 --bits 12 --tx_subdev B:0 --rx_subdev B:0`? |
|
We're working on pulling a change close to this into master. |
|
See the comments on #666 regarding the GPIO-access feature. |
UHD changes to allow X300's front-panel GPIO to be muxed between the two radios' FP GPIO banks on a bit-by-bit basis. Updates made to both the x300 control API and multi-usrp API to allow for writing of a source control register to the FPGA. Test files illustrating use of this functionality included in the examples directory, one version using the multi-usrp API and another version using the RFNoC API.
Corresponding FPGA repository pull request: EttusResearch/fpga#28