diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-10-05 08:40:19 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-05 08:40:19 +0000 |
| commit | dbf9a7f2983fb00aee130305fec0019c12eaef76 (patch) | |
| tree | 0422a3712af398436cebfa9f8e6ac422de65dde1 /book/en/src/by-example/app.md | |
| parent | 04d415c3c6cce7f763decdf02104d827f2e4de7c (diff) | |
| parent | 95503b6bdff3f392450d1972b0c499b79a9c2092 (diff) | |
Merge #368
368: Mod over const r=korken89 a=AfoHT
Related [RFC](https://github.com/rtic-rs/rfcs/pull/34)
Dependent on [rtic-syntax-PR30](https://github.com/rtic-rs/rtic-syntax/pull/30)
~~Currently using my own dev-branch~~
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
Diffstat (limited to 'book/en/src/by-example/app.md')
| -rw-r--r-- | book/en/src/by-example/app.md | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/book/en/src/by-example/app.md b/book/en/src/by-example/app.md index 23bff68..ab6f452 100644 --- a/book/en/src/by-example/app.md +++ b/book/en/src/by-example/app.md @@ -7,7 +7,7 @@ This is the smallest possible RTIC application: ``` All RTIC applications use the [`app`] attribute (`#[app(..)]`). This attribute -must be applied to a `const` item that contains items. The `app` attribute has +must be applied to a `mod`-item. The `app` attribute has a mandatory `device` argument that takes a *path* as a value. This path must point to a *peripheral access crate* (PAC) generated using [`svd2rust`] **v0.14.x** or newer. The `app` attribute will expand into a suitable entry @@ -17,16 +17,9 @@ point so it's not required to use the [`cortex_m_rt::entry`] attribute. [`svd2rust`]: https://crates.io/crates/svd2rust [`cortex_m_rt::entry`]: ../../../api/cortex_m_rt_macros/attr.entry.html -> **ASIDE**: Some of you may be wondering why we are using a `const` item as a -> module and not a proper `mod` item. The reason is that using attributes on -> modules requires a feature gate, which requires a nightly toolchain. To make -> RTIC work on stable we use the `const` item instead. When more parts of macros -> 1.2 are stabilized we'll move from a `const` item to a `mod` item and -> eventually to a crate level attribute (`#![app]`). - ## `init` -Within the pseudo-module the `app` attribute expects to find an initialization +Within the `app` module the attribute expects to find an initialization function marked with the `init` attribute. This function must have signature `fn(init::Context) [-> init::LateResources]` (the return type is not always required). @@ -62,7 +55,7 @@ $ cargo run --example init ## `idle` A function marked with the `idle` attribute can optionally appear in the -pseudo-module. This function is used as the special *idle task* and must have +module. This function is used as the special *idle task* and must have signature `fn(idle::Context) - > !`. When present, the runtime will execute the `idle` task after `init`. Unlike |
