Harden I2C and SPI hardware edge cases - #3205
Merged
floitsch merged 10 commits intoSep 13, 2026
Merged
Conversation
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
from
September 3, 2026 15:48
297bd38 to
310264a
Compare
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
from
September 3, 2026 15:57
310264a to
2046e8d
Compare
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
from
September 3, 2026 16:08
2046e8d to
e08a157
Compare
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
2 times, most recently
from
September 4, 2026 16:45
7e35b5f to
b8cf906
Compare
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
from
September 4, 2026 22:51
b8cf906 to
9e2f216
Compare
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
from
September 7, 2026 23:27
9e2f216 to
675283e
Compare
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
from
September 7, 2026 23:42
675283e to
370466c
Compare
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
from
September 8, 2026 16:03
370466c to
69795e0
Compare
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
2 times, most recently
from
September 9, 2026 10:34
1b5a0ff to
fc78399
Compare
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
from
September 9, 2026 15:12
fc78399 to
bc4d8e1
Compare
floitsch
removed this pull request from stack #3213
September 9, 2026 15:16
floitsch
added this pull request to stack #3217
September 9, 2026 15:16
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
from
September 10, 2026 21:30
77576ba to
fde9bbd
Compare
floitsch
force-pushed
the
floitsch/i2c-spi-hw-tests
branch
from
September 12, 2026 23:16
cadcbed to
6fd74c9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #3161. The required ESP-IDF patch head is already on master.
This follow-up closes the remaining review and hardware-test gaps for the asynchronous I2C/SPI stack:
i2c.Target --default-responseoption: a bounded fallback response used whenever no ordinary transmit data is ready. Ordinarywritedata takes over at a read-transaction boundary, and the default is restored automatically after that stream drains.CONFIG_TOIT_ENABLE_I2C_TARGETandCONFIG_TOIT_ENABLE_SPI_TARGET; disabling either compiles its implementation and dependencies out, while both remain enabled in the default envelope.CONFIG_SPI_MASTER_ISR_IN_IRAM=yon classic ESP32 while retaining both targets.The original ESP32 ACKs an empty target read but returns undefined FIFO contents; an observed eight-byte read was
b5 ff ff ff ff ff ff ff. The configured default makes this case deterministic without clock stretching.Hardware verification using paired boards: