Commit graph

328 commits

Author SHA1 Message Date
bors[bot]
bc883e393d
Merge #565 #566
565: Edition: Bump to 2021 r=korken89 a=AfoHT



566: v1.0.0 r=korken89 a=AfoHT

This should fail building until all deps are released and accessible on crates.io

(There are some required PRs for edition2021 for each repo, alternatively just bringing in the v1.0 PR should have commits included, we can drop the extra PRs later on)

https://github.com/rtic-rs/rtic-monotonic/pull/6
https://github.com/rtic-rs/rtic-core/pull/22
https://github.com/rtic-rs/rtic-syntax/pull/68


Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2021-12-25 15:05:26 +00:00
Henrik Tjäder
2b90cd3433 Bump version to 1.0.0 2021-12-25 14:59:27 +01:00
Henrik Tjäder
c297b4ee8d Clippy lints 2021-12-25 13:17:16 +01:00
Henrik Tjäder
8c8f7f12c3 Idle: Switch to NOP instead of WFI
Add example how to get old WFI behaviour
2021-12-14 22:18:17 +01:00
Henrik Tjäder
3741d431be Remove #[deny(warnings)], but deny warnings for CI 2021-11-25 10:46:29 +01:00
Henrik Tjäder
2e5c6f8e36 Docs: add RTIC logo 2021-11-25 10:06:58 +01:00
Emil Fresk
6f2aa08910 Better errors on when missing to lock shared resources 2021-11-11 14:22:47 +01:00
bors[bot]
b4929032d5
Merge #547
547: New monotonic trait r=AfoHT a=korken89



Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-11-09 10:15:11 +00:00
Emil Fresk
5ab5112271 Update versions and changelog 2021-11-09 11:12:04 +01:00
bors[bot]
4f3c5baf49
Merge #549
549: fix #543 r=korken89 a=andrewgazelka

The remaining PR to fix #543 alongside https://github.com/rtic-rs/rtic-syntax/pull/58

Co-authored-by: Andrew Gazelka <andrew.gazelka@gmail.com>
2021-11-09 09:52:28 +00:00
Emil Fresk
0dcb0c4e49 New monotonic trait working 2021-11-09 10:20:43 +01:00
Henrik Tjäder
0492d98916 Bump version to 0.6.0-rc.3 2021-11-08 20:42:04 +01:00
Henrik Tjäder
03af9b1994 Match new rtic-syntax naming of shared and local 2021-11-07 00:42:57 +01:00
Andrew Gazelka
fb092aa65a
fix #543 2021-11-03 13:01:53 -07:00
Emil Fresk
50017b96f0 Fixed aliasing in lock impl 2021-11-03 08:27:05 +01:00
Emil Fresk
d3d66c97ae Cleanup of resource initialization, no need to dereference 2021-11-03 08:26:45 +01:00
Emil Fresk
8065d741ac Fixed aliasing issue due to RacyCell implementation 2021-11-02 13:41:12 +01:00
bors[bot]
ca9088a78b
Merge #539
539: Prepare rc.2 release r=AfoHT a=korken89



Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-09-28 09:20:00 +00:00
Emil Fresk
552be420cb Prepare rc.2 release 2021-09-28 10:56:36 +02:00
Emil Fresk
7c6588e6bd Fix export of SYST 2021-09-28 10:38:22 +02:00
Emil Fresk
ea8efa4831 Preparing 0.6.0-rc.1 2021-09-27 15:40:21 +02:00
Emil Fresk
9a0d27a91e Updated codegen for the updated syntax (default monotonic priority) 2021-09-27 12:10:42 +02:00
Emil Fresk
b71df58f2f The great docs update 2021-09-23 16:11:04 +02:00
bors[bot]
bf9df9fe73
Merge #525
525: Cleanup export and actually use rtic::export, made fn init inline r=perlindgren a=korken89



Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-09-14 17:17:33 +00:00
Emil Fresk
addb086070 Cleanup export and actually use rtic::export, made fn init inline 2021-09-14 16:13:28 +02:00
Jorge Aparicio
38bd29779e style fix 2021-08-31 19:53:55 +02:00
Jorge Aparicio
1a49d67490 validate unused dispatchers
closes #521
2021-08-31 19:50:50 +02:00
bors[bot]
22ec841ee1
Merge #516
516: More rustanalyzer lint fixes r=korken89 a=korken89

Found some more

Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-08-20 07:27:07 +00:00
Emil Fresk
52dc324aa7 More rustanalyzer lint fixes 2021-08-20 09:21:02 +02:00
datdenkikniet
cdbd8a2ced Use mark_internal_name by default for methods in util to make usage of these functions more straightforward.
fq_ident is always internal

rq_ident is always internal

monotonic_ident is always internal

inputs_ident is always internal

local_resources_ident is always internal

shared_resources_ident is always internal

monotonic_instants_ident is always internal

tq_ident is always internal

timer_queue_marker_ident is always internal

static_shared_resource_ident is always internal

static_local_resource_ident is always internal

declared_static_local_resource_ident is always internal

Only names, not idents, are now marked as internal

Use same rtic internal everywhere
2021-08-20 08:12:13 +02:00
Henrik Tjäder
018e4a121f Silence rust-analyzer warnings on internal types 2021-08-19 13:02:17 +02:00
Emil Fresk
13f7516a4d Fixed some lints from Rust Analyzer with experimental proc-macros 2021-08-19 09:49:00 +02:00
Emil Fresk
bc3eb5c547 Remove linked list impl - use heapless, linked list init now const fn 2021-08-16 15:38:31 +02:00
Alex Crawford
5f395658f0 Propogate the task attributes to the spawn handles
This allows tasks to be gated by `cfg` attributes when also using
monotonics. For example:

```rust
#[cfg(feature = "logging")]
#[task(shared = [logger])]
fn logger_init(mut cx: logger_init::Context) {
    /* ... */
}
```

Without this change, the reschedule_at() implementation is
unconditionally included even though it references the SpawnHandle from
its task module, which is _conditionally_ included. This resulted in
compiler errors like the following:

```
error[E0433]: failed to resolve: use of undeclared crate or module `logger_init`
   --> src/main.rs:243:8
    |
243 |     fn logger_init(mut cx: logger_init::Context) {
    |        ^^^^^^^^^^^ use of undeclared crate or module `logger_init`
```
2021-07-22 01:00:57 -07:00
Jorge Aparicio
18880406cb use tuple struct syntax for Monotonics everywhere 2021-07-21 10:14:00 +02:00
Andrey Zgarbul
e4319de3d5 const generics 2021-07-09 18:44:19 +03:00
Emil Fresk
f3d9fd9b63 Update changelog and version 2021-07-09 12:54:19 +02:00
Emil Fresk
697ab31e6e Final versions 2021-07-08 23:22:23 +02:00
Emil Fresk
8f37043782 Cleanup from review (needs releases to compile) 2021-07-08 23:18:44 +02:00
Emil Fresk
98d2af9d73 Fixing tests 2021-07-07 23:07:09 +02:00
Emil Fresk
633012190b Use git deps 2021-07-07 21:10:06 +02:00
Emil Fresk
d7393c5b27 Full local resource syntax working 2021-07-07 21:04:31 +02:00
Emil Fresk
ef5307d83a Minimal app now compiles 2021-07-06 22:47:48 +02:00
Emil Fresk
3f85cb5caf Started work 2021-07-05 21:40:01 +02:00
Emil Fresk
c17348d290 Prepare release alpha.4 2021-05-27 18:10:24 +02:00
Emil Fresk
6155f1366a Minor cleanup 2021-05-23 14:11:51 +02:00
Emil Fresk
b4509bdbfe Flattened the _ out of it 2021-05-06 19:40:37 +02:00
bors[bot]
aad8f81991
Merge #469
469: Goodbye static mut r=AfoHT a=korken89

Squashed and updated version of @perlindgren branch.

In release there are 0 bytes difference for all examples 🎉 
For debug we see a bloat of ~1-2% worst case, commonly less.

Complete diff of sizes for all examples (first is goodbye static mut, second is master):

```

<   27220	      0	     28	  27248	   6a70	spawn
---
>   27092	      0	     28	  27120	   69f0	spawn

<   16916	      0	     44	  16960	   4240	late
---
>   16836	      0	     44	  16880	   41f0	late

<   15952	      0	     12	  15964	   3e5c	type-usage
---
>   15872	      0	     12	  15884	   3e0c	type-usage

<   22068	      0	     44	  22112	   5660	cfg
---
>   21812	      0	     44	  21856	   5560	cfg

<   34784	      0	     40	  34824	   8808	periodic
---
>   34496	      0	     40	  34536	   86e8	periodic

<   22308	      0	     32	  22340	   5744	task
---
>   21972	      0	     32	  22004	   55f4	task

<   15076	      8	     24	  15108	   3b04	task-local
---
>   14980	      8	     24	  15012	   3aa4	task-local

<   12884	      0	     24	  12908	   326c	destructure
---
>   12820	      0	     24	  12844	   322c	destructure

<   10128	      0	     16	  10144	   27a0	init
---
>   10112	      0	     16	  10128	   2790	init

<   19044	      0	     20	  19064	   4a78	task_named_main
---
>   18916	      0	     20	  18936	   49f8	task_named_main

<   27252	      0	     28	  27280	   6a90	extern_spawn
---
>   27124	      0	     28	  27152	   6a10	extern_spawn

<   10176	      0	     16	  10192	   27d0	idle
---
>   10160	      0	     16	  10176	   27c0	idle

<   13972	      0	     16	  13988	   36a4	resource
---
>   13940	      0	     16	  13956	   3684	resource

<   16228	      0	     24	  16252	   3f7c	multilock
---
>   16116	      0	     24	  16140	   3f0c	multilock

<   14660	      0	     16	  14676	   3954	lock
---
>   14628	      0	     16	  14644	   3934	lock

<   10416	      0	     16	  10432	   28c0	task-local-minimal
---
>   10400	      0	     16	  10416	   28b0	task-local-minimal

<   14164	      0	     24	  14188	   376c	generics
---
>   14148	      0	     24	  14172	   375c	generics

<   30644	      0	     48	  30692	   77e4	message
---
>   30308	      0	     48	  30356	   7694	message

<   28964	      0	     36	  29000	   7148	spawn2
---
>   28724	      0	     36	  28760	   7058	spawn2

<   15952	      0	      8	  15960	   3e58	t-schedule-core-stable
---
>   15872	      0	      8	  15880	   3e08	t-schedule-core-stable

<   17408	      0	     20	  17428	   4414	t-cfg
---
>   17248	      0	     20	  17268	   4374	t-cfg

<   12948	      0	     16	  12964	   32a4	hardware
---
>   12932	      0	     16	  12948	   3294	hardware

<   54640	      0	    104	  54744	   d5d8	t-schedule
---
>   53696	      0	    104	  53800	   d228	t-schedule

<   26132	      0	    548	  26680	   6838	pool
---
>   25876	      0	    548	  26424	   6738	pool

<   22372	      0	     56	  22428	   579c	cfg-whole-task
---
>   22100	      0	     56	  22156	   568c	cfg-whole-task

<   38292	      0	     76	  38368	   95e0	schedule
---
>   37828	      0	     76	  37904	   9410	schedule

<   21216	      0	     32	  21248	   5300	t-spawn
---
>   20880	      0	     32	  20912	   51b0	t-spawn

<   22820	      0	     56	  22876	   595c	capacity
---
>   22580	      0	     56	  22636	   586c	capacity

<   17060	      0	     48	  17108	   42d4	static
---
>   16980	      0	     48	  17028	   4284	static

<   20288	      0	     24	  20312	   4f58	ramfunc
---
>   20096	      0	     24	  20120	   4e98	ramfunc

<   11760	      0	     20	  11780	   2e04	t-resource
---
>   11664	      0	     20	  11684	   2da4	t-resource

<   13028	      0	     16	  13044	   32f4	only-shared-access
---
>   13012	      0	     16	  13028	   32e4	only-shared-access

<   16576	      0	     16	  16592	   40d0	not-sync
---
>   16432	      0	     16	  16448	   4040	not-sync

<   13892	      0	     16	  13908	   3654	resource-user-struct
---
>   13860	      0	     16	  13876	   3634	resource-user-struct

<   37472	      0	     64	  37536	   92a0	double_schedule
---
>   36960	      0	     64	  37024	   90a0	double_schedule

<   17648	      0	      8	  17656	   44f8	t-stask-main
---
>   17520	      0	      8	  17528	   4478	t-stask-main

<    8816	      0	      4	   8820	   2274	t-late-not-send
---
>    8800	      0	      4	   8804	   2264	t-late-not-send

<   23280	      0	     32	  23312	   5b10	types
---
>   23120	      0	     32	  23152	   5a70	types
```

Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-04-22 16:42:45 +00:00
Emil Fresk
50f26e78ed Keep comments 2021-04-22 18:38:42 +02:00
Emil Fresk
6fc7b96474 use super::xx now works with monotonics 2021-04-22 17:39:07 +02:00
bors[bot]
99a53c7ca7
Merge #477
477: Fix for default monotonic, `monotonics::now()` now properly works r=AfoHT a=korken89



Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-04-20 17:06:08 +00:00
Emil Fresk
fbcf2aabb0 Fix for default monotonic, monotonics::now() now properly works 2021-04-20 10:34:26 +02:00
Conor Patrick
bc10fe266d reclaim stack space used in init 2021-04-18 14:35:11 -07:00
Emil Fresk
6aa0fb450f Goodbye static mut 2021-04-08 19:58:20 +02:00
Emil Fresk
cfd0c6ca26 0.6.0-alpha.2 release 2021-04-08 10:33:40 +02:00
Emil Fresk
51500a1d70 Fixed UB in spawn_at 2021-04-08 10:14:14 +02:00
Emil Fresk
2068eae928 Type aliases now work in the app module 2021-04-08 09:15:38 +02:00
Emil Fresk
3adda3c766 Updated schedule example with all combinations 2021-03-22 08:24:18 +01:00
Emil Fresk
53c407017f Cancel and reschedule working
Support cfgs in the imports

Account for extern tasks
2021-03-20 08:19:56 +01:00
Emil Fresk
1087f2ee64 Added interface for cancel/reschedule
Use wrapping add for marker

No need to store handle to queue

Remove unnecessary `SpawnHandle::new`

Fix test

Updated interface to follow proposal
2021-03-13 10:50:56 +01:00
Emil Fresk
2e4a4ffd87 Preparing release 0.6.0-alpha.1 2021-03-04 20:00:03 +01:00
Emil Fresk
08a37d6d3d Updated spawn_after docs 2021-03-02 19:31:47 +01:00
Emil Fresk
d351f55e1c Documentation generation fixes
Test fixes
2021-02-25 19:16:28 +01:00
Emil Fresk
767d46e05b Review fixes 2021-02-25 17:32:12 +01:00
Emil Fresk
cd3484cbab GHA update
Fmt fixes

Spawn_after did not work with parameters

Examples working again

Revert "GHA update"

This reverts commit e0a71d4859966a6c5cf2629d3cb27e88acada9c0.

Readd flags

Only add DWT based dep with __v7 flag
2021-02-23 21:03:51 +01:00
Emil Fresk
26870ae12e Use zero time in init for spawn_after to not cause panic 2021-02-22 21:47:59 +01:00
Emil Fresk
82d051e8e9 Added enable/disable timer calls 2021-02-22 20:59:03 +01:00
Emil Fresk
1345f30a69 Properly call on_interrupt 2021-02-21 21:57:18 +01:00
Emil Fresk
1a46345a2a Fixed UB in generated Monotonic::now() 2021-02-21 16:15:34 +01:00
Emil Fresk
d02f9a0241 Fixing warnings 2021-02-20 18:32:05 +01:00
Emil Fresk
ebf2f058a4 Now with new monotonic trait and crate 2021-02-18 19:30:59 +01:00
Emil Fresk
6fb43fa97b Minor fixes 2021-02-04 20:22:02 +01:00
Emil Fresk
aaa92ea2fa Cleanup 2020-12-13 17:48:11 +01:00
Emil Fresk
6277183906 Now handling SysTick as well 2020-12-13 14:52:16 +01:00
Emil Fresk
35b4ec0d04 Reexport embedded-time as rtic::time 2020-12-13 00:06:50 +01:00
Emil Fresk
1c8de78f6f Cleanup 2020-12-12 23:35:47 +01:00
Emil Fresk
8e8ec9b7b8 Monotonic codegen now passing compile stage 2020-12-12 23:24:54 +01:00
Emil Fresk
97a48983d2 More work 2020-12-10 20:33:13 +01:00
Emil Fresk
b23bb1192c TQ handlers being generated 2020-12-08 20:49:13 +01:00
Emil Fresk
ef50aeb2e8 Save, init generation fixed 2020-12-03 21:04:06 +01:00
Henrik Tjäder
07afbe1ce7 Fix the link 2020-11-19 18:49:39 +00:00
Henrik Tjäder
a423ae1b25 Remove stale documentation, refer to the book 2020-11-19 18:11:43 +00:00
Henrik Tjäder
ad7b5a90c4 The module should not be pub 2020-11-15 17:40:14 +00:00
Henrik Tjäder
f957f05b66 Move entry-point main into a separate module
Prevents conflict with user provided tasks named main
2020-11-15 17:28:19 +00:00
Emil Fresk
243668df54 Multilock support 2020-11-14 16:02:36 +01:00
Henrik Tjäder
308f412f7f Bump version numbers to v0.6.0-alpha.0 2020-11-14 12:39:17 +00:00
Per Lindgren
96cd625223 extern task 2020-10-29 19:29:46 +01:00
bors[bot]
4f4c95be40
Merge #400
400: codegen and examples r=AfoHT a=perlindgren

just a test

Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
2020-10-23 22:03:08 +00:00
Per Lindgren
1c244a995d move dispatchers to app argument 2020-10-23 23:58:09 +02:00
Emil Fresk
e8eca4be37 Now all locks are symmetric
Test fixes

Fix test

Fix comment
2020-10-23 08:38:18 +02:00
Henrik Tjäder
86699039e9 Add the cfgs on a task to the module for that task 2020-10-22 17:04:34 +00:00
bors[bot]
9fb5a223cb
Merge #396
396: Fix namespaces r=AfoHT a=korken89



Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2020-10-22 16:48:56 +00:00
Emil Fresk
d2ac641c3f Hide lock type better to not collide with user types 2020-10-21 20:25:22 +02:00
Emil Fresk
f076b33bb9 Namespace cleanup 2020-10-21 20:25:13 +02:00
Emil Fresk
f96b25fdf2 Updated examples
More work
2020-10-21 20:25:05 +02:00
Henrik Tjäder
21253297e4 Implement all clippy suggestions 2020-10-15 17:09:27 +00:00
Emil Fresk
6808cc7cdf Merge branch 'master' into spawn_experiment 2020-10-15 18:27:48 +02:00
Emil Fresk
c5b5ea60e8 Use master branch on syntax 2020-10-15 18:12:39 +02:00
bors[bot]
1cda9eaecc
Merge #371
371: task_local and lock_free r=korken89 a=AfoHT

Getting this going to test with GHA

For further discussion see https://github.com/rtic-rs/rfcs/issues/30

Co-authored-by: Per <Per Lindgren>
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-10-15 16:01:07 +00:00
Emil Fresk
da76894d75 Updated syntax crate 2020-10-15 17:56:29 +02:00