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