diff options
Diffstat (limited to 'embassy-executor/Cargo.toml')
| -rw-r--r-- | embassy-executor/Cargo.toml | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/embassy-executor/Cargo.toml b/embassy-executor/Cargo.toml index 80b5867c9..06e12ae7e 100644 --- a/embassy-executor/Cargo.toml +++ b/embassy-executor/Cargo.toml | |||
| @@ -46,7 +46,7 @@ flavors = [ | |||
| 46 | [package.metadata.docs.rs] | 46 | [package.metadata.docs.rs] |
| 47 | default-target = "thumbv7em-none-eabi" | 47 | default-target = "thumbv7em-none-eabi" |
| 48 | targets = ["thumbv7em-none-eabi"] | 48 | targets = ["thumbv7em-none-eabi"] |
| 49 | features = ["defmt", "arch-cortex-m", "executor-thread", "executor-interrupt"] | 49 | features = ["defmt", "arch-cortex-m", "executor-thread", "executor-interrupt", "drs-scheduler"] |
| 50 | 50 | ||
| 51 | [dependencies] | 51 | [dependencies] |
| 52 | defmt = { version = "1.0.1", optional = true } | 52 | defmt = { version = "1.0.1", optional = true } |
| @@ -76,13 +76,17 @@ js-sys = { version = "0.3", optional = true } | |||
| 76 | # arch-avr dependencies | 76 | # arch-avr dependencies |
| 77 | avr-device = { version = "0.7.0", optional = true } | 77 | avr-device = { version = "0.7.0", optional = true } |
| 78 | 78 | ||
| 79 | [dependencies.cordyceps] | 79 | # Note: this is ONLY a dependency when the target has atomics, this is |
| 80 | # note: targeting v0.3.3, to be released when | 80 | # used for `run_queue_atomics`. We need to be conditional because |
| 81 | # cordyceps *requires* the use of atomics, so we pull it in when | ||
| 82 | # `run_queue_atomics` would be enabled, and NOT when `run_queue_critical_section` | ||
| 83 | # would be enabled. | ||
| 84 | [target.'cfg(target_has_atomic="ptr")'.dependencies.cordyceps] | ||
| 85 | # TODO: targeting v0.3.3, to be released when | ||
| 81 | # https://github.com/hawkw/mycelium/pull/520 is merged | 86 | # https://github.com/hawkw/mycelium/pull/520 is merged |
| 82 | version = "0.3" | 87 | version = "0.3" |
| 83 | git = "https://github.com/hawkw/mycelium" | 88 | git = "https://github.com/hawkw/mycelium" |
| 84 | rev = "9649db0525b9972b95937d83d52d3f51cc486281" | 89 | rev = "9649db0525b9972b95937d83d52d3f51cc486281" |
| 85 | optional = true | ||
| 86 | 90 | ||
| 87 | [dev-dependencies] | 91 | [dev-dependencies] |
| 88 | critical-section = { version = "1.1", features = ["std"] } | 92 | critical-section = { version = "1.1", features = ["std"] } |
| @@ -133,5 +137,7 @@ trace = ["_any_trace"] | |||
| 133 | rtos-trace = ["_any_trace", "metadata-name", "dep:rtos-trace", "dep:embassy-time-driver"] | 137 | rtos-trace = ["_any_trace", "metadata-name", "dep:rtos-trace", "dep:embassy-time-driver"] |
| 134 | _any_trace = [] | 138 | _any_trace = [] |
| 135 | 139 | ||
| 136 | ## Enable "Deadline Rank Scheduler" | 140 | ## Enable "Deadline Rank Sorted" Scheduler, using soft-realtime "deadlines" to prioritize |
| 137 | drs-scheduler = ["dep:cordyceps", "dep:embassy-time-driver"] | 141 | ## tasks based on the remaining time before their deadline. Adds some overhead. Requires |
| 142 | ## hardware atomic support | ||
| 143 | drs-scheduler = ["dep:embassy-time-driver"] | ||
