Commit graph

1729 commits

Author SHA1 Message Date
Emil Fresk
4ac901bc0d Fix codegen emitting unqualified Result 2024-08-07 20:22:21 +02:00
Emil Fresk
f925cbe506 Release rtic-monotonics v2.0.2 2024-07-06 12:55:29 +02:00
Finomnis
5cafe9dd0b
Fix STM32 Monotonic for peripherals with only two Clock Compare modules (#960)
* Update dependencies of stm32g0 timer example

* Replace obsolete probe-run with probe-rs run

* Modify stm32 monotonic to work with timers that have only 2 compare modules

* Add changelog

* Fix typo
2024-07-05 16:19:51 +00:00
Milton Eduardo Sosa
624f643a97
Add example for STM32F411 with HW & SW tasks communicating via MPSC channel (#953)
* Add example with HW & SW tasks communicating via MPSC channel

* example: f411-adc-mpcsc: nit: typos

* example: f411-adc-mpsc: prefer text over picture

---------

Co-authored-by: Milton Eduardo Sosa <milton@Miltons-MacBook-Pro.local>
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2024-06-26 17:35:48 +00:00
Milton Eduardo Sosa
35891f4559
Add ADC example for STM32F411 (#952)
* Add ADC example for STM32F411

* Update dependencies

* Update RTIC version

* example: f411-adc: prefer text over picture

* example: f411-adc: nit: typo

---------

Co-authored-by: Milton Eduardo Sosa <milton@Miltons-MacBook-Pro.local>
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2024-06-26 17:35:43 +00:00
Emil Fresk
861a63dbe3 Update embedded-hal-bus to 0.2 and fix portable-atomic features 2024-06-23 09:20:32 +02:00
Henrik Tjäder
918f9c3f13
Breaking change: portable-atomic (#922)
* Atomics: Replace polyfill with portable-atomic

* Update Cargo.lock for examples

* RTIC: portable-atomic: Update changelog

* rtic-monotonics: portable-atomic: Update changelog

* lm3s6965: enable critical-section when testing

* xtask: Enable portable-atomic/critical-section

When dealing with rtic-monotonics

* rtic-monotonics: portable-atomics: Do not disable the ability to fallback

---------

Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2024-06-23 06:45:49 +00:00
dependabot[bot]
9aeae030e7
Update diffy requirement from 0.3.0 to 0.4.0 (#950)
Updates the requirements on [diffy](https://github.com/bmwill/diffy) to permit the latest version.
- [Changelog](https://github.com/bmwill/diffy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bmwill/diffy/commits)

---
updated-dependencies:
- dependency-name: diffy
  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-06-23 06:22:17 +00:00
Emil Fresk
07b460fc0f Fix Default for rtic_sync::signal 2024-06-23 08:05:45 +02:00
Henrik Tjäder
8871c85022 rtic-sync: clippy::new-without-default lint 2024-06-23 08:05:45 +02:00
Henrik Tjäder
d89f91109f xtasks: handle platform flagged as unused 2024-06-23 08:05:45 +02:00
Henrik Tjäder
f3ae9d166d rtic-macros: handle backend flagged as unused 2024-06-23 08:05:45 +02:00
AdinAck
d516d9a214
Add Signal to rtic-sync (#934)
* add signal to rtic-sync

* woops update changelog

* remove example, too comlicated for a doc

TODO: add example to rtic-examples repo

* fix @korken89's issues

* ...remove fence

* fix clippy warnings

* add tests
2024-06-19 18:52:38 +00:00
Emil Fresk
689c4a068e Make rtic-monotonic macros create a public type 2024-06-02 12:34:43 +02:00
Emil Fresk
d06c6eeed7
Cleanup CHANGELOGs for monotonics/time v2 release (#945) 2024-05-29 19:07:43 +00:00
Henri Lunnikivi
9bfd5a3bb2
Improve error output for prios > dispatchers (#943)
* Improve error output for prios > dispatchers

* Update changelog
2024-05-28 06:01:53 +00:00
Foo
6865b69616
add support for nrf52805 (#941) 2024-05-27 11:26:09 +00:00
Emil Fresk
2efdef6029 Fix clippy lints 2024-05-27 11:26:06 +02:00
dependabot[bot]
9989af1b97
Update cassette requirement from 0.2 to 0.3 (#920)
Updates the requirements on [cassette](https://github.com/jamesmunns/cassette) to permit the latest version.
- [Release notes](https://github.com/jamesmunns/cassette/releases)
- [Commits](https://github.com/jamesmunns/cassette/compare/v0.2.1...v0.3.0)

---
updated-dependencies:
- dependency-name: cassette
  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-05-22 17:48:08 +00:00
broke
ed7ed50c25
updated esp32c3 dependency to version 0.22.0 (#937)
* Update Cargo.toml esp32c3 dependency

* fixed esp32c3 example to build with esp32c3=0.22.0 dependency

* added CHANGELOG.md entry for esp32c3 version update
2024-05-22 17:38:20 +00:00
Henrik Tjäder
04b655d4fa
rtic-macros: Template: Include Span (#935) 2024-05-08 19:11:19 +00:00
Hiroaki Yutani
e6dff2c047
Fix another clippy::assign_op_pattern warning (#933) 2024-05-08 18:22:16 +00:00
Hiroaki Yutani
7fd9e6476b
Fix clippy::assign_op_pattern lint (#932) 2024-05-03 06:55:41 +00:00
Emil Fresk
deafcc4382
Make debug asserts into asserts to help find the issue (#931) 2024-05-01 18:33:42 +00:00
Cyril Marpaud
d9a76b6575
fix: typos (#930) 2024-05-01 11:32:08 +00:00
Martins Polakovs
5d05d607ee
Bump rp2040-pac to 0.6 in rtic-monotonics (#905)
* Support rp2040-pac v0.6 in rtic-monotonics

* Add changelog entry

* Fix rp2040_local_i2c_init example
2024-04-21 10:46:29 +00:00
Román Cárdenas Rodríguez
acb9f44642
Use riscv-slic form crates.io (#919)
* use riscv-slic form crates.io

* address comments
2024-04-17 09:12:16 +00:00
dependabot[bot]
a3f40f2f93
Bump peaceiris/actions-gh-pages from 3 to 4 (#915)
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) from 3 to 4.
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases)
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-gh-pages/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peaceiris/actions-gh-pages
  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-04-16 20:34:09 +00:00
dependabot[bot]
66660ac9aa
Bump peaceiris/actions-mdbook from 1 to 2 (#916)
Bumps [peaceiris/actions-mdbook](https://github.com/peaceiris/actions-mdbook) from 1 to 2.
- [Release notes](https://github.com/peaceiris/actions-mdbook/releases)
- [Changelog](https://github.com/peaceiris/actions-mdbook/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-mdbook/compare/v1...v2)

---
updated-dependencies:
- dependency-name: peaceiris/actions-mdbook
  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-04-16 20:33:17 +00:00
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
Henrik Tjäder
e4cc5fd17b
CI: Add ESP32-C3 QEMU support (#914)
* CI: ESP32-C3: QEMU support

* CI: ESP32C3: Script for preparing and running

* CI: gitignore qemu.log

* ESP32-C3: Example sw_and_hw output
2024-04-10 18:35:14 +00:00
Adam Hott
420ca51058
Clean up esp32c3 files with rustfmt (#913)
* Fix incorrect end bracket, moved to after pub fn extra_modules

* Clean up - rtic-macros/src/codegen/bindings/esp32c3.rs
2024-04-10 18:28:48 +00:00
Henrik Tjäder
56a3b9e5c8
CI: docs: Use xtask doc (#901)
* CI: docs: Use xtask doc

* CI: docs: Keep cargo-config

Deleting it was relevant when it defined
which target to build for etc.
2024-04-05 05:22:11 +00:00
onsdagens
906278e310
Adjust esp32c3 codegen, bump pac to 0.21.0 (#906)
* adjust esp32c3 codegen, bump pac to 0.21.0

* add esp32c3 example

* adjust workflow flags

* CI: Fix esp32c3 comment

* esp32c3: Remove commented out git-dep

* CI: Actually check the ESP32-C3 examples

* Autoformat rtic/cargo.toml

---------

Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2024-04-04 09:35:41 +00:00
Franz Dietrich
53ed7bf7ed
fix included examples and markdown(book) (#912)
* fix included examples and markdown(book)

fixes: #911

* fix footnote pre_init

* more example link updates

* Restore pool example name

* Example: pool: Upgrade to heapless v0.8

* Example: pool: thumbv6 unsupported: wild cfg-if

Experiment with multi-backend example contained in the example

* Example: lm3s6965: Updated cargo.lock

* Book: Use cargo xtask for by-example

* Docs: Contributing: cargo xtask

---------

Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2024-04-03 22:01:46 +00:00
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