35f09374b5
initial support for avr
187 lines
5.1 KiB
TOML
187 lines
5.1 KiB
TOML
[package]
|
||
name = "embassy-executor"
|
||
version = "0.5.0"
|
||
edition = "2021"
|
||
license = "MIT OR Apache-2.0"
|
||
description = "async/await executor designed for embedded usage"
|
||
repository = "https://github.com/embassy-rs/embassy"
|
||
documentation = "https://docs.embassy.dev/embassy-executor"
|
||
categories = [
|
||
"embedded",
|
||
"no-std",
|
||
"asynchronous",
|
||
]
|
||
|
||
[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"]
|
||
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"] },
|
||
{ name = "cortex-m", target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-thread", "executor-interrupt"] },
|
||
{ name = "riscv32", target = "riscv32imac-unknown-none-elf", features = ["arch-riscv32", "executor-thread"] },
|
||
]
|
||
|
||
[package.metadata.docs.rs]
|
||
default-target = "thumbv7em-none-eabi"
|
||
targets = ["thumbv7em-none-eabi"]
|
||
features = ["defmt", "arch-cortex-m", "executor-thread", "executor-interrupt"]
|
||
|
||
[dependencies]
|
||
defmt = { version = "0.3", optional = true }
|
||
log = { version = "0.4.14", optional = true }
|
||
rtos-trace = { version = "0.1.2", optional = true }
|
||
|
||
embassy-executor-macros = { version = "0.4.0", path = "../embassy-executor-macros" }
|
||
embassy-time-driver = { version = "0.1.0", path = "../embassy-time-driver", optional = true }
|
||
embassy-time-queue-driver = { version = "0.1.0", path = "../embassy-time-queue-driver", 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 }
|
||
|
||
# arch-wasm dependencies
|
||
wasm-bindgen = { version = "0.2.82", optional = true }
|
||
js-sys = { version = "0.3", optional = true }
|
||
|
||
# arch-avr dependencies
|
||
avr-device = { version = "0.5.3", optional = true }
|
||
|
||
[dev-dependencies]
|
||
critical-section = { version = "1.1", features = ["std"] }
|
||
|
||
|
||
[features]
|
||
|
||
## Enable nightly-only features
|
||
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 the executor-integrated `embassy-time` timer queue.
|
||
integrated-timers = ["dep:embassy-time-driver", "dep:embassy-time-queue-driver"]
|
||
|
||
#! ### 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>
|