Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: stm32 gpdma readable ringbuffer #3480

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

Luctins
Copy link
Contributor

@Luctins Luctins commented Oct 30, 2024

This is based on previous work: #2059 by @tyler-gilbert and #3162 by @caleb-garrett and mainly aims to make the ringbuffered usart work with gpdma targets. I've only removed the gpdma feature gates around usart since it was what I could test and validate.

The original PR's did contain a writable ringbuffer, but since I won't able to validate if it works, it is left out for a future PR when relevant.

I've also included a test for it and also have tried to not break existing modules depending on the current RingBuffer (since there was need to change the dma irq)

Finally, I think it would be interesting to create a new trait for the Gpdma ringbuffers, since they each are used mostly interchangeably and it 'just works' because all of the implementations have the same functions. An example of this issue would be the request_suspend method which was missing at first from @tyler-gilbert 's implementation but is used by the ringbuffered usart implementation.

@Dirbaio could you review this?

@osobiehl
Copy link

osobiehl commented Feb 8, 2025

Hi,
I'm also interested in getting this PR merged. I rebased @Luctins branch and fixed compilation issues. I'm also not a great fan of duck typing my way with named methods using GPDMA or normal DMA, but I'm not knowledgeable enough to come up with a good abstraction.

here is a quick branch where I rebased and fixed compilation issues. Also tested manually on my stm32u575 and it seems to work.

Let me know if there's any way to help to get this merged :)

main...osobiehl:embassy:master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants