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
Henrik Tjäder
37ee3a47af
Create Enum containing all tasks
2020-10-15 15:56:20 +00:00
Henrik Tjäder
6c1f4a7b5d
Changed branch for rtic-syntax
2020-10-15 15:56:20 +00:00
Henrik Tjäder
e2364aae3e
Updated examples and rtic-name
2020-10-15 15:56:20 +00:00
Henrik Tjäder
d4439fe73b
Print module name and priority
2020-10-15 15:56:20 +00:00
Per
6eafcf10e9
task_local and lock_free analysis (take 1)
2020-10-15 15:56:20 +00:00
Emil Fresk
5ac16f6aae
Merge branch 'master' into spawn_experiment
2020-10-15 17:55:00 +02:00
Emil Fresk
48abc26e85
Detect if the rt flag is defined in the PAC/HAL
...
Better error message
Improved error string
Update UI tests
2020-10-15 16:06:30 +02:00
Emil Fresk
5b8e6a22ab
Fixing examples and tests, modules now import user imports correctly
...
Fmt
Correct syntax crate
UI test fix
Fix build script
Cleanup
More cleanup
2020-10-11 20:35:50 +02:00
Emil Fresk
524273c96a
Now with spawn/schedule from anywhere
2020-10-11 18:38:38 +02:00
Emil Fresk
c83b15b643
Merge branch 'master' into spawn_experiment
2020-10-08 17:33:42 +02:00
Emil Fresk
e8b4fa7b32
Added critical sections
2020-10-08 17:33:16 +02:00
Emil Fresk
6d003e20a8
Now core contains the same Peripherals
type based on monotonic
2020-10-07 15:17:00 +02:00
Per Lindgren
aac97a2109
spawn POC works, likely unsound, cleanup
2020-10-05 22:02:04 +02:00
Per Lindgren
6bd168d711
spawn POC works, likely unsound
2020-10-05 21:57:44 +02:00
Emil Fresk
8ab7be9871
Added back accidentally removed block
2020-10-05 20:19:52 +02:00
Emil Fresk
44f26fe90c
Move to master of rtic-syntax
2020-10-05 20:05:52 +02:00
Emil Fresk
eec0908024
Merge branch 'master' into always_late_resources
2020-10-05 18:25:15 +02:00
Henrik Tjäder
95503b6bdf
Use latest rtic-syntax master
2020-10-05 08:24:33 +00:00
Henrik Tjäder
1e46ffdfbc
Merge branch 'master' into mod_const
2020-10-02 11:36:28 +02:00
Emil Fresk
fb61a78cdd
Added bare_metal::CriticalSection
to init::Context
2020-10-01 20:01:25 +02:00
Emil Fresk
e7f0d9c3e3
Now late resources are always used
2020-10-01 19:38:49 +02:00
Henrik Tjäder
96e6350c0d
Rename const_app to mod_app
2020-10-01 16:22:37 +00:00
Henrik Tjäder
3ab2c049c5
Remove stale comment
2020-09-29 11:56:56 +00:00
Henrik Tjäder
487fea45ce
Keep user code as-is within the module, add example
2020-09-29 11:56:56 +00:00
Henrik Tjäder
5b17f8b599
Due to new module boundaries the schedule fn needs to be pub
2020-09-25 14:33:08 +00:00
Henrik Tjäder
a151974245
cfg_core is gone, cargo fmt
2020-09-25 14:33:02 +00:00
Henrik Tjäder
6d234f9c95
Use dev-branch for mod_const
2020-09-25 14:29:34 +00:00
Henrik Tjäder
86578b76fb
Add format_ident imports
2020-09-25 14:29:34 +00:00
Henrik Tjäder
2881cc8f43
Modify macro tests, use mod instead of const
2020-09-25 14:29:34 +00:00
Henrik Tjäder
0c7a619432
Compose the use-statements, reduce debug-printouts
2020-09-25 14:29:34 +00:00
Henrik Tjäder
9fd052b876
Collect and generate required use-statements
2020-09-25 14:29:34 +00:00