* Add input support for IO driver, implement more `embedded-hal` output traits * Update CHANGELOG
8.1 KiB
8.1 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 the
esp32c6-lp-halpackage (#714) - Add GPIO (output) and delay functionality to
esp32c6-lp-hal(#715) - Implement RTCIO pullup, pulldown and hold control for Xtensa MCUs (#684)
- Add GPIO input support and implement additional
embedded-haloutput traits for the C6's LP core [#720]
Changed
Fixed
- Fix
psramavailability lookup inesp-hal-commonbuild script (#718)
Removed
0.11.0 - 2023-08-10
Added
- Add initial LP-IO support for ESP32-C6 (#639)
- Implement sleep with some wakeup methods for
esp32(#574) - Add a new RMT driver (#653, #667, #695)
- Implemented calibrated ADC API for ESP32-S3 (#641)
- Add MCPWM DeadTime configuration (#406)
- Implement sleep with some wakeup methods for
esp32-s3(#660, #689, #696) - Add feature enabling directly hooking the interrupt vector table (#621)
- Add
ClockControl::maxhelper for all chips (#701) - Added module-level documentation for all peripherals (#680)
- Implement sleep with some wakeup methods for
esp32-s3(#660) - Add
FlashSafeDmawrapper for eh traits which ensure correct DMA transfer from source data in flash (ROM) (#678)
Changed
- Update
embedded-hal-*alpha packages to their latest versions (#640) - Implement the
CloneandCopytraits for theRngdriver (#650) - Use all remaining memory as core-0's stack (#716)
Fixed
- Fixed Async Uart
readwhenset_at_cmdis not used (#652) - USB device support is working again (#656)
- Add missing interrupt status read for esp32s3, which fixes USB-SERIAL-JTAG interrupts (#664)
- GPIO interrupt status bits are now properly cleared (#670)
- Increase frequency resolution in
set_periodic(#686) - Fixed ESP32-S2, ESP32-S3, ESP32-C2, ESP32-C3 radio clock gating (#679, #681)
- Partially fix ESP32 radio clocks (#709)
- Fixed "ESP32/ESP32-S2 RMT transmission with with data.len() > RMT_CHANNEL_RAM_SIZE results in TransmissionError" #707 (#710)
Removed
- Remove the
allow-opt-level-zfeature fromesp32c3-hal(#654) - Remove the old
pulse_controldriver (#694)
Breaking
DmaTransfer::waitandI2sReadDmaTransfer::wait_receivenow returnResult(#665)gpio::Pinis now object-safe (#687)
0.10.0 - 2023-06-04
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)
- 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) - Add octal PSRAM support for ESP32-S3 (#610)
- Add MD5 functions from ESP ROM (#618)
- Add embassy async
readsupport foruart(#620) - Add bare-bones support to run code on ULP-RISCV / LP core (#631)
- Add ADC calibration implementation for a riscv chips (#555)
- Add
asyncimplementation forUSB Serial/JTAG(#632)
Changed
- Simplify the
Delaydriver, deriveCloneandCopy(#568) - 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)
- Update
esp-hal-procmacrospackage dependencies and features (#628)
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)
- Fix Async GPIO not disabling interupts on chips with multiple banks (#572)
- 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 (#601)
- Fixed wrong variable access (FOSC CLK calibration for ESP32-C6 #593)
- Fixed trap location in ram (#605)
- Fix rom::crc docs (#611)
- Fixed a possible overlap of
.dataand.rwtext(#616) - Avoid SDA/SCL being low while configuring pins for I2C (#619)
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)
- ESP32-S3: Disable usb_pad_enable when setting GPIO19/20 to input/output (#645)
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)