mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-11-26 05:29:38 +01:00
Merge #401
401: Updating the changelog r=perlindgren a=AfoHT Better late than never... Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
This commit is contained in:
commit
d11b2ddd35
1 changed files with 42 additions and 12 deletions
54
CHANGELOG.md
54
CHANGELOG.md
|
@ -5,7 +5,36 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
- Move dispatchers from extern block to app argument.
|
### Added
|
||||||
|
|
||||||
|
- Allow annotating resources to activate special resource locking behaviour.
|
||||||
|
- `#[lock_free]`, there might be several tasks with the same priority accessing
|
||||||
|
the resource without critical section.
|
||||||
|
- `#[task_local]`, there must be only one task, similar to a task local
|
||||||
|
resource, but (optionally) set-up by init. This is similar to move.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- [breaking-change] [PR 400] Move dispatchers from extern block to app argument.
|
||||||
|
|
||||||
|
[PR 400]: https://github.com/rtic-rs/cortex-m-rtic/pull/400
|
||||||
|
|
||||||
|
- [breaking-change] [PR 390] Rework whole spawn/schedule, support `foo::spawn( ... )`,
|
||||||
|
`foo::schedule( ... )`.
|
||||||
|
|
||||||
|
[PR 390]: https://github.com/rtic-rs/cortex-m-rtic/pull/390
|
||||||
|
|
||||||
|
- [breaking-change] [PR 368] `struct Resources` changed to attribute `#[resources]` on a struct.
|
||||||
|
|
||||||
|
- [breaking-change] [PR 368] Mod over const, instead of `const APP: () = {` use `mod app {`.
|
||||||
|
|
||||||
|
- [breaking-change] [PR 372] Init function always return `LateResources` for a symmetric API.
|
||||||
|
|
||||||
|
- [PR 355] Multi-core support was removed to reduce overall complexity.
|
||||||
|
|
||||||
|
[PR 368]: https://github.com/rtic-rs/cortex-m-rtic/pull/368
|
||||||
|
[PR 372]: https://github.com/rtic-rs/cortex-m-rtic/pull/372
|
||||||
|
[PR 355]: https://github.com/rtic-rs/cortex-m-rtic/pull/355
|
||||||
|
|
||||||
## [v0.5.5] - 2020-08-27
|
## [v0.5.5] - 2020-08-27
|
||||||
|
|
||||||
|
@ -31,6 +60,7 @@ for users.
|
||||||
- Fixed so one can `cfg`-out resources when using a newer compiler
|
- Fixed so one can `cfg`-out resources when using a newer compiler
|
||||||
|
|
||||||
## [v0.5.1] - 2019-11-19
|
## [v0.5.1] - 2019-11-19
|
||||||
|
|
||||||
- Fixed arithmetic wrapping bug in src/cyccntr.rs
|
- Fixed arithmetic wrapping bug in src/cyccntr.rs
|
||||||
elapsed and duration could cause an internal overflow trap
|
elapsed and duration could cause an internal overflow trap
|
||||||
on subtraction in debug mode.
|
on subtraction in debug mode.
|
||||||
|
@ -48,12 +78,12 @@ for users.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- [breaking-change][] [RFC 155] "explicit `Context` parameter" has been
|
- [breaking-change] [RFC 155] "explicit `Context` parameter" has been
|
||||||
implemented.
|
implemented.
|
||||||
|
|
||||||
[RFC 155]: https://github.com/rtic-rs/cortex-m-rtic/issues/155
|
[RFC 155]: https://github.com/rtic-rs/cortex-m-rtic/issues/155
|
||||||
|
|
||||||
- [breaking-change][] [RFC 147] "all functions must be safe" has been
|
- [breaking-change] [RFC 147] "all functions must be safe" has been
|
||||||
implemented.
|
implemented.
|
||||||
|
|
||||||
[RFC 147]: https://github.com/rtic-rs/cortex-m-rtic/issues/147
|
[RFC 147]: https://github.com/rtic-rs/cortex-m-rtic/issues/147
|
||||||
|
@ -62,34 +92,34 @@ for users.
|
||||||
instead of `AtomicUsize`; this reduces the static memory used by the
|
instead of `AtomicUsize`; this reduces the static memory used by the
|
||||||
framework.
|
framework.
|
||||||
|
|
||||||
- [breaking-change][] when the `capacity` argument is omitted, the capacity of
|
- [breaking-change] when the `capacity` argument is omitted, the capacity of
|
||||||
the task is assumed to be `1`. Before, a reasonable (but hard to predict)
|
the task is assumed to be `1`. Before, a reasonable (but hard to predict)
|
||||||
capacity was computed based on the number of `spawn` references the task had.
|
capacity was computed based on the number of `spawn` references the task had.
|
||||||
|
|
||||||
- [breaking-change][] resources that are appear as exclusive references
|
- [breaking-change] resources that are appear as exclusive references
|
||||||
(`&mut-`) no longer appear behind the `Exclusive` newtype.
|
(`&mut-`) no longer appear behind the `Exclusive` newtype.
|
||||||
|
|
||||||
- [breaking-change][] the `timer-queue` Cargo feature has been removed. The
|
- [breaking-change] the `timer-queue` Cargo feature has been removed. The
|
||||||
`schedule` API can be used without enabling any Cargo feature.
|
`schedule` API can be used without enabling any Cargo feature.
|
||||||
|
|
||||||
- [breaking-change][] when the `schedule` API is used the type of
|
- [breaking-change] when the `schedule` API is used the type of
|
||||||
`init::Context.core` changes from `cortex_m::Peripherals` to
|
`init::Context.core` changes from `cortex_m::Peripherals` to
|
||||||
`rtic::Peripherals`. The fields of `rtic::Peripherals` do not change when
|
`rtic::Peripherals`. The fields of `rtic::Peripherals` do not change when
|
||||||
Cargo features are enabled.
|
Cargo features are enabled.
|
||||||
|
|
||||||
- [breaking-change][] the monotonic timer used to implement the `schedule` API
|
- [breaking-change] the monotonic timer used to implement the `schedule` API
|
||||||
is now user configurable via the `#[app(monotonic = ..)]` argument. IMPORTANT:
|
is now user configurable via the `#[app(monotonic = ..)]` argument. IMPORTANT:
|
||||||
it is now the responsibility of the application author to configure and
|
it is now the responsibility of the application author to configure and
|
||||||
initialize the chosen `monotonic` timer during the `#[init]` phase.
|
initialize the chosen `monotonic` timer during the `#[init]` phase.
|
||||||
|
|
||||||
- [breaking-change][] the `peripherals` field is not include in `init::Context`
|
- [breaking-change] the `peripherals` field is not include in `init::Context`
|
||||||
by default. One must opt-in using the `#[app(peripherals = ..)]` argument.
|
by default. One must opt-in using the `#[app(peripherals = ..)]` argument.
|
||||||
|
|
||||||
- [breaking-change][] the `#[exception]` and `#[interrupt]` attributes have been
|
- [breaking-change] the `#[exception]` and `#[interrupt]` attributes have been
|
||||||
removed. Hardware tasks are now declared using the `#[task(binds = ..)]`
|
removed. Hardware tasks are now declared using the `#[task(binds = ..)]`
|
||||||
attribute.
|
attribute.
|
||||||
|
|
||||||
- [breaking-change][] the syntax to declare resources has changed. Instead of
|
- [breaking-change] the syntax to declare resources has changed. Instead of
|
||||||
using a `static [mut]` variable for each resource, all resources must be
|
using a `static [mut]` variable for each resource, all resources must be
|
||||||
declared in a `Resources` structure.
|
declared in a `Resources` structure.
|
||||||
|
|
||||||
|
@ -170,7 +200,7 @@ fn on_new_frame() { .. }
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- [breaking-change][] [soundness-fix] `init` can not contain any early return as
|
- [breaking-change] [soundness-fix] `init` can not contain any early return as
|
||||||
that would result in late resources not being initialized and thus undefined
|
that would result in late resources not being initialized and thus undefined
|
||||||
behavior.
|
behavior.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue