When using a PAC compiled with svd2rust 0.19, the InterruptNumber
trait is used on interrupts instead of the Nr
trait that was used before. RTIC is expecting the Nr
trait, so compilation fails with message:
error[E0277]: the trait bound `Interrupt: Nr` is not satisfied
--> src/main.rs:7:1
|
7 | #[rtic::app(device = stm32wl::stm32wle5, peripherals = true)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Nr` is not implemented for `Interrupt`
|
= note: this error originates in the attribute macro `rtic::app` (in Nightly builds, run with -Z macro-backtrace for more info)
Cargo.toml contains three different PAC implementations coming from the same source but compiled with different svd2rust
and by different people:
# stm32wl compiled with svd2rust 0.17
# stm32wl = { git = "https://github.com/jorgeig-space/stm32wl.git", features = ["stm32wle5", "rt"]}
# stm32wl compiled with svd2rust 0.19
stm32wl = { git = "https://github.com/jorgeig-space/stm32wl-latest.git", features = ["stm32wle5", "rt"] }
# external stm32wl also compiled with svd2rust 0.19
# stm32wl = { git = "https://github.com/newAM/stm32wl-rs.git", rev = "239ceea719f2e26b70e8680f87a31b4a309b5ff8", features = ["stm32wle5", "rt"]}
# a HAL that uses the external stm32wl (svd2rust 0.19)
# [dependencies.stm32wl-hal]
# git = "https://github.com/newAM/stm32wl-hal.git"
# rev = "1e760a889cbddff6ab5ee2cce0a1bf88c723b2bf" # put a specific git commit hash here
# features = ["stm32wle5","rt",]