nrf-rs / microbit

A Rust crate for BBC micro:bit development
BSD Zero Clause License
276 stars 61 forks source link

RTIC-Example broken #73

Closed caemor closed 3 years ago

caemor commented 3 years ago

The update in https://github.com/nrf-rs/microbit/commit/7c322400213a15c087fbe433306e7c9aaece1b04 broke the non blocking display examples.

I haven't found the time yet to debug which part of the change is causing the issue. But nothing is displayed with the newer version in contrast to the older version where everything works, where the main difference seems to be the clock function.

cathiele commented 3 years ago

I ran into the same problem with the nonblocking-display example on a v2 micro:bit. I fixed it (see my PR https://github.com/nrf-rs/microbit/pull/74)

caemor commented 3 years ago

Thanks. This fixes the issue for the nonblocking example for me as well. Do you have an idea how this might apply to the rtic example as well?

cathiele commented 3 years ago

Thanks. This fixes the issue for the nonblocking example for me as well. Do you have an idea how this might apply to the rtic example as well?

In https://github.com/cathiele/microbit/blob/display-rtic-fix/examples/display-rtic/src/main.rs i did a quick hack for fixing it for the V2 board. But this is not a nice solution.

caemor commented 3 years ago

Another solution is to modify the Board::take function to steal the Core Peripherals which also isn't the best way to go forward. I am going to ask the RTIC people if there is better solution to this problem.

cathiele commented 3 years ago

I think making Board::new(p, cp) public is the best solution for this.