use the single core variant of spsc::Queue

This commit is contained in:
Jorge Aparicio 2018-12-16 01:11:54 +01:00
parent 8ac60ce369
commit 9757c33b00
3 changed files with 6 additions and 6 deletions

View file

@ -37,7 +37,7 @@ required-features = ["timer-queue"]
cortex-m = "0.5.8" cortex-m = "0.5.8"
cortex-m-rt = "0.6.7" cortex-m-rt = "0.6.7"
cortex-m-rtfm-macros = { path = "macros", version = "0.4.0-beta.3" } cortex-m-rtfm-macros = { path = "macros", version = "0.4.0-beta.3" }
heapless = "0.4.0" heapless = "0.4.1"
owned-singleton = "0.1.0" owned-singleton = "0.1.0"
[dev-dependencies] [dev-dependencies]

View file

@ -1594,13 +1594,13 @@ fn pre_init(ctxt: &Context, app: &App, analysis: &Analysis) -> proc_macro2::Toke
// these are `MaybeUninit` `ReadyQueue`s // these are `MaybeUninit` `ReadyQueue`s
for dispatcher in ctxt.dispatchers.values() { for dispatcher in ctxt.dispatchers.values() {
let rq = &dispatcher.ready_queue; let rq = &dispatcher.ready_queue;
exprs.push(quote!(#rq.set(rtfm::export::ReadyQueue::new());)) exprs.push(quote!(#rq.set(rtfm::export::ReadyQueue::new_sc());))
} }
// these are `MaybeUninit` `FreeQueue`s // these are `MaybeUninit` `FreeQueue`s
for task in ctxt.tasks.values() { for task in ctxt.tasks.values() {
let fq = &task.free_queue; let fq = &task.free_queue;
exprs.push(quote!(#fq.set(rtfm::export::FreeQueue::new());)) exprs.push(quote!(#fq.set(rtfm::export::FreeQueue::new_sc());))
} }
// end-of-FIXME // end-of-FIXME

View file

@ -12,13 +12,13 @@ pub use cortex_m::{
}; };
pub use cortex_m_rt::{entry, exception}; pub use cortex_m_rt::{entry, exception};
pub use heapless::consts; pub use heapless::consts;
use heapless::spsc::Queue; use heapless::spsc::{Queue, SingleCore};
#[cfg(feature = "timer-queue")] #[cfg(feature = "timer-queue")]
pub use crate::tq::{isr as sys_tick, NotReady, TimerQueue}; pub use crate::tq::{isr as sys_tick, NotReady, TimerQueue};
pub type FreeQueue<N> = Queue<u8, N>; pub type FreeQueue<N> = Queue<u8, N, usize, SingleCore>;
pub type ReadyQueue<T, N> = Queue<(T, u8), N>; pub type ReadyQueue<T, N> = Queue<(T, u8), N, usize, SingleCore>;
#[cfg(armv7m)] #[cfg(armv7m)]
#[inline(always)] #[inline(always)]