aboutsummaryrefslogtreecommitdiff
path: root/macros/ui/local-shared.rs
blob: f6fb491ae6868c52ebb125e58146a12a9c077aa7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#![no_main]

#[rtic_macros::mock_app(device = mock)]
mod app {
    #[shared]
    struct Shared {}

    #[local]
    struct Local {
        l1: u32,
        l2: u32,
    }

    #[init]
    fn init(_: init::Context) -> (Shared, Local, init::Monotonics) {}

    // l2 ok
    #[idle(local = [l2])]
    fn idle(cx: idle::Context) -> ! {}

    // l1 rejected (not local)
    #[task(priority = 1, local = [l1])]
    fn uart0(cx: uart0::Context) {}

    // l1 rejected (not lock_free)
    #[task(priority = 2, local = [l1])]
    fn uart1(cx: uart1::Context) {}
}