mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-11-30 07:24:33 +01:00
20 lines
709 B
Markdown
20 lines
709 B
Markdown
# Message passing & capacity
|
|
|
|
Software tasks support message passing, this means that software tasks can be spawned
|
|
with an argument: `foo::spawn(1)` which will run the task `foo` with the argument `1`.
|
|
|
|
Capacity sets the size of the spawn queue for the task, if not specified capacity defaults to 1.
|
|
|
|
In the example below, the capacity of task `foo` is `3`, allowing three simultaneous
|
|
pending spawns of `foo`. Exceeding this capacity is an `Error`.
|
|
|
|
The number of arguments to a task is not limited:
|
|
|
|
``` rust
|
|
{{#include ../../../../examples/message_passing.rs}}
|
|
```
|
|
|
|
``` console
|
|
$ cargo run --target thumbv7m-none-eabi --example message_passing
|
|
{{#include ../../../../ci/expected/message_passing.run}}
|
|
```
|