Skip to content

Half-duplex SPI #444

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

Merged
merged 2 commits into from
Mar 23, 2023
Merged

Half-duplex SPI #444

merged 2 commits into from
Mar 23, 2023

Conversation

bjoernQ
Copy link
Contributor

@bjoernQ bjoernQ commented Mar 21, 2023

This adds half-duplex SPI support including dual and quad SPI, including DMA support.
Examples for all supported targets are included.

The examples need an SPI flash chip with support for quad-SPI. I used GD25Q64C - make sure to enable the QE bit in the status register before connecting HOLD / SIO3

Some of the targets even support OSPI but since I have no way to test that and also, I assume it's not too popular (besides of the on-module flash/ram) it's not included here

Please note: in non-DMA mode we cannot transfer data larger than the FIFO, in DMA mode we can transfer 32k of data

@bjoernQ bjoernQ marked this pull request as ready for review March 22, 2023 08:21
Copy link
Member

@jessebraham jessebraham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking care of this!

Lots of code and I don't have the hardware to test it, so my review probably isn't worth much, but looks reasonable enough to me reading through the code 😁

@bjoernQ bjoernQ merged commit 593dcb8 into esp-rs:main Mar 23, 2023
@bjoernQ bjoernQ deleted the feature/spi-half-duplex branch March 23, 2023 07:35
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