Commit graph

21 commits

Author SHA1 Message Date
Finomnis
8c23e178f3
Monotonic rewrite (#874)
* Rework timer_queue and monotonic architecture

Goals:
 * make Monotonic purely internal
 * make Monotonic purely tick passed, no fugit involved
 * create a wrapper struct in the user's code via a macro that then
   converts the "now" from the tick based monotonic to a fugit based
   timestamp

We need to proxy the delay functions of the timer queue anyway,
so we could simply perform the conversion in those proxy functions.

* Update cargo.lock

* Update readme of rtic-time

* CI: ESP32: Redact esp_image: Too volatile

* Fixup: Changelog double entry rebase mistake

---------

Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2024-04-10 22:00:38 +00:00
Finomnis
612a47ef4d
Fix mono delay (#843)
* rtic-time: Compenstate for timer uncertainty

* Update changelog and incorrect cargo.lock in an example

* Fix Monotonic impls

* Fix tests

* Fix other monotonics, again

* Update changelog

* Fix example

* Fix DelayUs and DelayMs impls

* Minor coding style fix in u64 conversions

* Fix all changelogs

* Fix changelog

* Fix blocking DelayUs

* Minor monotonic rework

* Add delay precision test

* Add more tests

* Add rust-version tags to Cargo.toml

* Fix imxrt, rp2040 and systick timer

* Fix more monotonics

* Fix systick monotonic

* Some reverts

* Fix imxrt

* Fix nrf

* Fix rp2040

* Fix stm32

* Fix systick

* Fix rtic-time tests

* Bump to e-h.rc2

* Apply e-h.rc2 fixes to rtic-time

* Apply fixes from arbiter

* Fix clippy warning

* Minor beautification

* Revert previous changes

* Fix variable name

* Add blocking tests, but disable them by default
2023-12-01 07:59:22 +00:00
Finomnis
af550483f5 Add documentation for imxrt; other doc fixes 2023-11-10 20:49:12 +00:00
Nils Fitinghoff
a2ec8f983c rtic-monotonics: Implement blocking DelayUs from embedded-hal 1 2023-09-19 13:31:09 +00:00
Emil Fresk
5b2d722446 Support RP2040 PAC v0.5 in rtic-monotonics 2023-08-08 10:00:20 +00:00
Emil Fresk
0228350ef4 Fixed new TAIT requirement and release v2.0.1 of RTIC 2023-07-25 08:16:13 +00:00
datdenkikniet
9eae3ed4be Update embedded-hal-async 2023-04-23 17:31:51 +02:00
datdenkikniet
401c636215 rtic-monotonics: Add some docs 2023-04-15 19:19:49 +02:00
Emil Fresk
69ad6df2ed rtic-monotonics: export fugit the same for all monotonics 2023-04-10 21:38:26 +02:00
Emil Fresk
aeec8bd41b Add setting of priority to interrupts 2023-04-04 21:40:19 +02:00
Emil Fresk
a2f153249f Added nRF monotonics 2023-04-02 15:19:07 +02:00
Emil Fresk
ee6e6938f6 Update monotonic token macro names 2023-03-29 20:09:36 +02:00
Yandrik
ef12ae6b04 refactor: re-formatted files 2023-03-15 20:17:26 +01:00
Yandrik
28790218c0 refactor(macro): changed not-yet-changed crate names to $crate 2023-03-15 20:15:20 +01:00
Yandrik
a071ab05b2 refactor(macro): used $crate for better interop 2023-03-15 20:04:27 +01:00
bors[bot]
534d42edf5
Merge #702
702: Monotonics interrupt token r=AfoHT a=korken89



Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2023-03-11 20:18:58 +00:00
Emil Fresk
e4d9284e25 rtic-monotonics: Add interrupt tokens to make sure users bind interrupts 2023-03-11 20:59:26 +01:00
Emil Fresk
19bab47bba rtic-monotonics: Unmask the RP2040 timer 2023-03-11 20:28:24 +01:00
datdenkikniet
002d0b0d16 Make embedded-hal-async dependency optional for better compatibility with HALs
Some hals implement traits for embedded-hal version `=1.0.0.alpha.<not 9>`, which is
explicitly incompatible with the version `=1.0.0.alpha.9` which embedded-hal-async
depends on. Making the dependency optional allows downstream projects to include
rtic-monotonic without requiring that all of their other libraries also implement
that specific version of embedded-hal 1.0
2023-03-01 00:35:19 +01:00
Emil Fresk
b566a89393 rtic-monotonics: Feature gate monotonics correctly to support multiple MCUs 2023-03-01 00:35:19 +01:00
Emil Fresk
8963e0e27a RP2040 monotonic, rename systick monotonic to not have double name 2023-03-01 00:35:19 +01:00