Skip to content

Commit 448ed9a

Browse files
liebmanbugadani
andauthored
implement a parallel interface for esp32 using the i2s peripheral (#2348)
* i2s_parallel for esp32 - partially working * i2s_parallel for esp32 - works sync 16bit (still WIP) * i2s_parallel - add 8-bit * i2s_parallel - naive async implementation * i2s_parallel - clippy * add examples (mainly for testing now and we can reduce these before merge) * set tx_wrx2 in 8 bit mode or it updates on half clocks! * adjust clock config (still really a hack) * better clock calculation/configuration * no need to reset dma or interrupts in start, the DMA DmaTxBuf handles that * seems to need a short delay during tx_reset * use 20 clocks instead of 1us * 1us delay between dma start and tx_start (like idf) * changelog & documentation * remove debugging functions * no need for option in example * make async example actually use async & remove Option * implement Drop for I2sParallelTransfer * fix signal offset comment for I2S0 * small cleanup in i2s_parallel examples * added a note re I2S0 not supporting true 8bit * update doc & fmt * instace functions take &self * fmt * if run at 240MHz (CPU) delay needs to be bigger * wait for fifo on start and fixes for 240MHz * update for esp-hal-changes * fmt --------- Co-authored-by: Dániel Buga <[email protected]>
1 parent 9d4b8fd commit 448ed9a

File tree

5 files changed

+895
-0
lines changed

5 files changed

+895
-0
lines changed

esp-hal/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2121
- `Spi::half_duplex_read` and `Spi::half_duplex_write` (#2373)
2222
- `Cpu::COUNT` and `Cpu::current()` (#2411)
2323
- `UartInterrupt` and related functions (#2406)
24+
- I2S Parallel output driver for esp32. (#2348)
2425
- Add an option to configure `WDT` action (#2330)
2526

2627
### Changed

0 commit comments

Comments
 (0)