| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-07-27 | Merge #652 | bors[bot] | |
| 652: Remove use of basepri register on thumbv8m.base r=AfoHT a=neonquill The basepri register appears to be aviable on thumbv8m.main but not thumbv8m.base. At the very least, attempting to compile against a Cortex-M23 based Microchip ATSAML10E16A generates an error: ``` error[E0432]: unresolved import `cortex_m::register::basepri` --> /Users/dwatson/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rtic-1.1.3/src/export.rs:25:5 | 25 | use cortex_m::register::basepri; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `basepri` in `register` ``` I wasn't sure if it made more sense to replace the `armv7m` config flag with something related to basepri availability or to get closer to matching the cortex-m use of several architecture specific flags. In the end i chose to make the minimal change possible and just narrowed the existing `thumbv8m` check. Context: [cortex-m:src/register/mod.rs](https://github.com/rust-embedded/cortex-m/blob/4e908625204a1e95dd3fd5bdcd8d66d6bc11c3bc/src/register/mod.rs#L33): ``` #[cfg(all(not(armv6m), not(armv8m_base)))] pub mod basepri; ``` [cortex-m:build.rs](https://github.com/rust-embedded/cortex-m/blob/4e908625204a1e95dd3fd5bdcd8d66d6bc11c3bc/build.rs#L21): ``` } else if target.starts_with("thumbv8m.base") { println!("cargo:rustc-cfg=cortex_m"); println!("cargo:rustc-cfg=armv8m"); println!("cargo:rustc-cfg=armv8m_base"); ``` Co-authored-by: David Watson <david@neonquill.com> | |||
| 2022-07-27 | Remove use of basepri register on thumbv8m.base | David Watson | |
| The basepri register appears to be aviable on thumbv8m.main but not thumbv8m.base. At the very least, attempting to compile against a Cortex-M23 based Microchip ATSAML10E16A generates an error: ``` error[E0432]: unresolved import `cortex_m::register::basepri` --> /Users/dwatson/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rtic-1.1.3/src/export.rs:25:5 | 25 | use cortex_m::register::basepri; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `basepri` in `register` ``` This is an attempt to account for the fact that thumbv8m.base (M23) MCUs don't have the BASEPRI register but have more than 32 interrupts. This moves away from the architecture specific config flags and switches to a more functional flag. Make the mask size depend on the max interrupt id Rather than assuming a fixed interrupt count of 32 this code uses an array of u32 bitmasks to calculate the priority mask. The size of this array is calculated at compile time based on the size of the largest interrupt id being used in the target code. For thumbv6m this should be equivalent to the previous version that used a single u32 mask. For thumbv8m.base it will be larger depending on the interrupts used. Don't write 0s to the ISER and ICER registers Writing 0s to these registers is a no-op. Since these masks should be calculated at compile time, this conditional should result in writes being optimized out of the code. Prevent panic on non-arm targets Panicking on unknown targets was breaking things like the doc build on linux. This change should only panic when building on unknown arm targets. | |||
| 2022-07-27 | Update CHANGELOG.md | Gabriel Górski | |
| 2022-06-23 | Release RTIC v1.1.3 | Henrik Tjäder | |
| 2022-06-23 | Bump rtic-syntax to v1.0.2 and fix Changelog | Henrik Tjäder | |
| 2022-05-09 | Prepare v1.1.2 | Emil Fresk | |
| 2022-04-20 | Masks take 3 | Emil Fresk | |
| 2022-04-13 | Fixed `macro` version | Emil Fresk | |
| 2022-04-13 | Release RTIC v1.1 | Henrik Tjäder | |
| Bump versions, including using using latest rtic-syntax | |||
| 2022-03-02 | Added support for SRP based scheduling for armv6m | Per Lindgren | |
| 2022-03-01 | Merge #620 | bors[bot] | |
| 620: Add CHANGELOG instructions and fix incorrectly placed item r=korken89 a=AfoHT Co-authored-by: Henrik Tjäder <henrik@grepit.se> | |||
| 2022-02-22 | Add CHANGELOG instructions and fix incorrectly placed item | Henrik Tjäder | |
| 2022-02-22 | Clippy with pedantic suggestions | Henrik Tjäder | |
| 2022-02-22 | Merge #616 | bors[bot] | |
| 616: rtic::mutex::prelude::* fixes glob import lint r=korken89 a=AfoHT Running cargo Clippy with pedantic rules denied ``` cargo clippy -- --deny clippy::pedantic ``` it will complain: ``` error: usage of wildcard import | 16 | use rtic::mutex_prelude::*; | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `rtic::mutex_prelude::{Mutex, TupleExt01, TupleExt02, TupleExt03, TupleExt04, TupleExt05, TupleExt06, TupleExt07, TupleExt08, TupleExt09, TupleExt10, TupleExt11, TupleExt12, TupleExt13, TupleExt14, TupleExt15, TupleExt16, TupleExt17, TupleExt18, TupleExt19, TupleExt20, TupleExt21, TupleExt22, TupleExt23, TupleExt24, TupleExt25, TupleExt26, TupleExt27, TupleExt28, TupleExt29, TupleExt30, TupleExt31, TupleExt32}` | = note: `-D clippy::wildcard-imports` implied by `-D clippy::pedantic` = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_imports error: could not compile --- due to previous error Error: command `cargo clippy -- --deny clippy::all --deny clippy::pedantic` failed, exit status: 101 ``` Looking at the Clippy [wildcard-imports rule](https://rust-lang.github.io/rust-clippy/master/#wildcard_imports) the exception is for wildcards on modules named prelude. Thus, `prelude::*` is OK. Current state: `use rtic-core::prelude as mutex_prelude` almost fits the bill, but `mutex_prelude != prelude`. As this was part of user facing API I don’t think we can remove the current setup, so rtic-core `Mutex`, `Exclusive` and multi-lock `TupleExt0X` retained in old location to be backwards compatible. Co-authored-by: Henrik Tjäder <henrik@grepit.se> | |||
| 2022-02-18 | rtic::mutex::prelude::* fixes glob import lint | Henrik Tjäder | |
| rtic-core Mutex, Exclusive and multi-lock retained in old location to not be backwards breaking | |||
| 2022-02-15 | Merge #608 | bors[bot] | |
| 608: Debug bors r=perlindgren a=AfoHT Co-authored-by: Henrik Tjäder <henrik@grepit.se> | |||
| 2022-02-15 | Create tiny change | Henrik Tjäder | |
| 2022-02-15 | action-rs tool-cache is deprecated, always failing | Henrik Tjäder | |
| 2022-02-15 | CHANGELOG merge=union | Henrik Tjäder | |
| 2022-02-10 | Docs: Fix dated migration docs for spawn | Henrik Tjäder | |
| 2022-02-10 | Update CHANGELOG | Henrik Tjäder | |
| 2022-02-10 | Update CHANGELOG | Henrik Tjäder | |
| 2022-02-09 | docs: make mdBook emit error codes | Henrik Tjäder | |
| 2022-02-08 | book: Restore accidentally removed files | Henrik Tjäder | |
| 2022-02-05 | Merge #593 | bors[bot] | |
| 593: RTIC macro expansion: Try to find target-dir r=korken89 a=AfoHT Seems over-engineered, but for projects where ``` [build] target-dir = "target" ``` is set to anything other than default `target` RTIC did simply not produce any `rtic-expansion.rs`. This changes the approach to not giving up if not finding `target/` by looking at `OUT_DIR` and traversing back until `TARGET` is found. As the `TARGET` target-triple variable is not available, approximate the `TARGET` folder (found in `target-dir`) with `s.starts_with("thumbv")`. `target-dir` as set in `.cargo/config` will now be the parent directory of the `Path` ending with `TARGET` ## Example running with default target: ``` cortex-m-rtic on expansionoutdir [$!?] is 📦 v1.0.0 via R v1.58.0 took 4s ❯ cargo build --example spawn --target thumbv7em-none-eabihf OUT_DIR "/home/henrik/rust/rtic/cortex-m-rtic/target/thumbv7em-none-eabihf/debug/build/cortex-m-rtic-5bd81e8412a790d5/out" target/ exists Write file: target/rtic-expansion.rs Finished dev [unoptimized + debuginfo] target(s) in 7.20s ``` ## Contrived example With `.cargo/config` containing: ``` [build] target-dir = "/tmp/cargothingy/../rust/./target/cargo"` ``` ``` cortex-m-rtic on expansionoutdir [$!?] is 📦 v1.0.0 via R v1.58.0 took 3s ❯ cargo build --example spawn --target thumbv7em-none-eabihf OUT_DIR "/tmp/cargothingy/../rust/./target/cargo/thumbv7em-none-eabihf/debug/build/cortex-m-rtic-5bd81e8412a790d5/out" "/tmp/cargothingy/../rust/./target/cargo" Write file: /tmp/cargothingy/../rust/./target/cargo/rtic-expansion.rs Finished dev [unoptimized + debuginfo] target(s) in 6.42s ``` ## Less extreme with relative paths ``` [build] target-dir = "../../cargothingy/target/buildfiles/and-stuff" ``` ``` OUT_DIR "/home/henrik/rust/rtic/cortex-m-rtic/../../cargothingy/target/buildfiles/and-stuff/thumbv7em-none-eabihf/debug/build/cortex-m-rtic-5bd81e8412a790d5/out" "/home/henrik/rust/rtic/cortex-m-rtic/../../cargothingy/target/buildfiles/and-stuff" Write file: /home/henrik/rust/rtic/cortex-m-rtic/../../cargothingy/target/buildfiles/and-stuff/rtic-expansion.rs Finished dev [unoptimized + debuginfo] target(s) in 6.78s ``` Note: If the user creates a folder named target in the same directory where `Cargo.toml`/crate root is, that will be used for storing the expansion. ``` <...> OUT_DIR "/home/henrik/rust/rtic/cortex-m-rtic/../../cargothingy/target/buildfiles/and-stuff/thumbv7em-none-eabihf/debug/build/cortex-m-rtic-5bd81e8412a790d5/out" target/ exists Write file: target/rtic-expansion.rs Finished dev [unoptimized + debuginfo] target(s) in 6.62s ``` Co-authored-by: Henrik Tjäder <henrik@grepit.se> | |||
| 2022-02-04 | add changelog entry | Robert Jördens | |
| 2022-01-28 | RTIC macro expansion: Try to find target-dir | Henrik Tjäder | |
| 2022-01-04 | Drift free timing examples | Per Lindgren | |
| 2022-01-03 | Added changelog enforcer | Emil Fresk | |
| 2021-12-25 | Bump version to 1.0.0 | Henrik Tjäder | |
| 2021-12-14 | Update changelog | Henrik Tjäder | |
| 2021-11-09 | Update versions and changelog | Emil Fresk | |
| 2021-11-08 | CHANGELOG: Add links to v0.6.x | Henrik Tjäder | |
| 2021-11-08 | Update changelog from v0.5.x branch | Henrik Tjäder | |
| 2021-11-08 | Update CHANGELOG | Henrik Tjäder | |
| 2021-09-28 | Prepare rc.2 release | Emil Fresk | |
| 2021-09-27 | Preparing 0.6.0-rc.1 | Emil Fresk | |
| 2021-07-09 | Update changelog and version | Emil Fresk | |
| 2021-05-28 | Fixed changelog | Emil Fresk | |
| 2021-05-27 | Prepare release alpha.4 | Emil Fresk | |
| 2021-04-08 | 0.6.0-alpha.2 release | Emil Fresk | |
| 2020-11-14 | Updated changelog, use released version of rtic-core | Emil Fresk | |
| 2020-11-14 | Update the Changelog | Henrik Tjäder | |
| 2020-10-29 | extern task | Per Lindgren | |
| 2020-10-23 | Updating the changelog | Henrik Tjäder | |
| 2020-10-23 | move dispatchers to app argument | Per Lindgren | |
| 2020-08-27 | Preparing v0.5.5 release | Emil Fresk | |
| 2020-08-26 | Preparing for 0.5.4 release | Emil Fresk | |
| 2020-06-12 | Updated CHANGELOG | Emil Fresk | |
| 2020-06-12 | Preparing for v0.5.3 | Emil Fresk | |
