Skip to content

Commit bb32dfa

Browse files
authored
SPI: add missing tests, fix half-duplex abort issue, clean up (#5247)
* Ungate non-dma related test * Add CPU-driven QSPI tests * Clean up CPU-controlled SPI master driver * Clean up SPI future * Flush before configuring full duplex mode * Extract write start logic * Flush before starting half-duplex ops * Clean up half-duplex write setup * Use write_one more * Clean up SpiPinGuard * Clean TransferDone before starting operation * Restore flush at the end of transfer_async
1 parent 3530b1e commit bb32dfa

File tree

5 files changed

+508
-275
lines changed

5 files changed

+508
-275
lines changed

esp-hal/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
118118
- Increase the size of `irom_seg`/`drom_seg` from 4 MB to 32 MB for the ESP32-S3 (#5121)
119119
- UART and I2C inputs are now correctly defined when creating drivers (#5214)
120120
- The `SpiBus::transfer` (both from `embedded_hal` and `embedded_hal_async`) implementations of `esp_hal::spi::master::Spi` no longer write more data than they need to (#5245)
121+
- Fixed a bug in `Spi::half_duplex_{read, write}` where calling these functions aborted previously running writes (#5247)
121122

122123
### Removed
123124

esp-hal/src/gpio/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ impl PinGuard {
114114
Self { pin: pin.number() }
115115
}
116116

117-
pub(crate) fn new_unconnected() -> Self {
117+
pub(crate) const fn new_unconnected() -> Self {
118118
Self { pin: u8::MAX }
119119
}
120120

0 commit comments

Comments
 (0)