0.19.0
Please note that only changes to the esp-hal
package are tracked in these release notes.
Migration Guide
Coming Soon™️ (sorry, I forgot to write it 😅)
Changelog
Added
- uart: Added
with_cts
/with_rts
s methods to configure CTS, and RTS pins (#1592) - uart: Constructors now require TX and RX pins (#1592)
- uart: Added
Uart::new_with_default_pins
constructor (#1592) - uart: Added
UartTx
andUartRx
constructors (#1592) - Add Flex / AnyFlex GPIO pin driver (#1659)
- Add new
DmaError::UnsupportedMemoryRegion
- used memory regions are checked when preparing a transfer now (#1670) - Add DmaTransactionTxOwned, DmaTransactionRxOwned, DmaTransactionTxRxOwned, functions to do owning transfers added to SPI half-duplex (#1672)
- uart: Implement
embedded_io::ReadReady
forUart
andUartRx
(#1702) - ESP32-S3: Expose optional HSYNC input in LCD_CAM (#1707)
- ESP32-C6: Support lp-core as wake-up source (#1723)
- Add support for GPIO wake-up source (#1724)
- gpio: add DummyPin (#1769)
- dma: add Mem2Mem to support memory to memory transfer (#1738)
- Add
uart
wake source (#1727) #[ram(persistent)]
option to replace the unsounduninitialized
option (#1677)- uart: Make
rx_timeout
optional in Config struct (#1759) - Add interrupt related functions to
PeriodicTimer
/OneShotTimer
, addedErasedTimer
(#1753) - Added blocking
read_bytes
method toUart
andUartRx
(#1784)
Fixed
- ESP32-S3: Fix DMA waiting check in LCD_CAM (#1707)
- TIMG: Fix interrupt handler setup (#1714)
- Fix
sleep_light
for ESP32-C6 (#1720) - ROM Functions: Fix address of
ets_update_cpu_frequency_rom
(#1722) - Fix
regi2c_*
functions foresp32h2
(#1737) - Improved
#[ram(zeroed)]
soundness by adding abytemuck::Zeroable
type bound (#1677) - EESP32-S2 / ESP32-S3: Fix UsbDm and UsbDp for Gpio19 and Gpio20
- Fix reading/writing small buffers via SPI master async dma (#1760)
- Remove unnecessary delay in rtc_ctnl (#1794)
Changed
- Refactor
Dac1
/Dac2
drivers into a singleDac
driver (#1661) - esp-hal-embassy: make executor code optional (but default) again
- Improved interrupt latency on RISC-V based chips (#1679)
esp_wifi::initialize
no longer requires running maximum CPU clock, instead check it runs above 80MHz. (#1688)- Move DMA descriptors from DMA Channel to each individual peripheral driver. (#1719)
- Support DMA chunk sizes other than the default 4092 (#1758)
- Improved interrupt latency on Xtensa based chips (#1735)
- Improve PCNT api (#1765)