va108xx-rs/va108xx-hal/CHANGELOG.md
Robin Mueller acb8b67ae7
All checks were successful
Rust/va108xx-rs/pipeline/pr-main This commit looks good
update package
- Add embassy example
- improve timer API
- restructure examples
- restructure and improve SPI
- Add REB1 M95M01 NVM module
2024-09-20 10:53:42 +02:00

4.4 KiB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[unreleased]

Changed

  • Improves CascardSource handling and general API when chosing cascade sources.
  • Replaced utility::unmask_irq by enable_interrupt and disable_interrupt API.
  • Improve and fix SPI abstractions. Add new low level interface. The primary SPI constructor now only expects a configuration structure and the transfer configuration needs to be applied in a separate step.

Fixes

  • Fixes for SPI peripheral: Flush implementation was incorrect and should now flush properly.

[v0.7.0] 2024-07-04

  • Replace uarta and uartb Uart constructors by new constructor
  • Replace SPI spia, spib and spic constructors by new constructor
  • Replace I2C i2ca, i2cb constructors by new constructor. Update constructor to fail on invalid fast I2C speed system clock values
  • Renamed gpio::pins to gpio::pin and gpio::dynpins to gpio::dynpin
  • Simplify UART clock divider calculations and remove libm dependency consequently

[v0.6.0] 2024-06-16

  • Updated embedded-hal to v1
  • Added optional defmt v0.3 feature and support.

[v0.5.2] 2024-06-16

Fixed

  • Replaced usage to ptr::write_volatile in UART module which is denied on more recent Rust compilers.

[v0.5.1]

Changes

  • Updated dependencies:
    • cortex-m-rtic (dev-depencency) to 1.1.2
    • once_cell to 1.12.0
    • Other dependencies: Only revision has changed

[v0.5.0]

Added

  • Reactored IRQ handling, so that unmask operations can be moved to HAL
  • Added UART IRQ handler. Right now, can only perform reception, TX still needs to be done in a blocking manner
  • Added RTIC template and RTIC UART IRQ application

Fixed

  • Bugfix in UART code where RX and TX could not be enabled or disabled independently

[v0.4.3]

  • Various smaller fixes for READMEs, update of links in documentation
  • Simplified CI for github, do not use cross
  • New blinky-pac example
  • Use HAL delay in blinky example

[v0.4.2]

Added

  • port_mux function to set pin function select manually

Changed

  • Clear TX and RX FIFO in SPI transfer function

[v0.4.1]

Fixed

  • Initial blockmode setting was not set in SPI constructor

[v0.4.0]

Changed

  • Replaced Hertz by impl Into<Hertz> completely and removed + Copy where not necessary

[v0.3.1]

  • Updated all links to point to new repository

[v0.3.0]

Added

  • TIM Cascade example

Changed

[0.2.3]

Added

  • Basic API for EDAC functionality
  • PWM implementation and example
  • API to perform peripheral resets

Changed

  • Improved Timer API. It is now possible to simply use new on CountDownTimer

[0.2.2]

Added

  • DelayUs and DelayMs trait implementations for timer
  • SPI implementation for blocking API, supports blockmode as well
  • Basic I2C implementation for blocking API

Changed

  • API which expects values in Hertz now uses impl Into<Hertz> as input parameter

[0.2.1]

Added

  • Adds the IRQ interface to configure interrupts on output and input pins
  • Utility function to set up millisecond timer with TIM0
  • Function to set clock divisor registers in clock module

Changed

  • Minor optimizations and tweaks for GPIO module
  • Moved the FilterClkSel struct to the clock module, re-exporting in gpio
  • Clearing output state at initialization of Output pins

[0.2.0]

Changed

Added

  • UART implementation
  • UART example
  • Some bugfixes for GPIO implementation
  • Rust edition updated to 2021

[0.1.0]

Added

  • First version of the HAL which adds the GPIO implementation and timer implementation.
  • Also adds some examples and helper files to set up new binary crates
  • RTT example application
  • Added basic test binary in form of an example
  • README with basic instructions how to set up own binary crate