8000 Docs 2 by datdenkikniet · Pull Request #741 · rtic-rs/rtic · GitHub
[go: up one dir, main page]

Skip to content

Docs 2 #741

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 31 commits into from
May 23, 2023
Merged
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
16f8ea9
Fix this link
datdenkikniet Apr 22, 2023
1dc2f80
Begin migration guide
datdenkikniet Apr 22, 2023
d90fa95
Add some more
datdenkikniet Apr 22, 2023
6c91ff2
Include the examples
datdenkikniet Apr 22, 2023
825b2c2
Update tips on Monotonic implemenations
datdenkikniet Apr 22, 2023
4437f12
Remove link to inactive `embedded_time`
datdenkikniet Apr 22, 2023
9ddae20
Fix links & info
datdenkikniet Apr 22, 2023
d22faec
Fix run-on sentence
datdenkikniet Apr 22, 2023
ed465b0
Fix #699
datdenkikniet Apr 22, 2023
3d97c9e
Move deprecated migration guides to deprecated folder
datdenkikniet Apr 22, 2023
3d98102
Refer to rtic-rs/rtic/examples instead
datdenkikniet Apr 22, 2023
a14d240
Update delay.md file to be a bit easier to read, and add spoiler tags…
datdenkikniet Apr 22, 2023
552ecd4
Promote starting a new project to it's own chapter
datdenkikniet Apr 22, 2023
a76f4cd
monotonic.md is now deprecated
datdenkikniet Apr 22, 2023
6c2c1ab
Clarify delay and timeout uses monotonics
datdenkikniet Apr 22, 2023
cb0ceea
Remove v1 reference here
datdenkikniet Apr 23, 2023
e51146a
Move tips into their own subdir
datdenkikniet Apr 23, 2023
0807aa5
Include this code as blocks instead
datdenkikniet Apr 23, 2023
a66540e
Disable the playground on all of these
datdenkikniet Apr 23, 2023
d41d28b
Add check-book.sh script
datdenkikniet May 5, 2023
0b8ea07
Fix links
datdenkikniet May 5, 2023
e3603d1
Rename deprecated to archive
datdenkikniet May 5, 2023
f2a57de
taste the rainbow!
datdenkikniet May 5, 2023
5b705dd
Don't build core and alloc & update Cargo.lock
datdenkikniet May 5, 2023
03b16a3
Archive app_task.md
datdenkikniet May 5, 2023
5c6483f
Update these
datdenkikniet May 5, 2023
ab17bbf
Demarcate a bit more
datdenkikniet May 5, 2023
4b3bf59
Move some more stuff to the archive, update this link
datdenkikniet May 20, 2023
039c2b8
Add some docs on RTIC AND embassy
datdenkikniet May 20, 2023
311291b
Make Monotonic implementation more obvious
datdenkikniet May 20, 2023
9fa073f
Fix link
datdenkikniet May 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Remove v1 reference here
  • Loading branch information
datdenkikniet committed May 11, 2023
commit cb0ceea472f33ed7a8b17fe7e0b98f24927d9185
19 changes: 2 additions & 17 deletions book/en/src/by-example/tips_monotonic_impl.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The framework is flexible because it can use any timer which has compare-match a

For RTIC 1.0 and 2.0 we instead assume the user has a time library, e.g. [`fugit`], as the basis for all time-based operations when implementing `Monotonic`. These libraries make it much easier to correctly implement the `Monotonic` trait, allowing the use of almost any timer in the system for scheduling.

The trait documents the requirements for each method. There are reference implementations available in [`rtic-monotonics`](https://github.com/rtic-rs/rtic/tree/master/rtic-monotonics/src) that can be used for inspriation.
The trait documents the requirements for each method. There are reference implementations available in [`rtic-monotonics`] that can be used for inspriation.

- [`Systick based`], runs at a fixed interrupt (tick) rate - with some overhead but simple and provides support for large time spans
- [`RP2040 Timer`], a "proper" implementation with support for waiting for long periods without interrupts. Clearly demonstrates how to use the `TimerQueue` to handle scheduling.
Expand All @@ -16,25 +16,10 @@ Contributing new implementations of `Monotonic` can be done in multiple ways:
* Implement the trait behind a feature flag in [`rtic-monotonics`], and create a PR for them to be included in the main RTIC repository. This way, the implementations of are in-tree, and RTIC can guarantee their correctness, and can update them in the case of a new release.
* Implement the changes in an external repository.

<!-- TODO: remove 1.0.x examples? -->
# V1.0.x

Here is a list of `Monotonic` implementations for RTIC 1.0:

- [`STM32F411 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
- [`DWT and Systick based`], a more efficient (tickless) implementation - requires both `SysTick` and `DWT`, supports both high resolution and large time spans

If you know of more implementations feel free to add them to this list.

[`rtic-monotonics`]: https://github.com/rtic-rs/rtic/tree/master/rtic-monotonics/
[`rtic_time::Monotonic`]: https://docs.rs/rtic_time/
[`fugit`]: https://docs.rs/fugit/
[`STM32F411 series`]: https://github.com/kalkyl/f411-rtic/blob/a696fce7d6d19fda2356c37642c4d53547982cca/src/mono.rs
[`Nordic nRF52 series Timer`]: https://github.com/kalkyl/nrf-play/blob/47f4410d4e39374c18ff58dc17c25159085fb526/src/mono.rs
[`Nordic nRF52 series RTC`]: https://gist.github.com/korken89/fe94a475726414dd1bce031c76adc3dd
[`Systick based`]: https://github.com/rtic-monotonics
[`DWT and Systick based`]: https://github.com/rtic-rs/dwt-systick-monotonic
[`rtic-monotonics`]: https://github.com/rtic-rs/rtic/blob/master/rtic-monotonics
[`RP2040 Timer`]: https://github.com/rtic-rs/rtic/blob/master/rtic-monotonics/src/rp2040.rs
[`nRF52 timers`]: https://github.com/rtic-rs/rtic/blob/master/rtic-monotonics/src/nrf.rs
0