aboutsummaryrefslogtreecommitdiff
path: root/tests/cpass/singleton.rs
blob: d50f8523ee09f652fa28518aeb5999b78dfec56e (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#![no_main]
#![no_std]

extern crate lm3s6965;
extern crate owned_singleton;
extern crate panic_halt;
extern crate rtfm;

use rtfm::{app, Exclusive};

#[app(device = lm3s6965)]
const APP: () = {
    #[Singleton]
    static mut O1: u32 = 0;
    #[Singleton]
    static mut O2: u32 = 0;
    #[Singleton]
    static mut O3: u32 = 0;
    #[Singleton]
    static O4: u32 = 0;
    #[Singleton]
    static O5: u32 = 0;
    #[Singleton]
    static O6: u32 = 0;

    #[Singleton]
    static mut S1: u32 = 0;
    #[Singleton]
    static S2: u32 = 0;

    #[init(resources = [O1, O2, O3, O4, O5, O6, S1, S2])]
    fn init() {
        let _: O1 = resources.O1;
        let _: &mut O2 = resources.O2;
        let _: &mut O3 = resources.O3;
        let _: O4 = resources.O4;
        let _: &mut O5 = resources.O5;
        let _: &mut O6 = resources.O6;

        let _: &mut S1 = resources.S1;
        let _: &mut S2 = resources.S2;
    }

    #[idle(resources = [O2, O5])]
    fn idle() -> ! {
        let _: O2 = resources.O2;
        let _: O5 = resources.O5;

        loop {}
    }

    #[interrupt(resources = [O3, O6, S1, S2])]
    fn UART0() {
        let _: &mut O3 = resources.O3;
        let _: &O6 = resources.O6;

        let _: Exclusive<S1> = resources.S1;
        let _: &S2 = resources.S2;
    }

    #[interrupt(resources = [S1, S2])]
    fn UART1() {
        let _: Exclusive<S1> = resources.S1;
        let _: &S2 = resources.S2;
    }
};
/builtins/cpp/ReadableByteStreamInternalsBuiltins.h (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-11-28Update README.mdGravatar Jarred Sumner 1-1/+26
2022-11-28Update README.mdGravatar Jarred Sumner 1-5/+5
2022-11-28Add small section about profiling bunGravatar Jarred Sumner 1-0/+171
2022-11-28Fix hanging in FIFO streamsGravatar Jarred Sumner 1-1/+2
2022-11-28[internal] Add debug timerGravatar Jarred Sumner 2-2/+33
2022-11-28Ensure we report errors in controller.closeGravatar Jarred Sumner 1-1/+9
2022-11-28Update JSEnvironmentVariableMap.cppGravatar Jarred Sumner 1-1/+1
2022-11-28Allow overriding node:fsGravatar Jarred Sumner 1-0/+9
2022-11-28Add test for processGravatar Jarred Sumner 1-3/+14
2022-11-28Fix process.env and Bun.env object spreadGravatar Jarred Sumner 8-204/+127
2022-11-27Fix `console.log(process.env)`Gravatar Jarred Sumner 2-20/+27