Board support package for the STM32F3DISCOVERY board.
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.
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
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.
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.
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.
- 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.
Implements the Accelerometer trait from the Accelerometer crate.
-
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: #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
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.
Update cortex-m
, cortex-m-rt
, and switch-hal
dependencies.
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.
- Updated dependencies
InputSwitch for UserButton
now has anError
type ofcore::convert::Infallible
instead of()
- 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
- Introduced
Compass
struct and implemented Accelerometer trait. - Add
Leds::new
function and deprecateLeds::init
.
- Add
wait_for_interrupt
function - Upgrade
switch-hal
version
- Re-export
lsm303dhlc
driver