stm32f3-discovery
stm32f3-discovery copied to clipboard
Rust Board Support Package for the STM32F3DISCOVERY
stm32f3-discovery
Board support package for the STM32F3DISCOVERY board.
Dependencies
To build embedded programs using this you'll need:
- Rust 1.51 or newer toolchain
-
rust-std
components (pre-compiledcore
crate) for the ARM Cortex-M target.
$ cargo install cargo-generate
$ rustup target add thumbv7em-none-eabihf
For more info on working with embedded Rust, see the Embedded Rust Book and the Discovery Book.
Documentation
https://docs.rs/stm32f3-discovery
For the board specific functionality this crate adds, see:
- The examples directory.
- The leds module documentation
- The button module documentation
- The compass module and lsm303dhlc documentation
VS Code
This repository includes launch configurations for debugging CortexM programs with Visual Studio Code in the .vscode/
directory.
See .vscode/README.md for more information.
To debug one of the examples, open the example source file in the editor and press F5.
License
This template is licensed under either of
- Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Changelog
Unreleased
- Bump HAL to 0.8.0 for getting back
MonoTimer
which was accidentially droped with release 0.6.1 and came back with the latest release.
0.7.2
Implements the Accelerometer trait from the Accelerometer crate.
0.7.1
-
Implements an
Iterator
for theLeds
struct and introduced the Leds::iter_mut() method.Testing shows that direct iteration over the leds using
Leds::iter_mut()
can save up to 800 bytes off the size of the final binary over the oldLeds::into_array()
method.See: https://github.com/rubberduck203/stm32f3-discovery/pull/41
-
Adds the ability to obtain a mutable reference to a led based on it's compass direction on the board.
Contributed by Christian Meusel
0.7.0
Updates stm32f3xx-hal
to 0.7.0.
Since we re-export the stm32f3xx-hal
, any breaking changes in their API are also breaking changes in ours.
For details see the stm32f3xx-hal changelog
Although the minimum Rust version is technically still 1.49, because of changes to embedded_time
, the minimum version of Cargo is now 1.51, so we're updating our MSRV to 1.51.
0.6.1
Update cortex-m
, cortex-m-rt
, and switch-hal
dependencies.
0.6.0
Update stm32f3xx-hal
version.
stm32f3xx-hal
had breaking changes.
Since we re-export the HAL, that means we also had breaking changes.
For details, see the stm32f3xx-hal changelog.
0.5.0
- Updated dependencies
-
InputSwitch for UserButton
now has anError
type ofcore::convert::Infallible
instead of()
0.4.0
- Updated
stm32f3xx-hal
from 0.4.0 to 0.4.1 - Allows setting
TriggerMode
on the user button (breaking change) - Removes deprecated
GpioE
struct andLeds::init
function
0.3.4
- Introduced
Compass
struct and implemented Accelerometer trait. - Add
Leds::new
function and deprecateLeds::init
.
0.3.3
- Add
wait_for_interrupt
function - Upgrade
switch-hal
version
0.3.2
- Re-export
lsm303dhlc
driver