diff options
| author | xoviat <[email protected]> | 2025-11-28 20:32:29 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-11-28 20:32:29 +0000 |
| commit | fcd5383f475f7bd413541123d941d3d7e1cd326b (patch) | |
| tree | 5c30f184e919e002c53503061d11c14dc3f31c3d | |
| parent | 217b683427687e8f3a27f02852e6f5bd2405ace3 (diff) | |
| parent | dd0a3a1f0b183b547a3fc574c8ddf82703ecb10e (diff) | |
Merge pull request #4955 from beeelias/i2c-slave/fix-early-term
i2c slave fix (early termination)
| -rw-r--r-- | embassy-stm32/CHANGELOG.md | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/i2c/v2.rs | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/embassy-stm32/CHANGELOG.md b/embassy-stm32/CHANGELOG.md index 2b273482c..2a99d0a96 100644 --- a/embassy-stm32/CHANGELOG.md +++ b/embassy-stm32/CHANGELOG.md | |||
| @@ -85,6 +85,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 85 | - fix: build script ensures EXTI2_TSC is listed as the IRQ of EXTI2 even if the PAC doesn't | 85 | - fix: build script ensures EXTI2_TSC is listed as the IRQ of EXTI2 even if the PAC doesn't |
| 86 | - feat: stm32/lcd: added implementation | 86 | - feat: stm32/lcd: added implementation |
| 87 | - change: add error messages to can timing calculations ([#4961](https://github.com/embassy-rs/embassy/pull/4961)) | 87 | - change: add error messages to can timing calculations ([#4961](https://github.com/embassy-rs/embassy/pull/4961)) |
| 88 | - fix: stm32/i2c v2: add stop flag on stop received | ||
| 88 | 89 | ||
| 89 | ## 0.4.0 - 2025-08-26 | 90 | ## 0.4.0 - 2025-08-26 |
| 90 | 91 | ||
diff --git a/embassy-stm32/src/i2c/v2.rs b/embassy-stm32/src/i2c/v2.rs index b2ba94e21..6b213484c 100644 --- a/embassy-stm32/src/i2c/v2.rs +++ b/embassy-stm32/src/i2c/v2.rs | |||
| @@ -1600,7 +1600,8 @@ impl<'d, M: Mode> I2c<'d, M, MultiMaster> { | |||
| 1600 | for byte in chunk { | 1600 | for byte in chunk { |
| 1601 | // Wait until we have received something | 1601 | // Wait until we have received something |
| 1602 | match self.wait_rxne(timeout) { | 1602 | match self.wait_rxne(timeout) { |
| 1603 | Ok(ReceiveResult::StopReceived) | Ok(ReceiveResult::NewStart) => { | 1603 | Ok(ReceiveResult::StopReceived) => {} |
| 1604 | Ok(ReceiveResult::NewStart) => { | ||
| 1604 | trace!("--- Slave RX transmission end (early)"); | 1605 | trace!("--- Slave RX transmission end (early)"); |
| 1605 | return Ok(total_len - remaining_len); // Return N bytes read | 1606 | return Ok(total_len - remaining_len); // Return N bytes read |
| 1606 | } | 1607 | } |
