- 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.
- Remove
rust-toolchain.toml
and control MSRV from.github/workflow/
files instead. - Update
cortex-m-rt
version in examples to0.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.
- 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 warnings
flags 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/12
are now completely unavailable, if thereconfigurable-system-pins
feature is not enabled. Usart<Usart1>
andTwi<TwiHS1>
are now only available if thereconfigurable-system-pins
feature 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
hal
docs 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.toml
andREADME.md
required to publish tocrates.io
.
- 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.
- Unused auxiliary script
hal/build.sh
. - Deprecated
.ci/
configuration files and Gitlab CI.
- HAL build when targeting
sams70n19b
.
v0.3.0 2022-08-26
tc
module: abstrations of Timer Counter channels:tc::Generate
channels:Monotonic
,ehal::timer::{Countdown,Cancel}
, andehal::blocking::delay::Delay{Ms,Us}
implementations.tc::Capture
channels: measurement of frequencies, read fromTIOAx
tc::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::PrescalerUnderflow
error.serial::Uart::UartError::InvalidPck
error.pwm
module: allows frequencies and duty-rates to be independently set for eachpwm::Channel
, with help fromehal::PwmPin
.hal/rust-toolchain.toml
that pinsrustc
(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 labelledskip-changelog
.
serial::Uart::UartError::BaudRateNotInRange
error.serial::Uart::reconfigure
, which did not exhaustively error check input parameters.
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 returnsErr(UartError::InvalidPck)
if the baud-rate generatingPck
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 aPin::into_{mode,peripheral,input,output}
, if thereconfigurable-system-pins
feature is enabled.
Pck::configure
now takes au16
prescaler instead of au8
, and returnsErr(PckError)
if the prescaler cannot be applied.- Renamed
serial::ExtU32
toserial::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