Emil Fresk
f111c825ba
Added multilock to CI
2020-11-14 17:06:03 +01:00
Emil Fresk
9cbe639ebf
Updated changelog, use released version of rtic-core
2020-11-14 16:16:45 +01:00
Emil Fresk
d079949139
Add multilock to the book
2020-11-14 16:13:00 +01:00
Emil Fresk
243668df54
Multilock support
2020-11-14 16:02:36 +01:00
bors[bot]
2ebd81fee2
Merge #414
...
414: Remove microamp dependency r=korken89 a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-11-14 13:11:34 +00:00
Henrik Tjäder
0fe8992738
Remove microamp dependency
2020-11-14 13:10:30 +00:00
bors[bot]
8111906e1e
Merge #413
...
413: Bump version numbers to v0.6.0-alpha.0 r=korken89 a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-11-14 13:04:03 +00:00
Henrik Tjäder
1208e59083
Update the Changelog
2020-11-14 12:58:49 +00:00
Henrik Tjäder
308f412f7f
Bump version numbers to v0.6.0-alpha.0
2020-11-14 12:39:17 +00:00
bors[bot]
d0b46de16d
Merge #412
...
412: Disable things which needs more work to be complete r=perlindgren a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-11-14 12:34:12 +00:00
Henrik Tjäder
b5ff671f89
Disable things which needs more work to be complete
2020-11-12 20:08:11 +00:00
bors[bot]
ebfabd7b30
Merge #411
...
411: Add section about task_local and lock_free r=perlindgren a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-11-12 18:34:05 +00:00
bors[bot]
65d0ee1f8e
Merge #408
...
408: Fixup app/new r=perlindgren a=AfoHT
Reference the current example
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-11-12 18:29:58 +00:00
Henrik Tjäder
b0f6d60c3d
Add static mut
2020-11-12 18:24:57 +00:00
bors[bot]
445730756e
Merge #410
...
410: resources r=AfoHT a=perlindgren
resources
Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
2020-11-12 18:23:24 +00:00
Henrik Tjäder
29b81a23d6
Add section about task_local and lock_free
2020-11-12 18:15:42 +00:00
Per Lindgren
15bd129161
resources fix
2020-11-12 19:06:56 +01:00
Per Lindgren
0cb7cb0ba8
resources
2020-11-12 18:55:11 +01:00
bors[bot]
98f0a96104
Merge #409
...
409: Updated send/sync docs r=AfoHT a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2020-11-12 17:53:18 +00:00
bors[bot]
c6a8477b9b
Merge #407
...
407: Fixed spawn and timer queue docs r=AfoHT a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2020-11-12 17:48:54 +00:00
Emil Fresk
0a578c76ca
Updated send/sync docs
2020-11-12 18:46:24 +01:00
Henrik Tjäder
95a020c8af
Fixup app/new
2020-11-12 17:45:12 +00:00
Emil Fresk
d25017a59c
Fixed spawn and timer queue docs
2020-11-12 18:42:07 +01:00
bors[bot]
5b8b2383e1
Merge #405 #406
...
405: Updated migration guide with symmetric locks and new spawn r=AfoHT a=korken89
406: book.toml/by-example/app r=korken89 a=perlindgren
Book update
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
2020-11-12 17:24:44 +00:00
bors[bot]
b4ca29f69c
Merge #404
...
404: Fixup app/tips r=korken89 a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-11-12 17:20:36 +00:00
Per Lindgren
91ea1e428b
book.toml/by-example/app
2020-11-12 18:20:16 +01:00
Emil Fresk
5e3bbada63
Updated migration guide with symmetric locks and new spawn
2020-11-12 18:19:00 +01:00
Henrik Tjäder
1709d1c9c6
Fixup app/tips
2020-11-12 17:15:33 +00:00
bors[bot]
ad50b54530
Merge #402
...
402: Extern task r=AfoHT a=perlindgren
Allows hardware and software task to be externally declared.
CI test, don't merge yet (squash needed).
Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
2020-10-29 18:34:35 +00:00
Per Lindgren
96cd625223
extern task
2020-10-29 19:29:46 +01:00
bors[bot]
d11b2ddd35
Merge #401
...
401: Updating the changelog r=perlindgren a=AfoHT
Better late than never...
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-10-23 22:38:18 +00:00
Henrik Tjäder
1b99ca6b10
Updating the changelog
2020-10-23 22:19:12 +00: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
bors[bot]
bbcae14e37
Merge #399
...
399: Now all locks are symmetric r=AfoHT a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2020-10-23 20:52:58 +00:00
Emil Fresk
e8eca4be37
Now all locks are symmetric
...
Test fixes
Fix test
Fix comment
2020-10-23 08:38:18 +02:00
bors[bot]
b3aa9e99a9
Merge #398
...
398: Add the cfgs on a task to the module for that task r=korken89 a=AfoHT
Applying a `#[cfg(never)]` on a task:
before:
```
#[allow(non_snake_case)]
#[doc = "Software task"]
pub mod foo2 {
#[doc(inline)]
pub use super::foo2Resources as Resources;
#[doc = r" Execution context"]
pub struct Context<'a> {
#[doc = r" Resources this task has access to"]
pub resources: Resources<'a>,
}
impl<'a> Context<'a> {
#[inline(always)]
pub unsafe fn new(priority: &'a rtic::export::Priority) -> Self {
Context {
resources: Resources::new(priority),
}
}
}
<...>
```
After:
```
#[allow(non_snake_case)]
#[cfg(never)]
#[doc = "Software task"]
pub mod foo2 {
#[doc(inline)]
pub use super::foo2Resources as Resources;
#[doc = r" Execution context"]
pub struct Context<'a> {
#[doc = r" Resources this task has access to"]
pub resources: Resources<'a>,
}
impl<'a> Context<'a> {
#[inline(always)]
pub unsafe fn new(priority: &'a rtic::export::Priority) -> Self {
Context {
resources: Resources::new(priority),
}
}
}
<...>
```
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-10-22 17:11:21 +00: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
17e976ab49
Fix UI tests
...
Fix
2020-10-22 17:45:06 +02: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
bors[bot]
6de4f1a797
Merge #397
...
397: Use latest GHA mdBook action r=korken89 a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-10-15 18:00:24 +00:00
Henrik Tjäder
484fce9329
Use latest GHA mdBook action
2020-10-15 17:15:06 +00:00
bors[bot]
8b53b9d10c
Merge #393
...
393: Implement all clippy suggestions r=korken89 a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-10-15 17:13:37 +00:00
Henrik Tjäder
21253297e4
Implement all clippy suggestions
2020-10-15 17:09:27 +00:00
bors[bot]
355cb82d06
Merge #390
...
390: Spawn and schedule from anywhere r=AfoHT a=korken89
This PR moves RTIC to the spawn and schedule from anywhere syntax.
Notable changes:
* We do no longer support non-`Send` types.
* Some extra code is generated as any task may spawn/schedule any task. However Rust/LLVM does a great job optimizing away non used instantiations (no real code-size difference observed).
* Worst case priority inversion has increased, but it is now predictable.
Upsides:
* With this we should be able to support async/await.
* RTIC tasks can now be callbacks (spawned and scheduled).
* RTIC tasks can be stored.
Needs the following PR to land first: https://github.com/rtic-rs/rtic-syntax/pull/34
The following now works:
```rust
#[rtic::app(device = lm3s6965, monotonic = rtic::cyccnt::CYCCNT)]
mod app {
#[init]
fn init(mut cx: init::Context) -> init::LateResources {
// Init stuff...
// New spawn syntax
foo::spawn().unwrap();
// New schedule syntax
bar::schedule(now + 4_000_000.cycles()).unwrap();
init::LateResources {}
}
#[task]
fn foo(_: foo::Context) {}
#[task]
fn bar(_: bar::Context) {}
extern "C" {
fn SSI0();
}
}
```
Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2020-10-15 16:42:30 +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