aboutsummaryrefslogtreecommitdiff
path: root/embassy-executor/Cargo.toml
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2025-09-11 13:52:14 +0000
committerGitHub <[email protected]>2025-09-11 13:52:14 +0000
commit42c68622eeba3be05e8f8ccdc4072b7aa57f78d1 (patch)
tree431aa79f8343a7ed8eb948ad52dec5ef13f5869a /embassy-executor/Cargo.toml
parentd860530009c1bf96a20edeff22f10f738bab1503 (diff)
parente1209c5563576d18c4d033b015c9a5dd6145d581 (diff)
Merge pull request #4608 from diondokter/upstream-drs-2
[embassy-executor]: Upstream "Earliest Deadline First" Scheduler (version 2)
Diffstat (limited to 'embassy-executor/Cargo.toml')
-rw-r--r--embassy-executor/Cargo.toml20
1 files changed, 17 insertions, 3 deletions
diff --git a/embassy-executor/Cargo.toml b/embassy-executor/Cargo.toml
index 41636a26f..0ac666f80 100644
--- a/embassy-executor/Cargo.toml
+++ b/embassy-executor/Cargo.toml
@@ -24,6 +24,7 @@ build = [
24 {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-thread"]}, 24 {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-thread"]},
25 {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt"]}, 25 {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt"]},
26 {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt", "executor-thread"]}, 26 {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt", "executor-thread"]},
27 {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt", "executor-thread", "scheduler-deadline", "embassy-time-driver"]},
27 {target = "armv7a-none-eabi", features = ["arch-cortex-ar", "executor-thread"]}, 28 {target = "armv7a-none-eabi", features = ["arch-cortex-ar", "executor-thread"]},
28 {target = "armv7r-none-eabi", features = ["arch-cortex-ar", "executor-thread"]}, 29 {target = "armv7r-none-eabi", features = ["arch-cortex-ar", "executor-thread"]},
29 {target = "armv7r-none-eabihf", features = ["arch-cortex-ar", "executor-thread"]}, 30 {target = "armv7r-none-eabihf", features = ["arch-cortex-ar", "executor-thread"]},
@@ -35,7 +36,7 @@ build = [
35[package.metadata.embassy_docs] 36[package.metadata.embassy_docs]
36src_base = "https://github.com/embassy-rs/embassy/blob/embassy-executor-v$VERSION/embassy-executor/src/" 37src_base = "https://github.com/embassy-rs/embassy/blob/embassy-executor-v$VERSION/embassy-executor/src/"
37src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-executor/src/" 38src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-executor/src/"
38features = ["defmt"] 39features = ["defmt", "scheduler-deadline"]
39flavors = [ 40flavors = [
40 { name = "std", target = "x86_64-unknown-linux-gnu", features = ["arch-std", "executor-thread"] }, 41 { name = "std", target = "x86_64-unknown-linux-gnu", features = ["arch-std", "executor-thread"] },
41 { name = "wasm", target = "wasm32-unknown-unknown", features = ["arch-wasm", "executor-thread"] }, 42 { name = "wasm", target = "wasm32-unknown-unknown", features = ["arch-wasm", "executor-thread"] },
@@ -46,7 +47,7 @@ flavors = [
46[package.metadata.docs.rs] 47[package.metadata.docs.rs]
47default-target = "thumbv7em-none-eabi" 48default-target = "thumbv7em-none-eabi"
48targets = ["thumbv7em-none-eabi"] 49targets = ["thumbv7em-none-eabi"]
49features = ["defmt", "arch-cortex-m", "executor-thread", "executor-interrupt"] 50features = ["defmt", "arch-cortex-m", "executor-thread", "executor-interrupt", "scheduler-deadline", "embassy-time-driver"]
50 51
51[dependencies] 52[dependencies]
52defmt = { version = "1.0.1", optional = true } 53defmt = { version = "1.0.1", optional = true }
@@ -76,6 +77,11 @@ js-sys = { version = "0.3", optional = true }
76# arch-avr dependencies 77# arch-avr dependencies
77avr-device = { version = "0.7.0", optional = true } 78avr-device = { version = "0.7.0", optional = true }
78 79
80
81[dependencies.cordyceps]
82version = "0.3.4"
83features = ["no-cache-pad"]
84
79[dev-dependencies] 85[dev-dependencies]
80critical-section = { version = "1.1", features = ["std"] } 86critical-section = { version = "1.1", features = ["std"] }
81trybuild = "1.0" 87trybuild = "1.0"
@@ -123,5 +129,13 @@ executor-interrupt = []
123## Enable tracing hooks 129## Enable tracing hooks
124trace = ["_any_trace"] 130trace = ["_any_trace"]
125## Enable support for rtos-trace framework 131## Enable support for rtos-trace framework
126rtos-trace = ["_any_trace", "metadata-name", "dep:rtos-trace", "dep:embassy-time-driver"] 132rtos-trace = ["_any_trace", "metadata-name", "dep:rtos-trace", "embassy-time-driver"]
127_any_trace = [] 133_any_trace = []
134
135## Enable "Earliest Deadline First" Scheduler, using soft-realtime "deadlines" to prioritize
136## tasks based on the remaining time before their deadline. Adds some overhead.
137scheduler-deadline = []
138
139## Enable the embassy_time_driver dependency.
140## This can unlock extra APIs, for example for the `sheduler-deadline`
141embassy-time-driver = ["dep:embassy-time-driver"]