async-stm32f1xx

Crates.ioasync-stm32f1xx
lib.rsasync-stm32f1xx
version0.3.0
sourcesrc
created_at2020-06-05 15:07:47.245782
updated_at2020-12-15 16:35:16.316545
descriptionAbstractions for asynchronous programming on the STM32F1xx family of microcontrollers.
homepage
repositoryhttps://github.com/mwkroening/async-stm32f1xx
max_upload_size
id250366
size58,806
Martin Kröning (mkroening)

documentation

README

Continuous integration Version Documentation License

async-stm32f1xx

Abstractions for asynchronous programming on the STM32F1xx family of microcontrollers.

This project provides futures-rs-based abstractions for asynchronous programming with peripherals from stm32f1xx-hal. It started as an effort to port the examples from async-on-embedded to the Blue Pill (STM32F103C8T6) as part of a bachelor's thesis. The library is independent of any particular executor, but the examples use the async-embedded runtime.

Requirements

Your rustc needs to include rust-lang/rust#69033, so you need at least Rust nightly-2020-03-22 or Rust 1.44.

Your Rust toolchain needs to support the thumbv7m-none-eabi target:

$ rustup target add thumbv7m-none-eabi

Examples

Most of async-on-embedded's examples have been successfully ported to this project.

Requirements

Adjusting to your hardware

The memory region information included in this repository matches the Blue Pill (STM32F103C8T6). You may need to adjust it according to your hardware. For more information see cortex-m-quickstart.

Running

You can run the example via cargo:

$ cargo run --example <NAME> [--release]

License

This project is licensed under either of

at your option.

Contributing

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in async-stm32f1xx by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 24

cargo fmt