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-stdcomponents (pre-compiledcorecrate) 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
0.7.2
Implements the Accelerometer trait from the Accelerometer crate.
0.7.1
-
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: 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 UserButtonnow has anErrortype ofcore::convert::Infallibleinstead of()
0.4.0
- Updated
stm32f3xx-halfrom 0.4.0 to 0.4.1 - Allows setting
TriggerModeon the user button (breaking change) - Removes deprecated
GpioEstruct andLeds::initfunction
0.3.4
- Introduced
Compassstruct and implemented Accelerometer trait. - Add
Leds::newfunction and deprecateLeds::init.
0.3.3
- Add
wait_for_interruptfunction - Upgrade
switch-halversion
0.3.2
- Re-export
lsm303dhlcdriver