diff options
-rw-r--r-- | .github/workflows/build.yml | 2 | ||||
-rw-r--r-- | README.md | 14 | ||||
-rw-r--r-- | book/en/src/SUMMARY.md | 2 | ||||
-rw-r--r-- | book/en/src/by-example/tips_monotonic_impl.md | 6 | ||||
-rw-r--r-- | book/en/src/migration/migration_v5.md | 18 | ||||
-rw-r--r-- | book/en/src/preface.md | 2 | ||||
-rw-r--r-- | book/ru/src/SUMMARY.md | 2 | ||||
-rw-r--r-- | book/ru/src/migration/migration_v5.md | 14 | ||||
-rw-r--r-- | book/ru/src/preface.md | 2 | ||||
-rw-r--r-- | src/lib.rs | 11 |
10 files changed, 34 insertions, 39 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d7c595e7..7a324bc9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -522,7 +522,7 @@ jobs: langs=( en ru ) devver=( dev ) # The latest stable must be the first element in the array - vers=( 0.5.x 0.4.x ) + vers=( 1.0.x 0.5.x 0.4.x ) # All releases start with "v" # followed by MAJOR.MINOR.PATCH, see semver.org @@ -7,7 +7,6 @@ Formerly known as Real-Time For the Masses. [](https://crates.io/crates/cortex-m-rtic) [](https://docs.rs/cortex-m-rtic) [](https://rtic.rs/) -[](https://github.com/rust-lang/rust/releases/tag/1.36.0) [](https://matrix.to/#/#rtic:matrix.org) [](https://hackmd.io/@xmis9JvZT8Gvo9lOEKyZ4Q/SkBJKsjuH) @@ -43,12 +42,7 @@ Formerly known as Real-Time For the Masses. - **All Cortex-M devices are fully supported**. - This task model is amenable to known WCET (Worst Case Execution Time) analysis - and scheduling analysis techniques. (Though we haven't yet developed Rust - friendly tooling for that.) - -## Requirements - -- Applications must be written using the 2018 edition. + and scheduling analysis techniques. ### Crate `cortex-m` 0.6 vs 0.7 in RTIC 0.5.x @@ -58,9 +52,11 @@ The crate `cortex-m` 0.7 started using trait `InterruptNumber` for interrupts in cortex-m-rtic = { version = "0.5.8", default-features = false, features = ["cortex-m-7"] } ``` -RTIC 0.6 already uses `cortex-m` 0.7 by default. +RTIC 1.0.0 already uses `cortex-m` 0.7 by default. + +## [User documentation](https://rtic.rs) -## [User documentation](https://rtic.rs) - [(Development version)](https://rtic.rs/dev) +Documentation for the [development version](https://rtic.rs/dev). ## [API reference](https://rtic.rs/stable/api/) diff --git a/book/en/src/SUMMARY.md b/book/en/src/SUMMARY.md index 397bb547..045036ea 100644 --- a/book/en/src/SUMMARY.md +++ b/book/en/src/SUMMARY.md @@ -25,7 +25,7 @@ <!-- - [`#[cfg(..)]` support](./by-example/tips.md) --> - [Awesome RTIC examples](./awesome_rtic.md) - [Migration Guides](./migration.md) - - [v0.5.x to v0.6.x](./migration/migration_v5.md) + - [v0.5.x to v1.0.x](./migration/migration_v5.md) - [v0.4.x to v0.5.x](./migration/migration_v4.md) - [RTFM to RTIC](./migration/migration_rtic.md) - [Under the hood](./internals.md) diff --git a/book/en/src/by-example/tips_monotonic_impl.md b/book/en/src/by-example/tips_monotonic_impl.md index 24df7712..38f3e92d 100644 --- a/book/en/src/by-example/tips_monotonic_impl.md +++ b/book/en/src/by-example/tips_monotonic_impl.md @@ -18,7 +18,8 @@ The trait documents the requirements for each method, and for inspiration here is a list of `Monotonic` implementations: - [`STM32F411 series`], implemented for the 32-bit timers -- [`Nordic nRF52 series`], implemented for the 32-bit timers +- [`Nordic nRF52 series Timer`], implemented for the 32-bit timers +- [`Nordic nRF52 series RTC`], implemented for the RTCs - [`Systick based`], runs at a fixed rate - some overhead but simple - [`DWT and Systick based`], a more efficient `Systick` based implementation, but requires `DWT` @@ -28,6 +29,7 @@ If you know of more implementations feel free to add them to this list. [`fugit`]: https://docs.rs/fugit/ [`embedded_time`]: https://docs.rs/embedded_time/ [`STM32F411 series`]: https://github.com/kalkyl/f411-rtic/blob/main/src/bin/mono.rs -[`Nordic nRF52 series`]: https://github.com/kalkyl/nrf-play/blob/main/src/bin/mono.rs +[`Nordic nRF52 series Timer`]: https://github.com/kalkyl/nrf-play/blob/main/src/bin/mono.rs +[`Nordic nRF52 series RTC`]: https://gist.github.com/korken89/fe94a475726414dd1bce031c76adc3dd [`Systick based`]: https://github.com/rtic-rs/systick-monotonic [`DWT and Systick based`]: https://github.com/rtic-rs/dwt-systick-monotonic diff --git a/book/en/src/migration/migration_v5.md b/book/en/src/migration/migration_v5.md index 5c0dad19..e19fb62f 100644 --- a/book/en/src/migration/migration_v5.md +++ b/book/en/src/migration/migration_v5.md @@ -1,10 +1,10 @@ -# Migrating from v0.5.x to v0.6.0 +# Migrating from v0.5.x to v1.0.0 -This section describes how to upgrade from v0.5.x to v0.6.0 of the RTIC framework. +This section describes how to upgrade from v0.5.x to v1.0.0 of the RTIC framework. ## `Cargo.toml` - version bump -Change the version of `cortex-m-rtic` to `"0.6.0"`. +Change the version of `cortex-m-rtic` to `"1.0.0"`. ## `mod` instead of `const` @@ -112,7 +112,7 @@ struct Resources { } ``` -With RTIC v0.6.0 the resources structs are annotated similarly like +With RTIC v1.0.0 the resources structs are annotated similarly like `#[task]`, `#[init]`, `#[idle]`: with the attributes `#[shared]` and `#[local]` ``` rust @@ -131,7 +131,7 @@ These structs can be freely named by the developer. ## `shared` and `local` arguments in `#[task]`s -In v0.6.0 resources are split between `shared` resources and `local` resources. +In v1.0.0 resources are split between `shared` resources and `local` resources. `#[task]`, `#[init]` and `#[idle]` no longer have a `resources` argument; they must now use the `shared` and `local` arguments. In v0.5.x: @@ -149,7 +149,7 @@ fn a(_: a::Context) {} fn b(_: b::Context) {} ``` -In v0.6.0: +In v1.0.0: ``` rust #[shared] @@ -207,7 +207,7 @@ Note that the performance does not change thanks to LLVM's optimizations which o ## Lock-free resource access In RTIC 0.5 resources shared by tasks running at the same priority could be accessed *without* the `lock` API. -This is still possible in 0.6: the `#[shared]` resource must be annotated with the field-level `#[lock_free]` attribute. +This is still possible in 1.0: the `#[shared]` resource must be annotated with the field-level `#[lock_free]` attribute. v0.5 code: @@ -227,7 +227,7 @@ fn b(cx: b::Context) { } ``` -v0.6 code: +v1.0 code: ``` rust #[shared] @@ -262,7 +262,7 @@ fn init(_: init::Context) { } ``` -v0.6.0 code: +v1.0.0 code: ``` rust #[init(local = [ diff --git a/book/en/src/preface.md b/book/en/src/preface.md index d9dbc04b..f833213e 100644 --- a/book/en/src/preface.md +++ b/book/en/src/preface.md @@ -16,7 +16,7 @@ Formerly known as Real-Time For the Masses. <!--[Russian]: ../ru/index.html--> -This is the documentation of v0.6.x of RTIC; for the documentation of version +This is the documentation of v1.0.x of RTIC; for the documentation of version * v0.5.x go [here](/0.5). * v0.4.x go [here](/0.4). diff --git a/book/ru/src/SUMMARY.md b/book/ru/src/SUMMARY.md index a387c9f0..cf03cdae 100644 --- a/book/ru/src/SUMMARY.md +++ b/book/ru/src/SUMMARY.md @@ -11,7 +11,7 @@ - [Создание нового проекта](./by-example/new.md) - [Советы и хитрости](./by-example/tips.md) - [Инструкции по миграции](./migration.md) - - [v0.5.x на v0.6.x](./migration/migration_v5.md) + - [v0.5.x на v1.0.x](./migration/migration_v5.md) - [v0.4.x на v0.5.x](./migration/migration_v4.md) - [RTFM на RTIC](./migration/migration_rtic.md) - [Под капотом](./internals.md) diff --git a/book/ru/src/migration/migration_v5.md b/book/ru/src/migration/migration_v5.md index 870c20fd..84bd9fb8 100644 --- a/book/ru/src/migration/migration_v5.md +++ b/book/ru/src/migration/migration_v5.md @@ -1,6 +1,6 @@ -# Миграция с v0.5.x на v0.6.0 +# Миграция с v0.5.x на v1.0.0 -Этот раздел описывает как обновиться с версии v0.5.x на v0.6.0 фреймворка RTIC. +Этот раздел описывает как обновиться с версии v0.5.x на v1.0.0 фреймворка RTIC. ## `Cargo.toml` - увеличьте версию @@ -112,7 +112,7 @@ struct Resources { } ``` -Начиная с RTIC v0.6.0 структуры ресурсов аннотируются подобно +Начиная с RTIC v1.0.0 структуры ресурсов аннотируются подобно `#[task]`, `#[init]`, `#[idle]`: аттрибутами `#[shared]` и `#[local]` ``` rust @@ -131,7 +131,7 @@ struct MyLocalResources { ## `shared` и `local` аргументы в `#[task]`'ах -В v0.6.0 ресурсы разделены на `shared` ресурсы и `local` ресурсы. +В v1.0.0 ресурсы разделены на `shared` ресурсы и `local` ресурсы. `#[task]`, `#[init]` и `#[idle]` больше не имеют аргумента `resources`; они должны использовать аргументы `shared` и `local`. @@ -150,7 +150,7 @@ fn a(_: a::Context) {} fn b(_: b::Context) {} ``` -В v0.6.0: +В v1.0.0: ``` rust #[shared] @@ -229,7 +229,7 @@ fn b(cx: b::Context) { } ``` -v0.6 код: +v1.0 код: ``` rust #[shared] @@ -264,7 +264,7 @@ fn init(_: init::Context) { } ``` -v0.6.0 code: +v1.0.0 code: ``` rust #[init(local = [ diff --git a/book/ru/src/preface.md b/book/ru/src/preface.md index 700560f4..894b6b46 100644 --- a/book/ru/src/preface.md +++ b/book/ru/src/preface.md @@ -16,7 +16,7 @@ <!--[английском]: ../en/index.html--> -Это документация по RTIC версии v0.6.x; за документацией по другим версиям: +Это документация по RTIC версии v1.0.x; за документацией по другим версиям: * v0.5.x [сюда](/0.5). * v0.4.x [сюда](/0.4). @@ -1,7 +1,4 @@ -//! Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers -//! -//! **HEADS UP** This is an **beta** pre-release; there may be breaking changes in the API and -//! semantics before a proper release is made. +//! Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers. //! //! **IMPORTANT**: This crate is published as [`cortex-m-rtic`] on crates.io but the name of the //! library is `rtic`. @@ -17,13 +14,13 @@ //! //! # Minimum Supported Rust Version (MSRV) //! -//! This crate is guaranteed to compile on stable Rust 1.36 (2018 edition) and up. It *might* -//! compile on older versions but that may change in any new patch release. +//! This crate is compiled and tested with the latest toolchain (rolling) as of the release date. +//! If you run into compilation errors, try the latest stable release of the rust toolchain. //! //! # Semantic Versioning //! //! Like the Rust project, this crate adheres to [SemVer]: breaking changes in the API and semantics -//! require a *semver bump* (a new minor version release), with the exception of breaking changes +//! require a *semver bump* (since 1.0.0 a new major version release), with the exception of breaking changes //! that fix soundness issues -- those are considered bug fixes and can be landed in a new patch //! release. //! |