Board support package for the STM32F3DISCOVERY board.
To build embedded programs using this you'll need:
- Rust 1.51 or newer toolchain
rust-stdcomponents (pre-compiledcorecrate) for the ARM Cortex-M target.
$ cargo install cargo-generate
$ rustup target add thumbv7em-none-eabihfFor 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
MonoTimerwhich 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
Iteratorfor theLedsstruct 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 UserButtonnow has anErrortype ofcore::convert::Infallibleinstead of()
- Updated
stm32f3xx-halfrom 0.4.0 to 0.4.1 - Allows setting
TriggerModeon the user button (breaking change) - Removes deprecated
GpioEstruct andLeds::initfunction
- Introduced
Compassstruct and implemented Accelerometer trait. - Add
Leds::newfunction and deprecateLeds::init.
- Add
wait_for_interruptfunction - Upgrade
switch-halversion
- Re-export
lsm303dhlcdriver