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-rt = "0.6.7"
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"
[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
for dispatcher in ctxt.dispatchers.values() {
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
for task in ctxt.tasks.values() {
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

View file

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