update examples and tests

This commit is contained in:
Jorge Aparicio 2019-02-12 15:08:46 +01:00
parent 88599780e0
commit 89c922079e
10 changed files with 23 additions and 17 deletions

View file

@ -22,7 +22,7 @@ const APP: () = {
static mut C: Consumer<'static, u32, U4> = ();
#[init]
fn init() {
fn init() -> init::LateResources {
// NOTE: we use `Option` here to work around the lack of
// a stable `const` constructor
static mut Q: Option<Queue<u32, U4>> = None;
@ -31,8 +31,7 @@ const APP: () = {
let (p, c) = Q.as_mut().unwrap().split();
// Initialization of late resources
P = p;
C = c;
init::LateResources { P: p, C: c }
}
#[idle(resources = [C])]

View file

@ -20,10 +20,12 @@ const APP: () = {
static mut P: Pool<M> = ();
#[init(resources = [M])]
fn init() {
fn init() -> init::LateResources {
rtfm::pend(Interrupt::I2C0);
P = Pool::new(resources.M);
init::LateResources {
P: Pool::new(resources.M),
}
}
#[interrupt(

View file

@ -16,11 +16,11 @@ const APP: () = {
static KEY: u32 = ();
#[init]
fn init() {
fn init() -> init::LateResources {
rtfm::pend(Interrupt::UART0);
rtfm::pend(Interrupt::UART1);
KEY = 0xdeadbeef;
init::LateResources { KEY: 0xdeadbeef }
}
#[interrupt(resources = [KEY])]

View file

@ -11,7 +11,7 @@ use rtfm::app;
const APP: () = {
#[init]
fn init() -> ! {
//~^ ERROR `init` must have type signature `[unsafe] fn()`
//~^ ERROR `init` must have type signature `[unsafe] fn() [-> init::LateResources]`
loop {}
}
};

View file

@ -11,6 +11,6 @@ use rtfm::app;
const APP: () = {
#[init]
fn init(undef: u32) {
//~^ ERROR `init` must have type signature `[unsafe] fn()`
//~^ ERROR `init` must have type signature `[unsafe] fn() [-> init::LateResources]`
}
};

View file

@ -11,7 +11,7 @@ use rtfm::app;
const APP: () = {
#[init]
fn init() -> u32 {
//~^ ERROR `init` must have type signature `[unsafe] fn()`
//~^ ERROR `init` must have type signature `[unsafe] fn() [-> init::LateResources]`
0
}
};

View file

@ -22,8 +22,10 @@ const APP: () = {
static mut X: NotSend = ();
#[init]
fn init() {
X = NotSend { _0: PhantomData };
fn init() -> init::LateResources {
init::LateResources {
X: NotSend { _0: PhantomData },
}
}
#[interrupt(resources = [X])]

View file

@ -1,3 +1,5 @@
// TODO remove in v0.5.x
#![no_main]
#![no_std]

View file

@ -19,10 +19,12 @@ const APP: () = {
static mut Y: Option<NotSend> = None;
#[init(resources = [Y])]
fn init() {
fn init() -> init::LateResources {
*resources.Y = Some(NotSend { _0: PhantomData });
X = NotSend { _0: PhantomData };
init::LateResources {
X: NotSend { _0: PhantomData },
}
}
#[idle(resources = [X, Y])]

View file

@ -14,8 +14,7 @@ const APP: () = {
static Y: u32 = ();
#[init]
fn init() {
X = 0;
Y = 1;
fn init() -> init::LateResources {
init::LateResources { X: 0, Y: 1 }
}
};