diff options
| author | Dario Nieuwenhuis <[email protected]> | 2021-02-26 01:55:27 +0100 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2021-02-26 01:55:27 +0100 |
| commit | 11be9170ec018dcc9284b413c5313ce7bb07159f (patch) | |
| tree | b9a1663a24af2dc0a1c860667d2db00f03d391a7 /embassy-macros/src | |
| parent | 90476ef9005e391e9a9c9e5c4f0d82ceccdf7c11 (diff) | |
Cleanup interrupt package naming. Fixes #40
The `interrupt` package previously tried to be drop-in compatible with the
`interrupt` package from PACs. THis meant that there was both a PAC-style enum
value `UARTE0` and an embassy-style owned `UARTE0Interrupt` type. This made
things VERY confusing.
This drops compatibility with the PAC, improving the names for embassy interrupts.
Diffstat (limited to 'embassy-macros/src')
| -rw-r--r-- | embassy-macros/src/lib.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/embassy-macros/src/lib.rs b/embassy-macros/src/lib.rs index e77cd9bc2..8276f0bbc 100644 --- a/embassy-macros/src/lib.rs +++ b/embassy-macros/src/lib.rs | |||
| @@ -114,17 +114,17 @@ pub fn task(args: TokenStream, item: TokenStream) -> TokenStream { | |||
| 114 | pub fn interrupt_declare(item: TokenStream) -> TokenStream { | 114 | pub fn interrupt_declare(item: TokenStream) -> TokenStream { |
| 115 | let name = syn::parse_macro_input!(item as syn::Ident); | 115 | let name = syn::parse_macro_input!(item as syn::Ident); |
| 116 | let name = format_ident!("{}", name); | 116 | let name = format_ident!("{}", name); |
| 117 | let name_interrupt = format_ident!("{}Interrupt", name); | 117 | let name_interrupt = format_ident!("{}", name); |
| 118 | let name_handler = format!("__EMBASSY_{}_HANDLER", name); | 118 | let name_handler = format!("__EMBASSY_{}_HANDLER", name); |
| 119 | 119 | ||
| 120 | let result = quote! { | 120 | let result = quote! { |
| 121 | #[allow(non_camel_case_types)] | 121 | #[allow(non_camel_case_types)] |
| 122 | pub struct #name_interrupt(()); | 122 | pub struct #name_interrupt(()); |
| 123 | unsafe impl OwnedInterrupt for #name_interrupt { | 123 | unsafe impl Interrupt for #name_interrupt { |
| 124 | type Priority = Priority; | 124 | type Priority = crate::interrupt::Priority; |
| 125 | fn number(&self) -> u16 { | 125 | fn number(&self) -> u16 { |
| 126 | use cortex_m::interrupt::InterruptNumber; | 126 | use cortex_m::interrupt::InterruptNumber; |
| 127 | let irq = Interrupt::#name; | 127 | let irq = crate::pac::interrupt::#name; |
| 128 | irq.number() as u16 | 128 | irq.number() as u16 |
| 129 | } | 129 | } |
| 130 | unsafe fn steal() -> Self { | 130 | unsafe fn steal() -> Self { |
| @@ -144,7 +144,7 @@ pub fn interrupt_declare(item: TokenStream) -> TokenStream { | |||
| 144 | pub fn interrupt_take(item: TokenStream) -> TokenStream { | 144 | pub fn interrupt_take(item: TokenStream) -> TokenStream { |
| 145 | let name = syn::parse_macro_input!(item as syn::Ident); | 145 | let name = syn::parse_macro_input!(item as syn::Ident); |
| 146 | let name = format!("{}", name); | 146 | let name = format!("{}", name); |
| 147 | let name_interrupt = format_ident!("{}Interrupt", name); | 147 | let name_interrupt = format_ident!("{}", name); |
| 148 | let name_handler = format!("__EMBASSY_{}_HANDLER", name); | 148 | let name_handler = format!("__EMBASSY_{}_HANDLER", name); |
| 149 | 149 | ||
| 150 | let result = quote! { | 150 | let result = quote! { |
