@@ -14,7 +14,7 @@ categories = [
[ 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 = [ "nightly" , " defmt" ]
features = [ "defmt" ]
flavors = [
{ name = "std" , target = "x86_64-unknown-linux-gnu" , features = [ "arch-std" , "executor-thread" ] } ,
{ name = "wasm" , target = "wasm32-unknown-unknown" , features = [ "arch-wasm" , "executor-thread" ] } ,
@@ -25,7 +25,7 @@ flavors = [
[ package . metadata . docs . rs ]
default-target = "thumbv7em-none-eabi"
targets = [ "thumbv7em-none-eabi" ]
features = [ "nightly" , " defmt" , "arch-cortex-m" , "executor-thread" , "executor-interrupt" ]
features = [ "defmt" , "arch-cortex-m" , "executor-thread" , "executor-interrupt" ]
[ dependencies ]
defmt = { version = "0.3" , optional = true }
@@ -36,11 +36,12 @@ embassy-executor-macros = { version = "0.4.0", path = "../embassy-executor-macro
embassy-time = { version = "0.2" , path = "../embassy-time" , optional = true }
critical-section = "1.1"
document-features = "0.2.7"
# needed for riscv and avr
# remove when https://github.com/rust-lang/rust/pull/114499 is merged
portable-atomic = { version = "1.5" , optional = true }
# arch-cortex-m dependencies
cortex-m = { version = "0.7.6" , optional = true }
@@ -57,67 +58,128 @@ critical-section = { version = "1.1", features = ["std"] }
[ features ]
# Architec ture
_arch = [ ] # some arch was picked
arch-avr = [ "_arch" , "dep:portable-atomic" , "dep:avr-device" ]
arch-std = [ "_arch" , "critical-section/std" ]
arch-cortex-m = [ "_arch" , "dep:cortex-m" ]
arch-riscv32 = [ "_arch" , "dep:portable-atomic" ]
arch-wasm = [ "_arch" , "dep:wasm-bindgen" , "dep:js-sys" ]
# Enable the thread-mode executor (using WFE/SEV in Cortex-M, WFI in other embedded archs)
executor-thread = [ ]
# Enable the interrupt-mode executor (available in Cortex-M only)
executor-interrupt = [ ]
# Enable nightly-only features
## Enable nightly-only fea tures
nightly = [ "embassy-executor-macros/nightly" ]
# Enables turbo wakers, which requires patching core. Not surfaced in the docs by default due to
# being an complicated advanced and undocumented feature.
# See: https://github.com/embassy-rs/embassy/pull/1263
turbowakers = [ ]
## Use timers from `embassy-time`
integrated-timers = [ "dep:embassy-time" ]
#! ### Architecture
_arch = [ ] # some arch was picked
## std
arch-std = [ "_arch" , "critical-section/std" ]
## Cortex-M
arch-cortex-m = [ "_arch" , "dep:cortex-m" ]
## RISC-V 32
arch-riscv32 = [ "_arch" , "dep:portable-atomic" ]
## WASM
arch-wasm = [ "_arch" , "dep:wasm-bindgen" , "dep:js-sys" ]
## AVR
arch-avr = [ "_arch" , "dep:portable-atomic" , "dep:avr-device" ]
#! ### Executor
## Enable the thread-mode executor (using WFE/SEV in Cortex-M, WFI in other embedded archs)
executor-thread = [ ]
## Enable the interrupt-mode executor (available in Cortex-M only)
executor-interrupt = [ ]
#! ### Task Arena Size
#! Sets the [task arena](#task-arena) size. Necessary if you’ re not using `nightly`.
#!
#! <details>
#! <summary>Preconfigured Task Arena Sizes:</summary>
#! <!-- rustdoc requires the following blank line for the feature list to render correctly! -->
#!
# BEGIN AUTOGENERATED CONFIG FEATURES
# Generated by gen_config.py. DO NOT EDIT.
## 64
task-arena-size-64 = [ ]
## 128
task-arena-size-128 = [ ]
## 192
task-arena-size-192 = [ ]
## 256
task-arena-size-256 = [ ]
## 320
task-arena-size-320 = [ ]
## 384
task-arena-size-384 = [ ]
## 512
task-arena-size-512 = [ ]
## 640
task-arena-size-640 = [ ]
## 768
task-arena-size-768 = [ ]
## 1024
task-arena-size-1024 = [ ]
## 1280
task-arena-size-1280 = [ ]
## 1536
task-arena-size-1536 = [ ]
## 2048
task-arena-size-2048 = [ ]
## 2560
task-arena-size-2560 = [ ]
## 3072
task-arena-size-3072 = [ ]
## 4096 (default)
task-arena-size-4096 = [ ] # Default
## 5120
task-arena-size-5120 = [ ]
## 6144
task-arena-size-6144 = [ ]
## 8192
task-arena-size-8192 = [ ]
## 10240
task-arena-size-10240 = [ ]
## 12288
task-arena-size-12288 = [ ]
## 16384
task-arena-size-16384 = [ ]
## 20480
task-arena-size-20480 = [ ]
## 24576
task-arena-size-24576 = [ ]
## 32768
task-arena-size-32768 = [ ]
## 40960
task-arena-size-40960 = [ ]
## 49152
task-arena-size-49152 = [ ]
## 65536
task-arena-size-65536 = [ ]
## 81920
task-arena-size-81920 = [ ]
## 98304
task-arena-size-98304 = [ ]
## 131072
task-arena-size-131072 = [ ]
## 163840
task-arena-size-163840 = [ ]
## 196608
task-arena-size-196608 = [ ]
## 262144
task-arena-size-262144 = [ ]
## 327680
task-arena-size-327680 = [ ]
## 393216
task-arena-size-393216 = [ ]
## 524288
task-arena-size-524288 = [ ]
## 655360
task-arena-size-655360 = [ ]
## 786432
task-arena-size-786432 = [ ]
## 1048576
task-arena-size-1048576 = [ ]
# END AUTOGENERATED CONFIG FEATURES
#! </details>