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.
- Replaced usage to
ptr::write_volatile
in UART module which is denied on more recent Rust compilers.
- Updated dependencies:
cortex-m-rtic
(dev-depencency) to 1.1.2once_cell
to 1.12.0- Other dependencies: Only revision has changed
- 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
- Bugfix in UART code where RX and TX could not be enabled or disabled independently
- 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
port_mux
function to set pin function select manually
- Clear TX and RX FIFO in SPI transfer function
- Initial blockmode setting was not set in SPI constructor
- Replaced
Hertz
byimpl Into<Hertz>
completely and removed+ Copy
where not necessary
- Updated all links to point to new repository
- TIM Cascade example
CountDownTimer
new function now expects animpl Into<Hertz>
instead ofHertz
- Primary repository now hosted on IRS external git: https://egit.irs.uni-stuttgart.de/rust/va108xx-hal
- Relicensed as Apache-2.0
- Basic API for EDAC functionality
- PWM implementation and example
- API to perform peripheral resets
- Improved Timer API. It is now possible to simply use
new
onCountDownTimer
- DelayUs and DelayMs trait implementations for timer
- SPI implementation for blocking API, supports blockmode as well
- Basic I2C implementation for blocking API
- API which expects values in Hertz now uses
impl Into<Hertz>
as input parameter
- 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
- Minor optimizations and tweaks for GPIO module
- Moved the
FilterClkSel
struct to theclock
module, re-exporting ingpio
- Clearing output state at initialization of Output pins
- New GPIO implementation which uses type-level programming. Implementation heavily based on the ATSAMD GPIO HAL: https://docs.rs/atsamd-hal/0.13.0/atsamd_hal/gpio/v2/index.html
- Changes to API, therefore minor version bump
- UART implementation
- UART example
- Some bugfixes for GPIO implementation
- Rust edition updated to 2021
- 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