From d9aaa0edf88e822b9e5d6deb5f4a133dd32449fa Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 19 Mar 2021 04:02:56 +0100 Subject: [PATCH] Implement PeripheralBorrow for interrupts. --- embassy-macros/src/lib.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/embassy-macros/src/lib.rs b/embassy-macros/src/lib.rs index 450edbe4..bcf9dd4e 100644 --- a/embassy-macros/src/lib.rs +++ b/embassy-macros/src/lib.rs @@ -137,6 +137,20 @@ pub fn interrupt_declare(item: TokenStream) -> TokenStream { &HANDLER } } + + impl ::embassy::util::PeripheralBorrow for #name_interrupt { + type Target = #name_interrupt; + unsafe fn unborrow(self) -> #name_interrupt { + self + } + } + + impl ::embassy::util::PeripheralBorrow for &mut #name_interrupt { + type Target = #name_interrupt; + unsafe fn unborrow(self) -> #name_interrupt { + ::core::ptr::read(self) + } + } }; result.into() }