Skip to content

Latest commit

 

History

History
148 lines (109 loc) · 6.72 KB

CHANGELOG.md

File metadata and controls

148 lines (109 loc) · 6.72 KB

Changelog

Added

  • Integration with the mcan crate.
  • Implementation of blocking::i2c::Transactional trait from embedded-hal for TWI device.
  • Support for critical-section feature, falling down to PAC optional dependency.

Changed

  • Remove rust-toolchain.toml and control MSRV from .github/workflow/ files instead.
  • Update cortex-m-rt version in examples to 0.7.3.
  • Switched from AFE0_AD6 to AFE0_AD8 for the atsamv71_xult board ADC example code.
  • The rt separated to not act as part of chip selection feature any more.

Removed

  • Huge generated source code for PACs removed, new location for them atsamx7x-pac (user side generated)

Fixed

  • Examples now build and link again.
  • Examples now build again again.
  • [#62] Remove ambiguous reexports from src/serial/mod.rs.
  • TWIHS: Fix issue with clock frequency calculation.
  • Fix CI: source of PACs matrix + clippy satisfaction.
  • Fixes doctest use of take() which now require critical-section.

v0.4.2 2022-11-06

Added

  • CI: -D warnings flags to cargo workflows to catch documentation errors.
  • cargo: enable features for docs.rs builds

v0.4.1 2022-10-26

Changed

  • The special-on-reset pins PB4/5/6/7/12 are now completely unavailable, if the reconfigurable-system-pins feature is not enabled.
  • Usart<Usart1> and Twi<TwiHS1> are now only available if the reconfigurable-system-pins feature is enabled, as they cannot obtain a valid pin configuration without it.

Removed

Fixed

  • Usart::enter_mode: initial configuration of port as USART is now permitted.
  • Enabled features for the hal docs build to fix issue publishing to docs.rs

v0.4.0 2022-10-19

Added

  • GitHub CI.
  • Templates for PACs restored, so we create both correct Cargo.toml and README.md required to publish to crates.io.

Changed

  • Sealed all HAL-internal traits to disallow potentially unsound downstream trait implementations.
  • Regenerated PACs with svd2rust 0.25.1 using up-to-date (2022-05-18) SVDs. These SVDs are now vendored in this repository, instead of using a submodule.
  • Cargo Workspace sorted, so local builds and crate publications work.
  • Updates to update-pacs.sh script, moved to tools.

Removed

  • Unused auxiliary script hal/build.sh.
  • Deprecated .ci/ configuration files and Gitlab CI.

Fixed

  • HAL build when targeting sams70n19b.

v0.3.0 2022-08-26

Added

  • tc module: abstrations of Timer Counter channels:
  • boards/atsamv71_xult/examples:
    • blinky_tc: blinks a LED by use of a tc::Monotonic; and
    • blinky_tc_irq: blinks a LED by use of a tc::Timer.
  • serial::Uart::UartError::PrescalerUnderflow error.
  • serial::Uart::UartError::InvalidPck error.
  • pwm module: allows frequencies and duty-rates to be independently set for each pwm::Channel, with help from ehal::PwmPin.
  • hal/rust-toolchain.toml that pins rustc (and relevant components/targets) to MSRV 1.63.0.
  • Crate feature: reconfigurable-system-pins; see below.
  • CI job that enforces CHANGELOG.md additions, unless the MR is labelled skip-changelog.

Removed

  • serial::Uart::UartError::BaudRateNotInRange error.
  • serial::Uart::reconfigure, which did not exhaustively error check input parameters.

Fixed

  • Pck::configure now records its output frequency correctly.
  • Uart::{new,reconfigure}: now rounds the calculated prescaler to the closest value instead of rounding down.
  • Uart::new: now returns Err(UartError::InvalidPck) if the baud-rate generating Pck is not at least three times slow than the peripheral clock (HostClock).
  • Clippy warnings in boards/*/examples/*.
  • The special-on-reset pins PB4/5/6/7/12 are now switched from their alternate modes (ERASE, TCK/SWCLK, TMS/SWDIO, TDO/TRACESWO, TDI, respectively) to a regular PIO pin upon a Pin::into_{mode,peripheral,input,output}, if the reconfigurable-system-pins feature is enabled.

Changed

  • Pck::configure now takes a u16 prescaler instead of a u8, and returns Err(PckError) if the prescaler cannot be applied.
  • Renamed serial::ExtU32 to serial::ExtBpsU32, in order to not clash with fugit::ExtU32.

v0.2.1 2022-08-08

Fixed

  • boards/: Incorrect HAL crate version.

v0.2.0 2022-08-08

Added

  • Nonexhaustive APIs for the following peripherals:
    • PMC;
    • EFC (to configure flash wait states only);
    • GPIO;
    • Serial peripherals: SPI, TWI (I²C), UART and USART (SPI/UART only);
    • AFEC (ADC);
    • RTT (for RTIC scheduling, ehal::blocking::delay::Delay* impl); and
    • USB support (via usb-device).
  • SAM V71/E70 Xplained Ultra/Pro board examples for most above peripherals.
  • GitLab CI configuration.

v0.1.0 2022-03-16

  • cmsis-svd submodule as source of SVD files instead of collection in LFS (#2)
  • svd2rust v0.21.0 used for PAC generation (#2)
  • watchdog disabling facility (#4)

v0.0.2 2020-06-03

  • same70*: added foundations for ATSAME70 series support
  • Commitment to 0BSD license following practice from other PAC/HAL crates

v0.0.1 2019-07-31

  • pac: Generated for ATSAMS70 family
  • hal: Just very simple stuff added
  • automation script in Python