Commit graph

40 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
dependabot[bot]
c630657009
Update stm32-metapac requirement from 14.0.0 to 15.0.0 (#884)
Updates the requirements on [stm32-metapac](https://github.com/embassy-rs/stm32-data) to permit the latest version.
- [Commits](https://github.com/embassy-rs/stm32-data/commits)

---
updated-dependencies:
- dependency-name: stm32-metapac
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-16 06:56:41 +00:00
Emil Fresk
f69ecb05a9
Upgrade everything to embedded-hal v1.0.0 (#880) 2024-01-10 19:21:38 +00:00
Andres Vahter
af1b8e5d8b
update to embedded-hal 1 (#879)
* update to eh1

* changelogs about embedded-hal 1.0
2024-01-10 19:15:07 +00:00
Jan Niehusmann
a6aeb865b7
Add repository links to some crates hosted in this repo (#871) 2023-12-25 09:24:56 +00:00
Emil Fresk
e53624c263
Prepare release of rtic-monotonics 1.4.1 and rtic-time 1.2.0 (#861) 2023-12-06 19:44:35 +01:00
Emil Fresk
ea8de913d7
Release rtic-monotonics, rtic-sync and rtic-time (#854) 2023-12-04 20:37:00 +01:00
Finomnis
c227a71d24
Refactor race condition free timer helper (#850)
* Implement half_period_counter in rtic-time

* Rename compute_now to calculate_now, use it in stm32 and imxrt

* Add more tests

* Add some docs

* Fix clippy warning, add imxrt timer to monotonics tests

* Bump dependency version to make sure monotonics will build properly

* Add changelog to rtic-monotonics

* Add more docs

* Add more docs

* Finish documentation

* Fix typos

* Switch from atomic-polyfill to portable-atomic

* Some more doc fixes

* More doc fixes

* Minor doc fix

* Minor doc fix

* Fix Atomics not existing

* Fix example

* Minor example improvement

* Revert back to atomic-polyfill

* Fix cargo.toml formatting

* Remove atomic-polyfill

* Attempt to fix unused macro warning

* Remove atomics completely from half period counter

* Minor doc fix

* Doc fixes

* Doc fixes

* Remove obsolete comment

* Fix ordering in monotonic initialization sequence
2023-12-04 14:53:02 +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
Emil Fresk
4425b76c6f Prepare rtic-monotonics v1.3.0 release 2023-11-08 20:09:50 +00:00
Finomnis
2fd3b3c404 Add Monotonic for i.MX RT chip family 2023-11-08 19:43:09 +00:00
Nils Fitinghoff
8824202c5a rtic-monotonics: Fix stm32-metapac use
Previously, the stm32 monotonics only compiled for some chip families. For
example, stm32g081kb worked, but not stm32f407*.

The stm32-metapac does not directly unify peripheral names between the
many stm32 families, but provides tools for build scripts to generate
code that uses the right names for the selected chip. Use that mechanism
instead of targeting a specific family.
2023-10-03 20:50:50 +00:00
dependabot[bot]
3143b7e0ca Update stm32-metapac requirement from 13.0.0 to 14.0.0
Updates the requirements on [stm32-metapac](https://github.com/embassy-rs/stm32-data) to permit the latest version.
- [Commits](https://github.com/embassy-rs/stm32-data/commits)

---
updated-dependencies:
- dependency-name: stm32-metapac
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 19:11:45 +00:00
Emil Fresk
3b8d787a91 Release rtic-monotonics v1.2.0 2023-09-19 13:34:29 +00:00
Nils Fitinghoff
a2ec8f983c rtic-monotonics: Implement blocking DelayUs from embedded-hal 1 2023-09-19 13:31:09 +00:00
Andres Vahter
7dcc59d4ed expose all stm32-metapac chips as features
add more supported timers
2023-09-06 18:48:36 +00:00
Andres Vahter
7d223ffe57 PoC Monotonic impl based on stm32-metapac 2023-09-06 18:48:36 +00:00
Emil Fresk
adfe33f597 Release rtic-monotonics 1.1.0, release rtic-sync 1.0.2 2023-08-29 07:17:31 +00:00
Nils Fitinghoff
4ea73021d6 rtic-monotonics: Add 64-bit SysTick monotonic
Counting at 1 kHz, 32 bits for counting ticks is not enough to ensure
monotonicity for more than 50 days. Add a feature to change the backing
storage to 64 bits.
2023-08-25 15:16:18 +00:00
Emil Fresk
df66163ace Bump embedded-hal-async in rtic-monotonics 2023-08-20 11:03:35 +00:00
Emil Fresk
5b2d722446 Support RP2040 PAC v0.5 in rtic-monotonics 2023-08-08 10:00:20 +00:00
Emil Fresk
c3884e212c v2.0 release 2023-05-25 08:27:58 +02:00
Emil Fresk
ce3804dc92 Prepare release of rtic-monotonics with new eha version 2023-04-23 21:49:57 +02: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
66780d8a7b Fix if a enqueued instant is first in a non-empty queue 2023-04-08 22:11:12 +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
Henrik Tjäder
44af136605 CFG: Align all crates to use hyphen 2023-03-04 20:22:45 +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
Henrik Tjäder
858160a55d rtic-monotonics: Simplify features, default is 1kHz
Make 100 Hz or 10 kHz opt in through features,
which are meant for testing primarily.
2023-03-01 00:35:13 +01:00
Emil Fresk
82f2f08349 Make xtask pass, clean up rtic Cargo.toml 2023-03-01 00:35:11 +01:00
Henrik Tjäder
c2d2b1ba38 Add authors to each Cargo.toml
Copy-paste the default one used for the project
2023-03-01 00:35:10 +01:00
Henrik Tjäder
fe77b4538d Add alpha.0 and required Cargo fields 2023-03-01 00:35:10 +01:00
Emil Fresk
922f1ad0eb Added examples for async crates + fixed codegen for non-Copy arguments 2023-03-01 00:33:34 +01:00
Emil Fresk
71b5f9438e Fixed systick monotonic 2023-03-01 00:33:31 +01:00
Emil Fresk
306aa47170 Add rtic-timer (timerqueue + monotonic) and rtic-monotonics (systick-monotonic) 2023-03-01 00:33:31 +01:00