QUERY · ISSUE
ESP32 I2S master clock support
enhancement
It appears that the I2S class does not currently support a I2S DAC that requires a master clock.
BTW: What is easiest workaround to use ES7134LV with micropython?
CANDIDATE · PULL REQUEST
esp32,stm32/i2s: I2S protocol support for Pyboards and ESP32.
port-stm32port-esp32
This PR adds I2S protocol support for STM32 and ESP32 ports:
- consistent I2S API across the STM32 and ESP32 ports
- I2S configurations supported:
- master transmit and master receive
- 16-bit and 32-bit sample sizes
- mono and stereo formats
- specify sampling frequency
- 3 modes of operation:
- blocking
- non-blocking with callback
- uasyncio
- specify internal ring buffer size
- MicroPython documentation for Pyboards and ESP32
- new uasyncio Stream class method "readinto()"
- tested on the following development boards:
- Pyboard D SF2W
- Pyboard V1.1
- ESP32 with SPIRAM
- ESP32
- builds on the STM32 work of blmorris:
- https://github.com/micropython/micropython/pull/1361
- I2S examples repo to support this PR:
- https://github.com/miketeachman/micropython-i2s-examples
- this PR obsoletes an ESP32-specific I2S PR:
- https://github.com/micropython/micropython/pull/4471
- pybv1.0 metric changes wrt master: text(+5592), data(0), bss(+8)
- esp32 metric changes wrt master: text(+11228), data(+2832), bss(+24)