Commit graph

1694 commits

Author SHA1 Message Date
Gram
fa2a5b449f
Docs: Rename DelayUs to DelayNs in docs for macros. (#908) 2024-03-24 17:15:57 +00:00
Román Cárdenas Rodríguez
4060c3def8
RISC-V support over CLINT (#815)
* Rebase to master

* using interrupt_mod

* bug fixes

* fix other backends

* Add changelog

* forgot about rtic-macros

* backend-specific configuration

* core peripherals optional over macro argument

* pre_init_preprocessing binding

* CI for RISC-V (WIP)

* separation of concerns

* add targets for RISC-V examples

* remove qemu feature

* prepare examples folder

* move examples all together

* move ci out of examples

* minor changes

* add cortex-m

* new xtask: proof of concept

* fix build.yml

* feature typo

* clean rtic examples

* reproduce weird issue

* remove unsafe code in user app

* update dependencies

* allow builds on riscv32imc

* let's fix QEMU

* Update .github/workflows/build.yml

Co-authored-by: Henrik Tjäder <henrik@tjaders.com>

* New build.rs

* removing test features

* adapt ui test to new version of clippy

* add more examples to RISC-V backend

* proper configuration of heapless for riscv32imc

* opt-out examples for riscv32imc

* point to new version of riscv-slic

* adapt new macro bindings

* adapt examples and CI to stable

* fix cortex-m CI

* Review

---------

Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2024-03-20 20:06:47 +00:00
Henrik Tjäder
22ac33a826
rtic-sync: Fix xtask doc, non-compiling example (#900) 2024-03-13 19:55:59 +00:00
Emil Fresk
82cf534f5d
Fix thumbv6 source masking (#902)
We unconditionally enabled interrupts on exit of locks, now we
only enable interrupts that were disabled by the mask.
2024-03-13 19:51:31 +00:00
Emil Fresk
0b365f03eb Release rtic v2.1.0, rtic-macros v2.1.0 2024-02-27 13:51:47 +01:00
cschuhen
b1467c62b4
Add example of using Embassy HAL(stm32) with RTIC. (#891)
The RTIC book mentions Embassy+RTIC but gives no examples.

fmt.

Add feature flag

Seems CI does not deal with 2 levels of depth.

Forgot to stage.

Thumb m arch.

Co-authored-by: Corey Schuhen <cschuhen@gmail.com>
2024-02-27 11:25:07 +00:00
Emil Fresk
2798500957 Make RTIC 2 work on stable by using main's stack as an allocator 2024-02-27 12:22:18 +01:00
Emil Fresk
d2e84799c7 Fix thumbv7 soundness issue in the lock implementation
The old lock implementation did not set basepri to max(current ceiling,
resource ceiling), it simply set basepri to the resource ceiling.
2024-02-27 11:59:52 +01:00
Emil Fresk
4a23c8d6da
rtic-sync: Remove unstable flag, and add defmt derives (#889) 2024-02-23 07:38:10 +00:00
Emil Fresk
8b2465ba37 Fix nightly compiler CI failure 2024-02-23 08:37:35 +01:00
dependabot[bot]
7a2f605b52
Bump dorny/paths-filter from 2 to 3 (#887)
Bumps [dorny/paths-filter](https://github.com/dorny/paths-filter) from 2 to 3.
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dorny/paths-filter/compare/v2...v3)

---
updated-dependencies:
- dependency-name: dorny/paths-filter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 19:13:17 +00:00
Henrik Tjäder
7757d17c7c
CI: Add extra step building and uploading QEMU (#883)
Uses GHA caching to make it quick for future builds
2024-01-17 20:10:23 +00:00
dependabot[bot]
54c2c18c8f
Update riscv requirement from 0.10.1 to 0.11.0 (#885)
Updates the requirements on [riscv](https://github.com/rust-embedded/riscv) to permit the latest version.
- [Commits](https://github.com/rust-embedded/riscv/commits)

---
updated-dependencies:
- dependency-name: riscv
  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-17 19:11:36 +00:00
dependabot[bot]
f74f38a4f7
Update syn requirement from 1.0.107 to 2.0.48 (#881)
* Update syn requirement from 1.0.107 to 2.0.48

Updates the requirements on [syn](https://github.com/dtolnay/syn) to permit the latest version.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.107...2.0.48)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* rtic-macros: attr.path -> attr.path()

* rtic-macros: tokens -> parse_args()

Fix parsing of InitArgs, IdleArgs, *Args

Including HardwareTaskArgs, SoftwareTaskArgs

* rtic-macros: Rename content to input

As syn2 removes the surrounding parenthesis as
part of parse_args() the distinction between
input and content is redundant

* rtic-macros: Handle removal of Expr::Type

Manually parse local_resources

With type ascription de-RFCd syn2 dropped
Expr::Type

* rtic-macros: Syn upgrade CHANGELOG

* rtic-macro: Retain most old errors as they were

Spans are not equal, but good enough

* rtic-macros: syn2 changed some error messages

Additionally some spans were not retained
with the manual parsing workaround

* rtic-macros: clippy fixes

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2024-01-16 07:03:49 +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
onsdagens
7cbe054e41
bump esp32c3 pac (#878) 2024-01-10 20:00:54 +00:00
dependabot[bot]
fbcc364759
Bump actions/download-artifact from 3 to 4 (#867)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-10 19:56:52 +00:00
dependabot[bot]
53a7bcab56
Bump actions/upload-artifact from 3 to 4 (#868)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-10 19:30:27 +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
Anshul Gupta
efb82b7b05
Changes make_channel! macro to accept more types (#877)
* Changes `make_channel!` macro to accept more types

Changes `type` macro argument from `path` to `ty`, allowing more complex
types like tuples, arrays, & pointers.

See https://doc.rust-lang.org/reference/types.html#type-expressions.

* Adds to `CHANGELOG.md`
2024-01-07 06:52:08 +00:00
Jan Niehusmann
a6aeb865b7
Add repository links to some crates hosted in this repo (#871) 2023-12-25 09:24:56 +00:00
onsdagens
deda4f01c9
remove unused import (#866) 2023-12-20 18:55:35 +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
Finomnis
bbed945285
Fix race condition in calculate_now (#860)
* Fix race condition in calculate_now

* Add changelog

* Update changelog

* Refine comment

* More comment fixes
2023-12-06 18:36:09 +00:00
Finomnis
f377471e44
Fix nrf::rtc errata workaround (#858)
* Deprecate `should_dequeue_check`

* Fix errata by delaying the wakeup point

* Add changelog

* Fix changelog typos
2023-12-06 18:36:06 +00:00
Finomnis
89160b7cb9
Fix nrf monotonics (#852)
* Fix nrf::timer

* Bootstrap nrf52840-blinky example

* More work on nrf blinky example

* Fix README

* Add asserts for correct timer functionality

* Add correctness check to other monotonics as well

* Update Changelog

* Fix potential timing issues

* Fix race condition in nrf::rtc

* Add changelog

* Add rtc blinky example

* Change rtc example to RC lf clock source

* Add changelog to rtic-time

* Add changelog

* Attempt to fix CI

* Update teensy4-blinky Cargo.lock
2023-12-06 07:49:38 +00:00
Emil Fresk
1622f6b953
Fix docs.rs features for rtic-sync (#857) 2023-12-04 20:50:10 +01:00
Emil Fresk
ea8de913d7
Release rtic-monotonics, rtic-sync and rtic-time (#854) 2023-12-04 20:37:00 +01:00
Emil Fresk
fd085e6a01
Update to heapless 0.8, disable pool test for now (#846) 2023-12-04 18:26:21 +01:00
Milton Eduardo Sosa
207f7dba48
Add RTC interrupt example for stm32f411 (#853)
* Add RTC example for stm32f411

* Remove svd file

---------

Co-authored-by: Milton Eduardo Sosa <milton.eduardo.sosa@gmail.com, milton@switch-ev.com>
2023-12-04 17:19:24 +00:00
Emil Fresk
21191e1b23
Fix small error in readme (#856) 2023-12-04 18:18:42 +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
Emil Fresk
3de5f793f3
Fix rp2040 example (#855) 2023-12-04 12:49:24 +01: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
Andres Vahter
9f5820da1d rtic-sync Arbiter: impl more I2C trait fns
For example embassy-stm32 I2C does not impl transaction yet but other fns are available. So it would be better to impl all of them here.
2023-11-28 09:59:29 +00:00
Andres Vahter
e8667d7872 rtic-sync: add I2C Arbiter to changelog 2023-11-28 06:42:05 +00:00
Andres Vahter
8bb084ebbb rtic-sync: add Arbiter for I2C 2023-11-28 06:42:05 +00:00
Nils Fitinghoff
ff5cad9cd2 rtic-sync: Add SPI bus sharing with arbiter 2023-11-22 19:42:46 +00:00
Karsten Große
96e7704487 rtic-time does not need nightly 2023-11-22 19:36:06 +00:00
Finomnis
a13cb30e88 Revert changelog since 1.3.0 isn't released yet 2023-11-10 20:49:12 +00:00
Finomnis
028a0046bc Update systick.rs 2023-11-10 20:49:12 +00:00
Finomnis
af550483f5 Add documentation for imxrt; other doc fixes 2023-11-10 20:49:12 +00:00
Henrik Tjäder
413955fb39 CI: Create local repo awareness of branch ref 2023-11-09 20:49:22 +00:00
Henrik Tjäder
ea8b5b6c33 CI: rtic-monotonics: systick not always in scope
Links are checked during compilation, and to not
make it overly complex remove the link

```
error: unresolved link to `systick`
 --> rtic-monotonics/src/lib.rs:7:11
  |
7 | //! The [`systick`] monotonic works on all cortex-M parts, and requires that the feature `cortex-m-systick` is enabled.
  |           ^^^^^^^ no item named `systick` in scope
  |
  = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
  = note: `-D rustdoc::broken-intra-doc-links` implied by `-D warnings`
  = help: to override `-D warnings` add `#[allow(rustdoc::broken_intra_doc_links)]`

error: could not document `rtic-monotonics`
```
2023-11-08 20:43:32 +00:00
Emil Fresk
4425b76c6f Prepare rtic-monotonics v1.3.0 release 2023-11-08 20:09:50 +00:00
Finomnis
994884ffb7 Fix comment 2023-11-08 19:43:09 +00:00
Finomnis
b5f9579b90 Use imxrt-uart-panic crate instead of custom panic handler 2023-11-08 19:43:09 +00:00
Finomnis
2fd3b3c404 Add Monotonic for i.MX RT chip family 2023-11-08 19:43:09 +00:00
Finomnis
a7f81262f6 Update changelog 2023-11-08 19:42:43 +00:00