* Introduce a trait for DMA channels This trait is then used to hold types related to the particular DMA channel. This change allows us to simplify user-facing types. * Remove private type from I2s * Remove redundant spi3 example, update examples * Merge markdown sections * Add changelog entry
5.4 KiB
5.4 KiB
Changelog
All notable changes to this project will be documented in this file.
Please note that only changes to the esp-hal-common package are tracked in this CHANGELOG.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
- Add
WithDmaSpi3to prelude for ESP32S3 (#623) - Add bare-bones PSRAM support for ESP32 (#506)
- Add initial support for the ESP32-H2 (#513, #526, #527, #528, #530, #538, #544, #548, #551, #556, #560, #566, #549, #564, #569, #576, #577, #589, #591, #597)
- Add bare-bones PSRAM support for ESP32-S3 (#517)
- Add async support to the I2C driver (#519)
- Implement Copy and Eq for EspTwaiError (#540)
- Add LEDC hardware fade support (#475)
- Added support for multicore async GPIO (#542)
- Add a fn to poll DMA transfers (#559)
- Simplify the
Delaydriver, deriveCloneandCopy(#568) - Fix Async GPIO not disabling interupts on chips with multiple banks (#572)
- Add unified field-based efuse access (#567)
- Move
esp-riscv-rtinto esp-hal (#578) - Add CRC functions from ESP ROM (#587)
- Add a
debugfeature to enable the PACs'impl-register-debugfeature (#596) - Add initial support for
I2Sin ESP32-H2 (#597) - Fix rom::crc docs
- Add octal PSRAM support for ESP32-S3 (#610)
- Add MD5 functions from ESP ROM (#618)
- Add embassy async
readsupport foruart(#620)
Changed
- DMA types can no longer be constructed by the user (#625)
- Move core interrupt handling from Flash to RAM for RISC-V chips (ESP32-H2, ESP32-C2, ESP32-C3, ESP32-C6) (#541)
- Change LED pin to GPIO2 in ESP32 blinky example (#581)
- Update ESP32-H2 and ESP32-C6 clocks and remove
i2c_clockfor all chips but ESP32 (#592) - Use both timers in
TIMG0for embassy time driver when able (#609) - Re-work
RadioExtimplementations, add support for ESP32-H2 (#627) - Improve examples documentation (#533)
- esp32h2-hal: added README (#585)
Fixed
- Corrected the expected DMA descriptor counts (#622, #625)
- DMA is supported for SPI3 on ESP32-S3 (#507)
change_bus_frequencyis now available onSpiDma(#529)- Fixed a bug where a GPIO interrupt could erroneously fire again causing the next
awaiton that pin to instantly returnPoll::Ok(#537) - Set
vecbaseon core 1 (ESP32, ESP32-S3) (#536) - ESP32-S3: Move PSRAM related function to RAM (#546)
- ADC driver will now apply attenuation values to the correct ADC's channels. (#554)
- Sometimes half-duplex non-DMA SPI reads were reading garbage in non-release mode (#552)
- ESP32-C3: Fix GPIO5 ADC channel id (#562)
- ESP32-H2: Fix direct-boot feature (#570)
- ESP32-C6: Support FOSC CLK calibration for ECO1+ chip revisions (#593)
- Fixed CI by pinning the log crate to 0.4.18 (#600)
- ESP32-S3: Fix calculation of PSRAM start address
- Fixed wrong variable access (FOSC CLK calibration for ESP32-C6 #593)
- Fixed trap location in ram (#605)
- Fixed a possible overlap of
.dataand.rwtext(#616) - Avoid SDA/SCL being low while configuring pins for I2C
Breaking
- Simplified user-facing SpiDma and I2s types (#626)
- Significantly simplified user-facing GPIO pin types. (#553)
- No longer re-export the
socmodule and the contents of theinterruptmodule at the package level (#607)
0.9.0 - 2023-05-02
Added
- Add bare-bones PSRAM support for ESP32-S2 (#493)
- Add
DEBUG_ASSISTfunctionality (#484) - Add RSA peripheral support (#467)
- Add PeripheralClockControl argument to
timg,wdt,sha,usb-serial-jtaganduartconstructors (#463) - Added API to raise and reset software interrupts (#426)
- Implement
embedded_hal_nb::serial::*traits forUsbSerialJtag(#498)
Fixed
- Fix
get_wakeup_causecomparison error (#472) - Use 192 as mclk_multiple for 24-bit I2S (#471)
- Fix
CpuControl::start_app_coresignature (#466) - Move
rwtextafter other RAM data sections (#464) - ESP32-C3: Disable
usb_pad_enablewhen setting GPIO18/19 to input/output (#461) - Fix 802.15.4 clock enabling (ESP32-C6) (#458)
Changed
- Update
embedded-hal-asyncandembassy-*dependencies (#488) - Update to
embedded-hal@1.0.0-alpha.10andembedded-hal-nb@1.0.0-alpha.2(#487) - Let users configure the LEDC output pin as open-drain (#474)
- Use bitflags to decode wakeup cause (#473)
- Minor linker script additions (#470)
- Minor documentation improvements (#460)
Removed
- Remove unnecessary generic from
UsbSerialJtagdriver (#492) - Remove
#[doc(inline)]from esp-hal-common re-exports (#490)