Skip to content

x300: front-panel GPIO source mux functionality - #206

Closed
eklai wants to merge 1 commit into
EttusResearch:masterfrom
skysafe:x300_fp_gpio_fix
Closed

x300: front-panel GPIO source mux functionality#206
eklai wants to merge 1 commit into
EttusResearch:masterfrom
skysafe:x300_fp_gpio_fix

Conversation

@eklai

@eklai eklai commented Aug 21, 2018

Copy link
Copy Markdown

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

(examples for usage added under examples directory)
@eklai

eklai commented Feb 19, 2019

Copy link
Copy Markdown
Author

Just following up on this pull request.. please advise if there's anything that I can do (or fix). Thanks!

@brentstapleton

Copy link
Copy Markdown
Contributor

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`

?

@mbr0wn

mbr0wn commented Jan 24, 2020

Copy link
Copy Markdown
Contributor

We're working on pulling a change close to this into master.

@mbr0wn

mbr0wn commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

See the comments on #666 regarding the GPIO-access feature.

@mbr0wn mbr0wn reopened this Jan 20, 2026
@mbr0wn mbr0wn closed this Jan 20, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Jan 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants