aboutsummaryrefslogtreecommitdiff
path: root/rtic-monotonics
AgeCommit message (Collapse)Author
2025-11-08Support external SYST clock sourceHEADmainIan McIntyre
Give users the option to configure SYST with an external clock source. By default, the clock source is the core, which keeps us backwards compatible. `_start` has a new input, but since users don't call that function directly, it doesn't seem like a problem to break that public API.
2025-10-20Use `is_multiple_of`datdenkikniet
2025-09-17chore(deps): update riscv requirement from 0.14.0 to 0.15.0dependabot[bot]
Updates the requirements on [riscv](https://github.com/rust-embedded/riscv) to permit the latest version. - [Release notes](https://github.com/rust-embedded/riscv/releases) - [Commits](https://github.com/rust-embedded/riscv/compare/v0.14.0...riscv-v0.15.0) --- updated-dependencies: - dependency-name: riscv dependency-version: 0.15.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2025-09-17Update esp32c{3,6} support to esp-hal-1.0.0-rc.0.Paul Bender
2025-06-30panic if STM32 clock prescaler value overflowsAnton Lazarev
2025-06-30address clippy::uninlined_format_argsAnton Lazarev
2025-06-22Release all cratesEmil Fresk
2025-06-18chore(deps): update esp32c6 requirement from 0.19.0 to 0.20.0dependabot[bot]
--- updated-dependencies: - dependency-name: esp32c6 dependency-version: 0.20.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2025-06-18chore(deps): update riscv requirement from 0.13.0 to 0.14.0dependabot[bot]
Updates the requirements on [riscv](https://github.com/rust-embedded/riscv) to permit the latest version. - [Release notes](https://github.com/rust-embedded/riscv/releases) - [Commits](https://github.com/rust-embedded/riscv/compare/v0.13.0...v0.14.0) --- updated-dependencies: - dependency-name: riscv dependency-version: 0.14.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2025-06-18chore(deps): update esp32c3 requirement from 0.28.0 to 0.29.0dependabot[bot]
--- updated-dependencies: - dependency-name: esp32c3 dependency-version: 0.29.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2025-06-15Update imxrt-ral requirement from 0.5.3 to 0.6.1dependabot[bot]
Updates the requirements on [imxrt-ral](https://github.com/imxrt-rs/imxrt-ral) to permit the latest version. - [Release notes](https://github.com/imxrt-rs/imxrt-ral/releases) - [Changelog](https://github.com/imxrt-rs/imxrt-ral/blob/master/CHANGELOG.md) - [Commits](https://github.com/imxrt-rs/imxrt-ral/compare/0.5.3...0.6.1) --- updated-dependencies: - dependency-name: imxrt-ral dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2025-06-15Add all the timers to the list in lib.rs.Jonathan 'theJPster' Pallant
2025-06-15Add details for all the other monotonic implementations.Jonathan 'theJPster' Pallant
2025-06-15More details about the arguments for the systick API.Jonathan 'theJPster' Pallant
2025-06-15Improved example and comments for the systick! macro.Jonathan 'theJPster' Pallant
2025-06-15docs: Monotonics: Highlight rtic-time is usedHenrik Tjäder
2025-06-15docs: Monotonics crates: Fix old copy-pasteHenrik Tjäder
2025-04-07Bump ESP versionsEli Hastings
2025-04-07Use PLIC_MX instead of INTPRI to set interrupt prioritiesEli Hastings
This doesn't fix the GPIO interrupt triggering during a higher priority CPU task, but does fix rtic-monotonics. I am unsure how to fix the former as PLIC_MX doesn't have a function like `cpu_intr_from_cpu_x` to pend/unpend CPU interrupts, and if the CPU interrupts are enabled with PLIC_MX instead of INTPRI then the MCU just hangs when there is a CPU interrupt.
2025-04-07Port ESP32-C3 changes to ESP32-C6 branchEli Hastings
2025-04-07Added CHANGELOG entryWouter Geraedts
2025-04-03Placate clippydatdenkikniet
2025-03-26Update esp32c3 to 0.28.0Ronald Weber
2025-03-23rtic: placate clippy for esp32c3datdenkikniet
2025-02-09Update esp32-c3 and esp-hal crates (#1019)Ronald Weber
* Bump esp32-c3 to 0.27.0 * Update esp-hal to 0.23.1 * Add Changelog entry
2025-01-24ATSAMD RTC monotonic referral in documentation (#1014)Dan Whitman
* rtic-monotonics: Adds a section to the module documentation about ATSAMD chip monotonics provided in the `atsamd-hal` crate * rtic-monotonics: Adds a section to README listing the supported microcontroller platforms. * rtic-sync: Fix clippy complaints error: the following explicit lifetimes could be elided: 'a --> rtic-sync/src/signal.rs:113:6 | 113 | impl<'a, T: Copy> SignalReader<'a, T> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `-D clippy::needless-lifetimes` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(clippy::needless_lifetimes)]` help: elide the lifetimes | 113 - impl<'a, T: Copy> SignalReader<'a, T> { 113 + impl<T: Copy> SignalReader<'_, T> { * xtask: Clippy fix warning warning: elided lifetime has a name --> xtask/src/cargo_command.rs:427:14 | 420 | fn build_args<'i, T: Iterator<Item = &'i str>>( | -- lifetime `'i` declared here ... 427 | ) -> Vec<&str> { | ^ this elided lifetime gets resolved as `'i` | = note: `#[warn(elided_named_lifetimes)]` on by default --------- Co-authored-by: Dan Whitman <daniel.whitman.2@us.af.mil> Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2025-01-22monotonics add readme (#1012)Henrik Tjäder
* rtic-monotonics: Add README * rtic-monotonics: Add links to changelog
2025-01-15rtic-monotonics: rp2040 extra parenthesis (#1010)Henrik Tjäder
2024-11-27bump esp32c3 (#997)MikeGstefan
* bump esp32-c3 * update changelog and example * rtic-monotonics: update esp32c3 to v0.26 --------- Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2024-10-24Release rtic-monotonics 2.0.3Emil Fresk
2024-10-23[monotonics] Fix STM32 read-modify-write race condition (#984)Finomnis
* Fix stm32 read-modify-write problem The `SR` register for STM32 clears when writing a zero to a bit. Therefore, all registers that should not be cleared need to be `1`. `modify` here caused a read-modify-write error that could clear unrelated flags. * Add changelog * Make initialization more deterministic * Update changelog * Beautification in comments --------- Co-authored-by: Martin Stumpf <martin.stumpf@vected.de>
2024-10-23rtic-monotonics: Improve docs on interrupt priorityEmil Fresk
2024-10-23Update riscv requirement from 0.11.0 to 0.12.1 (#982)dependabot[bot]
--- 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-10-16Update support/example for ESP32-C3 to use latest versions of dependencies ↵Jesse Braham
(#975) * Update `rtic` package to use latest version of `esp32c3` dependency * Update `rtic-macros` ESP32-C3 bindings to reflect changes in HAL * Update the ESP32-C3 examples to use latest versions of all dependencies * Update changelogs * adjust expected qemu output, add compile-time checks * remove runtime checks, this is checked at compile time * fix expected qemu output * Clean up interrupt enable code a bit * Update `rtic-monotonic` to use the latest PAC for ESP32-C3 * Update `CHANGELOG.md` for `rtic-monotonic` * ci: esp32c3: Format runner.sh * ci: esp32c3: Default to silent boot export DEBUGGING while running to get verbose boot env DEBUGGING=1 cargo xtask ... * ci: esp32c3: Update expected example output --------- Co-authored-by: onsdagens <pawdzi-7@student.ltu.se> Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2024-09-29Add SYSTIMER based ESP32-C3 monotonic (#972)onsdagens
* add esp32c3 monotonic * fix tests
2024-09-29Feature/rp235x (#970)Michael Zill
* Add support for RP235x (Raspberry Pico 2) The xtask build system has not been updated therefor the components need to be build through Cargo * Remove unnecessary thumbv8mainhf-backend definition * Remove unnecessary thumbv8m.main-none-eabihf target * Update CHANGELOG * Remove default feature rp235x from rtic-monotonics * Remove features from rp235x-pac dependency in rtic-monotonics for rp235x
2024-09-18Fix for system_monotonic macro with 1 argument (#978)Robin Mueller
2024-09-18update docs (#977)Robin Mueller
Add notice for systems without native CAS operations
2024-08-07Fix CI with 1.80Emil Fresk
2024-07-06Release rtic-monotonics v2.0.2Emil Fresk
2024-07-05Fix STM32 Monotonic for peripherals with only two Clock Compare modules (#960)Finomnis
* 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-06-23Breaking change: portable-atomic (#922)Henrik Tjäder
* 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-02Make rtic-monotonic macros create a public typeEmil Fresk
2024-05-29Cleanup CHANGELOGs for monotonics/time v2 release (#945)Emil Fresk
2024-05-27add support for nrf52805 (#941)Foo
2024-04-21Bump rp2040-pac to 0.6 in rtic-monotonics (#905)Martins Polakovs
* Support rp2040-pac v0.6 in rtic-monotonics * Add changelog entry * Fix rp2040_local_i2c_init example
2024-04-10Monotonic rewrite (#874)Finomnis
* 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-03-20RISC-V support over CLINT (#815)Román Cárdenas Rodríguez
* 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-02-27Make RTIC 2 work on stable by using `main`'s stack as an allocatorEmil Fresk
2024-02-23Fix nightly compiler CI failureEmil Fresk