Commit graph

1094 commits

Author SHA1 Message Date
Emil Fresk
0e9375ced3 Test on all cores 2022-03-19 16:50:21 +01:00
Emil Fresk
ca2577e3b8 Embedded ci works 2022-03-05 11:14:36 +01:00
bors[bot]
a765f3fffa
Merge #589
589: Fine grained concurrency on thumbv6m (no BASEPRI). r=korken89 a=perlindgren

This is an experimental implementation of SRP based scheduling on the M0/M0+ (thumbv6m) architecture. 

The aim is a (sub)-zero abstraction to the resource protection (locking mechanism).

Please try, but not merge yet, since its an early POC. 

Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
2022-03-04 15:20:26 +00:00
Per Lindgren
f86dab5ff3 Added support for SRP based scheduling for armv6m 2022-03-02 13:23:47 +01:00
bors[bot]
790b074e18
Merge #620
620: Add CHANGELOG instructions and fix incorrectly placed item r=korken89 a=AfoHT



Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-03-01 18:24:46 +00:00
bors[bot]
2e4cbe9df5
Merge #617
617: Clippy with pedantic suggestions r=korken89 a=AfoHT



Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-03-01 17:44:02 +00:00
Henrik Tjäder
71d953f0e5 Add CHANGELOG instructions and fix incorrectly placed item 2022-02-22 19:34:54 +01:00
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
7eaf732c4c Provide Mutex relative to prelude to fix doc linking issues coming from rtic-core 2022-02-20 11:57:31 +01: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
bors[bot]
c3dd044c57
Merge #609
609: action-rs tool-cache is deprecated, always failing r=perlindgren a=AfoHT



Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-02-15 19:16:01 +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
bors[bot]
886183066d
Merge #614
614: CHANGELOG merge=union r=perlindgren a=AfoHT



Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-02-15 18:56:47 +00:00
bors[bot]
9fb51f2cdd
Merge #610 #613
610: GHA: Print current crate version too r=perlindgren a=AfoHT



613: Docs: fix link r=perlindgren a=AfoHT



Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-02-15 18:52:20 +00:00
Henrik Tjäder
5f3c5f7f2c CHANGELOG merge=union 2022-02-15 19:51:54 +01:00
Henrik Tjäder
48d100bd1d Docs: fix link 2022-02-15 18:30:54 +01:00
bors[bot]
5a186feb16
Merge #603
603: Add a remark about `Sync` and `Send` traits requirement for resources r=AfoHT a=Glaeqen



Co-authored-by: Gabriel Górski <glaeqen@gmail.com>
2022-02-11 08:41:53 +00:00
Henrik Tjäder
a3aa3ace1c GHA: Print current crate version too 2022-02-10 10:40:49 +01:00
bors[bot]
a98058c2a0
Merge #607
607: Docs: Fix dated migration docs for spawn r=korken89 a=AfoHT



Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-02-10 09:26:59 +00:00
Henrik Tjäder
a8a55a3913 Docs: Fix dated migration docs for spawn 2022-02-10 10:25:50 +01:00
bors[bot]
a11cba66d4
Merge #606
606: GHA: Automatic merge to release/vX r=perlindgren a=AfoHT

- Require clippy for deploy
- GHA: Automatic merge to release/vX
- Link dev-book to stable if they are describe the same release
- Update CHANGELOG

Development work is done in the master branch

Older versions previously were found in v0.5.x, v0.4.x branches.
Now with v1 released, and any breaking change forcing a v2,
a need to streamline documentation building arose.

The different docs:

- rtic.rs
  - latest stable (v1)
    - API documentation
    - RTIC book
  - old stable (v0.5)
    - API documentation
    - RTIC book
  - oldold stable (v0.4)
    - API documentation
    - RTIC book

- docs.rs
  - all previous crates.io releases
    - API documentation

With this PR, when a pull request gets merged to master
with CI passing the current master branch gets merged
to `release/v$VERSION` where `$VERSION` is parsed from
cargo metadata of cortex-m-rtic.

The deployment of docs GHA job is dependent on this merge job,
and therefore the docs published to rtic.rs will contain the latest
content from the merged PR.

Assuming the current situation where `v1` is the latest stable,
a PR should trigger a merge to `release/v1` and then docs gets pushed
to `gh-pages` branch (rtic.rs).

For the future, when the latest stable is still `v1`, but the current
dev version in `master` branch is `v2` the GHA job will push to `release/v2` (dev branch).

For the future we might decide if this push of the dev branch is desirable.

If the current stable version and dev version share the same major version,
the dev book redirection on rtic.rs will point to the stable book instead.


Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-02-10 08:58:34 +00:00
Henrik Tjäder
4d3758a6b2 Update CHANGELOG 2022-02-10 09:54:15 +01:00
Henrik Tjäder
780b3672ca Link dev-book to stable if they are describe the same release 2022-02-10 09:54:14 +01:00
Henrik Tjäder
4a7951121d GHA: Automatic merge to release/vX 2022-02-10 09:54:14 +01:00
Henrik Tjäder
78bdab6bf1 Require clippy for deploy 2022-02-10 09:54:14 +01:00
bors[bot]
e65ca34471
Merge #605
605: GHA: Tune CI r=AfoHT a=AfoHT

- GHA: Use rust-cache
- GHA: Cleanup single target jobs
- GHA: Add cargo clippy


Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-02-10 08:36:43 +00:00
Henrik Tjäder
578cc903c9 Add bors/* to branches 2022-02-10 09:26:46 +01:00
Henrik Tjäder
e9675c9a61 Update CHANGELOG 2022-02-10 09:09:55 +01:00
Henrik Tjäder
099544f655 Fix/mute clippy errors 2022-02-09 18:58:50 +01:00
Henrik Tjäder
10ec36b443 GHA: Add cargo clippy 2022-02-09 18:49:50 +01:00
Henrik Tjäder
b42abe1b4f GHA: Cleanup single target jobs 2022-02-09 18:49:50 +01:00
Henrik Tjäder
0f903f60bd GHA: Use rust-cache 2022-02-09 18:49:49 +01:00
bors[bot]
1464898291
Merge #604
604: docs: make mdBook emit error codes r=korken89 a=AfoHT



Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-02-09 17:33:19 +00:00
Henrik Tjäder
120d310934 Demote Russian translation to WIP 2022-02-09 17:59:00 +01:00
Henrik Tjäder
532765719f docs: make mdBook emit error codes 2022-02-09 17:45:52 +01:00
Gabriel Górski
44f994dea2 Add a remark about Sync and Send traits requirement for resources 2022-02-08 19:25:24 +01:00
bors[bot]
ab26a1e185
Merge #602
602: book: Restore accidentally removed files r=korken89 a=AfoHT

- book: Restore accidentally removed files
- Update changelog


Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-02-08 18:09:45 +00:00
Henrik Tjäder
7af09cb126 book: Restore accidentally removed files 2022-02-08 19:08:29 +01:00
bors[bot]
5adee8d3f9
Merge #601
601: Make bors run r=AfoHT a=korken89



Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2022-02-07 08:30:32 +00:00
Emil Fresk
d161938138 Make bors run 2022-02-07 09:28:47 +01:00
bors[bot]
84a8225d11
Merge #599
599: Docs: SW and HW tasks r=korken89 a=AfoHT

Reword and (hopefully) clarify SW and HW tasks

Closes #576


Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2022-02-07 07:57:11 +00:00
bors[bot]
3bb41ab039
Merge #598
598: CONTRIBUTION.md now includes CI prep. r=korken89 a=AfoHT

Split out from Per’s previous work in `lockall` branch with some minor updates


Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
2022-02-07 07:52:36 +00:00
Henrik Tjäder
a39d306649 Docs: SW and HW tasks 2022-02-05 13:38:01 +01:00
Per Lindgren
9c559df22e CONTRIBUTION.md now includes CI prep. 2022-02-05 12:45:36 +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
bors[bot]
686cfa066a
Merge #595
595: Update tips_monotonic_impl.md r=AfoHT a=jordens

* There is no RTIC 0.6, only several RCs.
* Timers without interrupts (like the DWT cycle counter alone) will not be useful for `Monotonic` impls.
* Clarified some of the descriptions of the various implementations.

Close #597 
Close #594

Co-authored-by: Robert Jördens <rj@quartiq.de>
2022-02-04 19:26:05 +00:00
Robert Jördens
b855c1bc9b add changelog entry 2022-02-04 20:09:32 +01:00