diff options
author | 2023-01-04 21:08:44 +0100 | |
---|---|---|
committer | 2023-03-01 00:31:05 +0100 | |
commit | 858320cbfc391a74bff6b9c8a0b3c7696a232b76 (patch) | |
tree | 4578119b03f33d16e93e6b151a73ce51ae7221cc /src/export.rs | |
parent | 5c3cedf69ad07cb8522a0b040bdbf1f9ca4cf37b (diff) | |
download | rtic-858320cbfc391a74bff6b9c8a0b3c7696a232b76.tar.gz rtic-858320cbfc391a74bff6b9c8a0b3c7696a232b76.tar.zst rtic-858320cbfc391a74bff6b9c8a0b3c7696a232b76.zip |
Even more cleanup
Diffstat (limited to '')
-rw-r--r-- | src/export.rs | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/src/export.rs b/src/export.rs index da4a6917..82320fbb 100644 --- a/src/export.rs +++ b/src/export.rs @@ -15,65 +15,6 @@ pub use cortex_m::{ peripheral::{scb::SystemHandler, DWT, NVIC, SCB, SYST}, Peripherals, }; -pub use heapless::sorted_linked_list::SortedLinkedList; -pub use heapless::spsc::Queue; -pub use heapless::BinaryHeap; -pub use heapless::Vec; -pub use rtic_monotonic as monotonic; - -pub mod idle_executor { - use core::{ - future::Future, - pin::Pin, - task::{Context, Poll, RawWaker, RawWakerVTable, Waker}, - }; - - fn no_op(_: *const ()) {} - fn no_op_clone(_: *const ()) -> RawWaker { - noop_raw_waker() - } - - static IDLE_WAKER_TABLE: RawWakerVTable = RawWakerVTable::new(no_op_clone, no_op, no_op, no_op); - - #[inline] - fn noop_raw_waker() -> RawWaker { - RawWaker::new(core::ptr::null(), &IDLE_WAKER_TABLE) - } - - pub struct IdleExecutor<T> - where - T: Future, - { - idle: T, - } - - impl<T> IdleExecutor<T> - where - T: Future, - { - #[inline(always)] - pub fn new(idle: T) -> Self { - Self { idle } - } - - #[inline(always)] - pub fn run(&mut self) -> ! { - let w = unsafe { Waker::from_raw(noop_raw_waker()) }; - let mut ctxt = Context::from_waker(&w); - loop { - match unsafe { Pin::new_unchecked(&mut self.idle) }.poll(&mut ctxt) { - Poll::Pending => { - // All ok! - } - Poll::Ready(_) => { - // The idle executor will never return - unreachable!() - } - } - } - } - } -} pub mod executor { use core::{ @@ -143,10 +84,6 @@ pub mod executor { } } -pub type SCFQ<const N: usize> = Queue<u8, N>; -pub type SCRQ<T, const N: usize> = Queue<(T, u8), N>; -pub type ASYNCRQ<T, const N: usize> = Queue<T, N>; - /// Mask is used to store interrupt masks on systems without a BASEPRI register (M0, M0+, M23). /// It needs to be large enough to cover all the relevant interrupts in use. /// For M0/M0+ there are only 32 interrupts so we only need one u32 value. @@ -290,13 +227,6 @@ where { } -#[inline(always)] -pub fn assert_monotonic<T>() -where - T: monotonic::Monotonic, -{ -} - /// Lock implementation using BASEPRI and global Critical Section (CS) /// /// # Safety |