[package]
edition = "2024"
name = "embassy-executor"
version = "0.10.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "async/await executor designed for embedded usage"
documentation = "https://docs.embassy.dev/embassy-executor"
readme = "README.md"
categories = [
"embedded",
"no-std",
"asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/embassy-rs/embassy"
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = []
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = ["log"]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = ["defmt"]
[[package.metadata.embassy.build]]
target = "thumbv6m-none-eabi"
features = ["defmt"]
[[package.metadata.embassy.build]]
target = "thumbv6m-none-eabi"
features = [
"platform-cortex-m",
"defmt",
"executor-interrupt",
"executor-thread",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = ["platform-cortex-m"]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"rtos-trace",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-thread",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-interrupt",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-interrupt",
"executor-thread",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-interrupt",
"executor-thread",
"embassy-time-driver",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-interrupt",
"executor-thread",
"embassy-time-driver",
"scheduler-priority",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-interrupt",
"executor-thread",
"embassy-time-driver",
"scheduler-priority",
"scheduler-deadline",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-interrupt",
"executor-thread",
"embassy-time-driver",
"scheduler-deadline",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-interrupt",
"executor-thread",
"scheduler-priority",
"scheduler-deadline",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-interrupt",
"executor-thread",
"scheduler-deadline",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-interrupt",
"executor-thread",
"embassy-time-driver",
"scheduler-priority",
"scheduler-deadline",
"trace",
]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = ["platform-spin"]
[[package.metadata.embassy.build]]
target = "thumbv7em-none-eabi"
features = [
"platform-spin",
"scheduler-deadline",
]
[[package.metadata.embassy.build]]
target = "armv7a-none-eabi"
features = [
"platform-cortex-ar",
"executor-thread",
]
[[package.metadata.embassy.build]]
target = "armv7r-none-eabi"
features = [
"platform-cortex-ar",
"executor-thread",
]
[[package.metadata.embassy.build]]
target = "armv7r-none-eabihf"
features = [
"platform-cortex-ar",
"executor-thread",
]
[[package.metadata.embassy.build]]
target = "riscv32imac-unknown-none-elf"
features = ["platform-riscv32"]
[[package.metadata.embassy.build]]
target = "riscv32imac-unknown-none-elf"
features = [
"platform-riscv32",
"executor-thread",
]
[[package.metadata.embassy.build]]
target = "riscv32imac-unknown-none-elf"
features = [
"platform-riscv32",
"executor-thread",
"trace",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "thumbv7em-none-eabi"
features = ["nightly"]
[[package.metadata.embassy.build]]
group = "nightly"
target = "thumbv7em-none-eabi"
features = [
"nightly",
"log",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "thumbv7em-none-eabi"
features = [
"nightly",
"defmt",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "thumbv6m-none-eabi"
features = [
"nightly",
"defmt",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "thumbv6m-none-eabi"
features = [
"nightly",
"defmt",
"platform-cortex-m",
"executor-thread",
"executor-interrupt",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "thumbv7em-none-eabi"
features = [
"nightly",
"platform-cortex-m",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "thumbv7em-none-eabi"
features = [
"nightly",
"platform-cortex-m",
"executor-thread",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "thumbv7em-none-eabi"
features = [
"nightly",
"platform-cortex-m",
"executor-interrupt",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "thumbv7em-none-eabi"
features = [
"nightly",
"platform-cortex-m",
"executor-thread",
"executor-interrupt",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "riscv32imac-unknown-none-elf"
features = [
"nightly",
"platform-riscv32",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "riscv32imac-unknown-none-elf"
features = [
"nightly",
"platform-riscv32",
"executor-thread",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "armv7a-none-eabi"
features = [
"nightly",
"platform-cortex-ar",
"executor-thread",
]
[[package.metadata.embassy.build]]
group = "nightly"
target = "avr-none"
features = [
"nightly",
"platform-avr",
"avr-device/atmega328p",
]
build-std = [
"core",
"alloc",
]
[package.metadata.embassy.build.env]
RUSTFLAGS = "-Ctarget-cpu=atmega328p"
[[package.metadata.embassy.build]]
group = "xtensa"
build-std = [
"core",
"alloc",
]
target = "xtensa-esp32-none-elf"
features = []
[[package.metadata.embassy.build]]
group = "xtensa"
build-std = [
"core",
"alloc",
]
target = "xtensa-esp32-none-elf"
features = ["log"]
[[package.metadata.embassy.build]]
group = "xtensa"
build-std = [
"core",
"alloc",
]
target = "xtensa-esp32-none-elf"
features = ["defmt"]
[[package.metadata.embassy.build]]
group = "xtensa"
build-std = [
"core",
"alloc",
]
target = "xtensa-esp32s2-none-elf"
features = ["defmt"]
[[package.metadata.embassy.build]]
group = "xtensa"
build-std = [
"core",
"alloc",
]
target = "xtensa-esp32-none-elf"
features = [
"defmt",
"platform-spin",
"executor-thread",
]
[[package.metadata.embassy.build]]
group = "xtensa"
build-std = [
"core",
"alloc",
]
target = "xtensa-esp32s2-none-elf"
features = [
"defmt",
"platform-spin",
"executor-thread",
]
[[package.metadata.embassy.build]]
group = "xtensa"
build-std = [
"core",
"alloc",
]
target = "xtensa-esp32s3-none-elf"
features = [
"defmt",
"platform-spin",
"executor-thread",
]
[[package.metadata.embassy.build]]
group = "xtensa"
build-std = [
"core",
"alloc",
]
target = "xtensa-esp32-none-elf"
features = ["platform-spin"]
[[package.metadata.embassy.build]]
group = "xtensa"
build-std = [
"core",
"alloc",
]
target = "xtensa-esp32-none-elf"
features = [
"platform-spin",
"rtos-trace",
]
[[package.metadata.embassy.build]]
group = "xtensa"
build-std = [
"core",
"alloc",
]
target = "xtensa-esp32-none-elf"
features = [
"platform-spin",
"executor-thread",
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-executor-v$VERSION/embassy-executor/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-executor/src/"
features = [
"defmt",
"scheduler-deadline",
"scheduler-priority",
]
[[package.metadata.embassy_docs.flavors]]
name = "std"
target = "x86_64-unknown-linux-gnu"
features = [
"platform-std",
"executor-thread",
]
[[package.metadata.embassy_docs.flavors]]
name = "wasm"
target = "wasm32-unknown-unknown"
features = [
"platform-wasm",
"executor-thread",
]
[[package.metadata.embassy_docs.flavors]]
name = "cortex-m"
target = "thumbv7em-none-eabi"
features = [
"platform-cortex-m",
"executor-thread",
"executor-interrupt",
]
[[package.metadata.embassy_docs.flavors]]
name = "riscv32"
target = "riscv32imac-unknown-none-elf"
features = [
"platform-riscv32",
"executor-thread",
]
[package.metadata.docs.rs]
default-target = "thumbv7em-none-eabi"
targets = ["thumbv7em-none-eabi"]
features = [
"defmt",
"platform-cortex-m",
"executor-thread",
"executor-interrupt",
"scheduler-deadline",
"scheduler-priority",
"embassy-time-driver",
]
[features]
_any_trace = []
_platform = []
defmt = ["dep:defmt"]
embassy-time-driver = ["dep:embassy-time-driver"]
executor-interrupt = []
executor-thread = []
log = ["dep:log"]
metadata-name = ["embassy-executor-macros/metadata-name"]
nightly = ["embassy-executor-macros/nightly"]
platform-avr = [
"_platform",
"dep:portable-atomic",
"dep:avr-device",
]
platform-cortex-ar = [
"_platform",
"dep:aarch32-cpu",
"dep:arm-targets",
]
platform-cortex-m = [
"_platform",
"dep:cortex-m",
]
platform-riscv32 = ["_platform"]
platform-spin = ["_platform"]
platform-std = ["_platform"]
platform-wasm = [
"_platform",
"dep:wasm-bindgen",
"dep:js-sys",
]
rtos-trace = [
"_any_trace",
"metadata-name",
"dep:rtos-trace",
"embassy-time-driver",
]
scheduler-deadline = []
scheduler-priority = []
trace = ["_any_trace"]
turbowakers = []
[lib]
name = "embassy_executor"
path = "src/lib.rs"
[[test]]
name = "test"
path = "tests/test.rs"
[[test]]
name = "ui"
path = "tests/ui.rs"
[dependencies.aarch32-cpu]
version = "0.1"
optional = true
[dependencies.avr-device]
version = "0.8.1"
optional = true
[dependencies.cordyceps]
version = "0.3.4"
features = ["no-cache-pad"]
[dependencies.cortex-m]
version = "0.7.6"
optional = true
[dependencies.critical-section]
version = "1.1"
[dependencies.defmt]
version = "1.0.1"
optional = true
[dependencies.document-features]
version = "0.2.7"
[dependencies.embassy-executor-macros]
version = "0.8.0"
[dependencies.embassy-executor-timer-queue]
version = "0.1"
[dependencies.embassy-time-driver]
version = "0.2.1"
optional = true
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.log]
version = "0.4.14"
optional = true
[dependencies.portable-atomic]
version = "1.5"
optional = true
[dependencies.rtos-trace]
version = "0.2"
optional = true
[dependencies.wasm-bindgen]
version = "0.2.82"
optional = true
[dev-dependencies.critical-section]
version = "1.1"
features = ["std"]
[dev-dependencies.rustversion]
version = "1.0.21"
[dev-dependencies.trybuild]
version = "1.0"
[build-dependencies.arm-targets]
version = "0.4"
optional = true