aboutsummaryrefslogtreecommitdiff
path: root/embassy-time-queue-utils/src/queue_integrated.rs
diff options
context:
space:
mode:
authorFredrik Reinholdsen <[email protected]>2025-02-15 12:05:16 +0100
committerFredrik Reinholdsen <[email protected]>2025-02-15 12:06:49 +0100
commit7f4cce536aa14010b723885bdf632f0f22182cb1 (patch)
tree7f84dec2089d8a3680767f74f701b6379b607ae4 /embassy-time-queue-utils/src/queue_integrated.rs
parent0ce6da9706b9d929691c9292c923117fcbc2f9c6 (diff)
fix: Fix for async I2C v2 driver sequential read/write reads. Fixes #3887
For I2C devices that support variable length reads, sending chunks of data as long as the master keeps ACK:ing after each received byte, sequential reads will sometimes get out of sync, causing additional reads to return invalid data. This was caused by a delay between awaiting the DMA read and sending the software STOP signal, which may result in the slave to have time to send a byte of data in between, causing potential miss-alignment. This would then cause subsequent reads to return invalid data. Async write-reads now no longer send STOP after the initial write, matching the behaviour of the blocking version.
Diffstat (limited to 'embassy-time-queue-utils/src/queue_integrated.rs')
0 files changed, 0 insertions, 0 deletions