Modern embedded framework, using Rust and async.
Go to file
2020-09-24 22:46:00 +02:00
.cargo First commit 2020-09-22 18:03:43 +02:00
.vscode First commit 2020-09-22 18:03:43 +02:00
embassy First commit 2020-09-22 18:03:43 +02:00
embassy-nrf rtc: Add alarm callback. 2020-09-24 22:41:52 +02:00
examples Add rtc_async example 2020-09-24 22:46:00 +02:00
.gitignore First commit 2020-09-22 18:03:43 +02:00
Cargo.toml Update to static-executor "multi" 2020-09-24 22:04:45 +02:00
LICENSE-APACHE First commit 2020-09-22 18:03:43 +02:00
LICENSE-MIT First commit 2020-09-22 18:03:43 +02:00
README.md First commit 2020-09-22 18:03:43 +02:00

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.