Embassy

Embassy is a project to make async/await a first-class option for embedded development.

The embassy crate defines some traits.

  • embassy::io: Traits for byte-stream IO, essentially no_std compatible versions of futures::io.
  • embassy::flash: Trait for an async flash device.
  • More traits for SPI, I2C, UART async HAL coming soon.

The embassy-nrf crate contains implementations for nRF 52 series SoCs.

  • uarte: UARTE driver implementing AsyncBufRead and AsyncWrite.
  • qspi: QSPI driver implementing Flash.

Currently Embassy requires a recent nightly, mainly for generic_associated_types (for trait funcs returning futures) and type_alias_impl_trait (for returning futures implemented with async{} blocks). Stable support is a non-goal.

Why the name?

EMBedded ASYnc.

License

This work is licensed under either of

at your option.

Description
Modern embedded framework, using Rust and async.
Readme 16 MiB
Languages
Rust 98.9%
Shell 0.9%
Python 0.2%