mirror of
https://github.com/rtic-rs/rtic.git
synced 2025-12-16 21:05:35 +01:00
Fix shared resource handling and extend example.
The extended example tests that this actually works this time.
This commit is contained in:
parent
70e243694d
commit
1556948458
2 changed files with 24 additions and 5 deletions
|
|
@ -26,13 +26,24 @@ app! {
|
|||
// the initializer. Doing that will require `init` to return the values of all "late"
|
||||
// resources.
|
||||
static IP_ADDRESS: u32;
|
||||
|
||||
// PORT is used by 2 tasks, making it a shared resource. This just tests another internal
|
||||
// code path and is not important for the example.
|
||||
static PORT: u16;
|
||||
},
|
||||
|
||||
tasks: {
|
||||
SYS_TICK: {
|
||||
priority: 1,
|
||||
path: sys_tick,
|
||||
resources: [IP_ADDRESS, ON],
|
||||
resources: [IP_ADDRESS, PORT, ON],
|
||||
},
|
||||
|
||||
EXTI0: {
|
||||
priority: 2,
|
||||
path: exti0,
|
||||
resources: [PORT],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -47,6 +58,7 @@ fn init(_p: init::Peripherals, _r: init::Resources) -> init::LateResourceValues
|
|||
init::LateResourceValues {
|
||||
// This struct will contain fields for all resources with omitted initializers.
|
||||
IP_ADDRESS: ip_address,
|
||||
PORT: 0,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -57,6 +69,8 @@ fn sys_tick(_t: &mut Threshold, r: SYS_TICK::Resources) {
|
|||
r.IP_ADDRESS;
|
||||
}
|
||||
|
||||
fn exti0(_t: &mut Threshold, _r: EXTI0::Resources) {}
|
||||
|
||||
fn idle() -> ! {
|
||||
loop {
|
||||
rtfm::wfi();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue