diff options
Diffstat (limited to 'embassy-macros/src/lib.rs')
| -rw-r--r-- | embassy-macros/src/lib.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/embassy-macros/src/lib.rs b/embassy-macros/src/lib.rs index 145714f22..72f0b0eca 100644 --- a/embassy-macros/src/lib.rs +++ b/embassy-macros/src/lib.rs | |||
| @@ -125,7 +125,7 @@ pub fn interrupt_declare(item: TokenStream) -> TokenStream { | |||
| 125 | type Priority = crate::interrupt::Priority; | 125 | type Priority = crate::interrupt::Priority; |
| 126 | fn number(&self) -> u16 { | 126 | fn number(&self) -> u16 { |
| 127 | use cortex_m::interrupt::InterruptNumber; | 127 | use cortex_m::interrupt::InterruptNumber; |
| 128 | let irq = crate::pac::interrupt::#name; | 128 | let irq = crate::pac::Interrupt::#name; |
| 129 | irq.number() as u16 | 129 | irq.number() as u16 |
| 130 | } | 130 | } |
| 131 | unsafe fn steal() -> Self { | 131 | unsafe fn steal() -> Self { |
| @@ -199,7 +199,11 @@ mod chip; | |||
| 199 | #[path = "chip/stm32.rs"] | 199 | #[path = "chip/stm32.rs"] |
| 200 | mod chip; | 200 | mod chip; |
| 201 | 201 | ||
| 202 | #[cfg(any(feature = "nrf", feature = "stm32"))] | 202 | #[cfg(feature = "rp")] |
| 203 | #[path = "chip/rp.rs"] | ||
| 204 | mod chip; | ||
| 205 | |||
| 206 | #[cfg(any(feature = "nrf", feature = "stm32", feature = "rp"))] | ||
| 203 | #[proc_macro_attribute] | 207 | #[proc_macro_attribute] |
| 204 | pub fn main(args: TokenStream, item: TokenStream) -> TokenStream { | 208 | pub fn main(args: TokenStream, item: TokenStream) -> TokenStream { |
| 205 | let macro_args = syn::parse_macro_input!(args as syn::AttributeArgs); | 209 | let macro_args = syn::parse_macro_input!(args as syn::AttributeArgs); |
| @@ -267,11 +271,10 @@ pub fn main(args: TokenStream, item: TokenStream) -> TokenStream { | |||
| 267 | ::core::mem::transmute(t) | 271 | ::core::mem::transmute(t) |
| 268 | } | 272 | } |
| 269 | 273 | ||
| 270 | #chip_setup | ||
| 271 | |||
| 272 | let mut executor = ::embassy::executor::Executor::new(); | 274 | let mut executor = ::embassy::executor::Executor::new(); |
| 273 | let executor = unsafe { make_static(&mut executor) }; | 275 | let executor = unsafe { make_static(&mut executor) }; |
| 274 | executor.set_alarm(alarm); | 276 | |
| 277 | #chip_setup | ||
| 275 | 278 | ||
| 276 | executor.run(|spawner| { | 279 | executor.run(|spawner| { |
| 277 | spawner.spawn(__embassy_main(spawner)).unwrap(); | 280 | spawner.spawn(__embassy_main(spawner)).unwrap(); |
