From 27b8aca673bf8ee81013d79cb9cdae59e8b391fd Mon Sep 17 00:00:00 2001 From: Emil Fresk Date: Mon, 20 Jun 2022 14:54:17 +0200 Subject: Added intrusive linked list for the waker queue --- macros/src/codegen/timer_queue.rs | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'macros/src/codegen/timer_queue.rs') diff --git a/macros/src/codegen/timer_queue.rs b/macros/src/codegen/timer_queue.rs index 513f78af..db6a9e3d 100644 --- a/macros/src/codegen/timer_queue.rs +++ b/macros/src/codegen/timer_queue.rs @@ -67,13 +67,7 @@ pub fn codegen(app: &App, analysis: &Analysis, _extra: &Extra) -> Vec); + let tq_ty = quote!(rtic::export::TimerQueue<#mono_type, #t, #n_task>); // For future use // let doc = format!(" RTIC internal: {}:{}", file!(), line!()); @@ -84,7 +78,7 @@ pub fn codegen(app: &App, analysis: &Analysis, _extra: &Extra) -> Vec = rtic::RacyCell::new( rtic::export::TimerQueue { task_queue: rtic::export::SortedLinkedList::new_u16(), - waker_queue: rtic::export::SortedLinkedList::new_u16(), + waker_queue: rtic::export::IntrusiveSortedLinkedList::new(), } ); )); @@ -148,7 +142,7 @@ pub fn codegen(app: &App, analysis: &Analysis, _extra: &Extra) -> Vec Vec waker.wake(), - rtic::export::TaskOrWaker::Task((task, index)) => { - match task { - #(#arms)* - } - } + match task { + #(#arms)* } } -- cgit v1.2.3