v0.4.6 2025-03-31
- All the fixes for new PACs populated.
- Update
cortex-mversion in examples to0.7.7. - MSRV bump to 1.74.0.
- Remove support for sample variants (w/o letter 'B' in chip model) as SVDs for them are no longer supported by Microchip.
- Integration with the
mcancrate. - Implementation of blocking::i2c::Transactional trait from embedded-hal for TWI device.
- Support for
critical-sectionfeature, falling down to PAC optional dependency. - Add
rust-analyzer.jsonused by Neovim pluginrustaceanvimto.gitignore.
- Remove
rust-toolchain.tomland control MSRV from.github/workflow/files instead. - Update
cortex-m-rtversion in examples to0.7.3. - Switched from AFE0_AD6 to AFE0_AD8 for the atsamv71_xult board ADC example code.
- The
rtseparated to not act as part of chip selection feature any more. - Bump PACs to v0.33.5
- Huge generated source code for PACs removed, new location for them
atsamx7x-pac(user side generated)
- 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 requirecritical-section.
v0.4.2 2022-11-06
- CI:
-D warningsflags to cargo workflows to catch documentation errors. - cargo: enable features for docs.rs builds
v0.4.1 2022-10-26
- The special-on-reset pins
PB4/5/6/7/12are now completely unavailable, if thereconfigurable-system-pinsfeature is not enabled. Usart<Usart1>andTwi<TwiHS1>are now only available if thereconfigurable-system-pinsfeature is enabled, as they cannot obtain a valid pin configuration without it.
Usart::enter_mode: initial configuration of port as USART is now permitted.- Enabled features for the
haldocs build to fix issue publishing todocs.rs
v0.4.0 2022-10-19
- GitHub CI.
- Templates for PACs restored, so we create both correct
Cargo.tomlandREADME.mdrequired to publish tocrates.io.
- Sealed all HAL-internal traits to disallow potentially unsound downstream trait implementations.
- Regenerated PACs with
svd2rust 0.25.1using 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.shscript, moved to tools.
- Unused auxiliary script
hal/build.sh. - Deprecated
.ci/configuration files and Gitlab CI.
- HAL build when targeting
sams70n19b.
v0.3.0 2022-08-26
tcmodule: abstrations of Timer Counter channels:tc::Generatechannels:Monotonic,ehal::timer::{Countdown,Cancel}, andehal::blocking::delay::Delay{Ms,Us}implementations.tc::Capturechannels: measurement of frequencies, read fromTIOAxtc::ChannelInputPin<_, _ , A>s, with subsampling support.
boards/atsamv71_xult/examples:blinky_tc: blinks a LED by use of atc::Monotonic; andblinky_tc_irq: blinks a LED by use of atc::Timer.
serial::Uart::UartError::PrescalerUnderflowerror.serial::Uart::UartError::InvalidPckerror.pwmmodule: allows frequencies and duty-rates to be independently set for eachpwm::Channel, with help fromehal::PwmPin.hal/rust-toolchain.tomlthat pinsrustc(and relevant components/targets) to MSRV 1.63.0.- Crate feature:
reconfigurable-system-pins; see below. - CI job that enforces
CHANGELOG.mdadditions, unless the MR is labelledskip-changelog.
serial::Uart::UartError::BaudRateNotInRangeerror.serial::Uart::reconfigure, which did not exhaustively error check input parameters.
Pck::configurenow records its output frequency correctly.Uart::{new,reconfigure}: now rounds the calculated prescaler to the closest value instead of rounding down.Uart::new: now returnsErr(UartError::InvalidPck)if the baud-rate generatingPckis 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/12are now switched from their alternate modes (ERASE, TCK/SWCLK, TMS/SWDIO, TDO/TRACESWO, TDI, respectively) to a regular PIO pin upon aPin::into_{mode,peripheral,input,output}, if thereconfigurable-system-pinsfeature is enabled.
Pck::configurenow takes au16prescaler instead of au8, and returnsErr(PckError)if the prescaler cannot be applied.- Renamed
serial::ExtU32toserial::ExtBpsU32, in order to not clash withfugit::ExtU32.
v0.2.1 2022-08-08
boards/: Incorrect HAL crate version.
v0.2.0 2022-08-08
- 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