| Age | Commit message (Collapse) | Author |
|
411: Add section about task_local and lock_free r=perlindgren a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
|
|
408: Fixup app/new r=perlindgren a=AfoHT
Reference the current example
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
|
|
|
|
410: resources r=AfoHT a=perlindgren
resources
Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
|
|
|
|
|
|
|
|
409: Updated send/sync docs r=AfoHT a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
|
|
407: Fixed spawn and timer queue docs r=AfoHT a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
|
|
|
|
|
|
|
|
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>
|
|
404: Fixup app/tips r=korken89 a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
|
|
|
|
|
|
|
|
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>
|
|
|
|
401: Updating the changelog r=perlindgren a=AfoHT
Better late than never...
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
|
|
|
|
400: codegen and examples r=AfoHT a=perlindgren
just a test
Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
|
|
|
|
399: Now all locks are symmetric r=AfoHT a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
|
|
Test fixes
Fix test
Fix comment
|
|
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>
|
|
|
|
396: Fix namespaces r=AfoHT a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
|
|
Fix
|
|
|
|
|
|
More work
|
|
397: Use latest GHA mdBook action r=korken89 a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
|
|
|
|
393: Implement all clippy suggestions r=korken89 a=AfoHT
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
|
|
|
|
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>
|
|
|
|
|
|
|
|
395: Made relation between priority and number explicit r=korken89 a=diondokter
When quickly reading through the priorities chapter, I couldn't find in which order the priorities were, so I assumed it was the same as in the hardware.
In the cortex-m hardware, interrupts with the **lower** priority number will preempt the other interrupts.
RTIC does the reverse, so I think it's good to be more explicit about it.
Co-authored-by: Dion Dokter <diondokter@gmail.com>
|
|
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>
|
|
|
|
|
|
|
|
|
|
task_local
|
|
|
|
|
|
|