diff options
author | 2021-09-14 17:17:33 +0000 | |
---|---|---|
committer | 2021-09-14 17:17:33 +0000 | |
commit | bf9df9fe73e9c1442a7a31ae93a91e7a8288f6f3 (patch) | |
tree | 66d1e39353d36ee64f8a47c87ed7e548f94fcc42 | |
parent | f46b22f797a728b0de1a6b14141c12ae1f016f8f (diff) | |
parent | addb08607007aac915ac33984a1816a5aa353ced (diff) | |
download | rtic-bf9df9fe73e9c1442a7a31ae93a91e7a8288f6f3.tar.gz rtic-bf9df9fe73e9c1442a7a31ae93a91e7a8288f6f3.tar.zst rtic-bf9df9fe73e9c1442a7a31ae93a91e7a8288f6f3.zip |
Merge #525
525: Cleanup export and actually use rtic::export, made fn init inline r=perlindgren a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
-rw-r--r-- | macros/src/codegen/init.rs | 1 | ||||
-rw-r--r-- | macros/src/codegen/module.rs | 2 | ||||
-rw-r--r-- | src/export.rs | 7 |
3 files changed, 6 insertions, 4 deletions
diff --git a/macros/src/codegen/init.rs b/macros/src/codegen/init.rs index b6d3f72e..2de3e734 100644 --- a/macros/src/codegen/init.rs +++ b/macros/src/codegen/init.rs @@ -77,6 +77,7 @@ pub fn codegen(app: &App, analysis: &Analysis, extra: &Extra) -> CodegenResult { let user_init = quote!( #(#attrs)* + #[inline(always)] #[allow(non_snake_case)] fn #name(#context: #name::Context) -> (#user_init_return) { #(#stmts)* diff --git a/macros/src/codegen/module.rs b/macros/src/codegen/module.rs index 4db2c0c2..17bc34d3 100644 --- a/macros/src/codegen/module.rs +++ b/macros/src/codegen/module.rs @@ -275,7 +275,7 @@ pub fn codegen( ( quote!(core::mem::transmute::<_, cortex_m::peripheral::SYST>(()) .enable_interrupt()), - quote!(cortex_m::peripheral::SCB::set_pendst()), + quote!(rtic::export::SCB::set_pendst()), ) } else { let rt_err = util::rt_err_ident(); diff --git a/src/export.rs b/src/export.rs index 927e951e..8fdcb67e 100644 --- a/src/export.rs +++ b/src/export.rs @@ -5,12 +5,10 @@ use core::{ pub use crate::tq::{NotReady, TimerQueue}; pub use bare_metal::CriticalSection; -#[cfg(armv7m)] -pub use cortex_m::register::basepri; pub use cortex_m::{ asm::wfi, interrupt, - peripheral::{scb::SystemHandler, syst::SystClkSource, DWT, NVIC}, + peripheral::{scb::SystemHandler, DWT, NVIC, SCB}, Peripherals, }; pub use heapless::sorted_linked_list::SortedLinkedList; @@ -22,6 +20,9 @@ pub type SCFQ<const N: usize> = Queue<u8, N>; pub type SCRQ<T, const N: usize> = Queue<(T, u8), N>; #[cfg(armv7m)] +use cortex_m::register::basepri; + +#[cfg(armv7m)] #[inline(always)] pub fn run<F>(priority: u8, f: F) where |