Commit graph

66 commits

Author SHA1 Message Date
Henrik Tjäder
5ed93bd1bf Clippy with pedantic suggestions 2022-02-22 18:56:21 +01:00
bors[bot]
57da1e0403
Merge #616
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-22 17:47:48 +00:00
Henrik Tjäder
2c14c9bce3 rtic::mutex::prelude::* fixes glob import lint
rtic-core Mutex, Exclusive and multi-lock retained in
old location to not be backwards breaking
2022-02-18 18:42:19 +01:00
bors[bot]
110a82f7b6
Merge #608
608: Debug bors r=perlindgren a=AfoHT



Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-02-15 19:25:56 +00:00
Henrik Tjäder
da25327226 Create tiny change 2022-02-15 20:08:38 +01:00
Henrik Tjäder
dfb6e36311 action-rs tool-cache is deprecated, always failing 2022-02-15 20:08:18 +01:00
Henrik Tjäder
5f3c5f7f2c CHANGELOG merge=union 2022-02-15 19:51:54 +01:00
Henrik Tjäder
a8a55a3913 Docs: Fix dated migration docs for spawn 2022-02-10 10:25:50 +01:00
Henrik Tjäder
4d3758a6b2 Update CHANGELOG 2022-02-10 09:54:15 +01:00
Henrik Tjäder
e9675c9a61 Update CHANGELOG 2022-02-10 09:09:55 +01:00
Henrik Tjäder
532765719f docs: make mdBook emit error codes 2022-02-09 17:45:52 +01:00
Henrik Tjäder
7af09cb126 book: Restore accidentally removed files 2022-02-08 19:08:29 +01:00
bors[bot]
9f8248a0c9
Merge #593
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-05 09:52:26 +00:00
Robert Jördens
b855c1bc9b add changelog entry 2022-02-04 20:09:32 +01:00
Henrik Tjäder
9f54b4aca8 RTIC macro expansion: Try to find target-dir 2022-01-28 21:21:06 +01:00
Per Lindgren
305e8295d5 Drift free timing examples 2022-01-04 22:21:57 +01:00
Emil Fresk
5d645b1311 Added changelog enforcer 2022-01-03 18:37:54 +01:00
Henrik Tjäder
2b90cd3433 Bump version to 1.0.0 2021-12-25 14:59:27 +01:00
Henrik Tjäder
d81a4da6fb Update changelog 2021-12-14 22:26:16 +01:00
Emil Fresk
5ab5112271 Update versions and changelog 2021-11-09 11:12:04 +01:00
Henrik Tjäder
f7d4b5dc70 CHANGELOG: Add links to v0.6.x 2021-11-08 20:40:59 +01:00
Henrik Tjäder
1438a5b0ea Update changelog from v0.5.x branch 2021-11-08 20:28:57 +01:00
Henrik Tjäder
eb345b7dbb Update CHANGELOG 2021-11-08 18:39:09 +01:00
Emil Fresk
552be420cb Prepare rc.2 release 2021-09-28 10:56:36 +02:00
Emil Fresk
ea8efa4831 Preparing 0.6.0-rc.1 2021-09-27 15:40:21 +02:00
Emil Fresk
f3d9fd9b63 Update changelog and version 2021-07-09 12:54:19 +02:00
Emil Fresk
e8676daeb9 Fixed changelog 2021-05-28 09:07:21 +02:00
Emil Fresk
c17348d290 Prepare release alpha.4 2021-05-27 18:10:24 +02:00
Emil Fresk
cfd0c6ca26 0.6.0-alpha.2 release 2021-04-08 10:33:40 +02:00
Emil Fresk
9cbe639ebf Updated changelog, use released version of rtic-core 2020-11-14 16:16:45 +01:00
Henrik Tjäder
1208e59083 Update the Changelog 2020-11-14 12:58:49 +00:00
Per Lindgren
96cd625223 extern task 2020-10-29 19:29:46 +01:00
Henrik Tjäder
1b99ca6b10 Updating the changelog 2020-10-23 22:19:12 +00:00
Per Lindgren
1c244a995d move dispatchers to app argument 2020-10-23 23:58:09 +02:00
Emil Fresk
697ee6e14c Preparing v0.5.5 release 2020-08-27 14:53:50 +02:00
Emil Fresk
5711a2472d Preparing for 0.5.4 release 2020-08-26 12:41:39 +02:00
Emil Fresk
95032aa56b Updated CHANGELOG 2020-06-12 09:51:09 +02:00
Emil Fresk
7030d23d63 Preparing for v0.5.3 2020-06-12 09:32:43 +02:00
Henrik Tjäder
602a5b4374 Rename RTFM to RTIC 2020-06-11 17:18:29 +00:00
Emil Fresk
1be9d0067b Prepare for v0.5.2 release 2020-06-11 18:57:56 +02:00
Emil Fresk
370cd54971 Preparation for v0.5.1 2019-11-19 15:46:07 +01:00
Per Lindgren
dfab15ed78 Fixed internal overflow on subtraiton in elapsed and duration 2019-11-18 16:36:17 +01:00
Jorge Aparicio
4fcb6ab7cc v0.5.0 final release 2019-11-14 17:47:17 -05:00
Jorge Aparicio
eef4e7bf79 more monotonic timer docs
covers

- initialization and configuration of the timer; this is now a responsibility of
  the application author
- correctness of `Monotonic::now()` in `#[init]`
- safety of `Monotonic::reset()`

closes #251
2019-10-15 18:44:49 -05:00
Jorge Aparicio
eb2ec7a4c8 v0.5.0 beta release 2019-10-15 16:35:00 -05:00
Jorge Aparicio
fa3872a7f6 update the CHANGELOG
also fix link to the older documentation
2019-09-17 19:47:29 +02:00
Jorge Aparicio
a452700628 implement RFCs 147 and 155, etc.
This commit:

- Implements RFC 147: "all functions must be safe"

- Implements RFC 155: "explicit Context parameter"

- Implements the pending breaking change #141: reject assign syntax in `init`
  (which was used to initialize late resources)

- Refactors code generation to make it more readable -- there are no more random
  identifiers in the output -- and align it with the book description of RTFM
  internals.

- Makes the framework hard depend on `core::mem::MaybeUninit` and thus will
  require nightly until that API is stabilized.

- Fixes a ceiling analysis bug where the priority of the system timer was not
  considered in the analysis.

- Shrinks the size of all the internal queues by turning `AtomicUsize` indices
  into `AtomicU8`s.

- Removes the integration with `owned_singleton`.
2019-05-01 20:49:25 +02:00
Jorge Aparicio
a562fb3232 v0.4.3 2019-04-21 18:20:57 +02:00
Jorge Aparicio
3310f507c0 v0.4.2 2019-02-27 00:56:56 +01:00
Jorge Aparicio
4742da94e7 changelog: note that new syntax is documented in the book 2019-02-12 17:28:16 +01:00