aboutsummaryrefslogtreecommitdiff
path: root/embassy-time/src/queue_generic.rs
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-04-13 23:50:41 +0200
committerDario Nieuwenhuis <[email protected]>2023-04-13 23:57:20 +0200
commite7ff759f1ca78a5b53c1ea95c24a6317227dc8b0 (patch)
tree0e0cca2dcbe49545b0b7edd2125b62e7955db471 /embassy-time/src/queue_generic.rs
parent62ecd973504644fa5e9f6d69d772c2f3b8903f50 (diff)
time: remove dependency on embassy-sync.
Diffstat (limited to 'embassy-time/src/queue_generic.rs')
-rw-r--r--embassy-time/src/queue_generic.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/embassy-time/src/queue_generic.rs b/embassy-time/src/queue_generic.rs
index 20ae7e6cc..0f67d9dbb 100644
--- a/embassy-time/src/queue_generic.rs
+++ b/embassy-time/src/queue_generic.rs
@@ -2,8 +2,7 @@ use core::cell::RefCell;
2use core::cmp::{min, Ordering}; 2use core::cmp::{min, Ordering};
3use core::task::Waker; 3use core::task::Waker;
4 4
5use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; 5use critical_section::Mutex;
6use embassy_sync::blocking_mutex::Mutex;
7use heapless::Vec; 6use heapless::Vec;
8 7
9use crate::driver::{allocate_alarm, set_alarm, set_alarm_callback, AlarmHandle}; 8use crate::driver::{allocate_alarm, set_alarm, set_alarm_callback, AlarmHandle};
@@ -129,7 +128,7 @@ impl InnerQueue {
129} 128}
130 129
131struct Queue { 130struct Queue {
132 inner: Mutex<CriticalSectionRawMutex, RefCell<Option<InnerQueue>>>, 131 inner: Mutex<RefCell<Option<InnerQueue>>>,
133} 132}
134 133
135impl Queue { 134impl Queue {
@@ -140,8 +139,8 @@ impl Queue {
140 } 139 }
141 140
142 fn schedule_wake(&'static self, at: Instant, waker: &Waker) { 141 fn schedule_wake(&'static self, at: Instant, waker: &Waker) {
143 self.inner.lock(|inner| { 142 critical_section::with(|cs| {
144 let mut inner = inner.borrow_mut(); 143 let mut inner = self.inner.borrow_ref_mut(cs);
145 144
146 if inner.is_none() {} 145 if inner.is_none() {}
147 146
@@ -159,8 +158,7 @@ impl Queue {
159 } 158 }
160 159
161 fn handle_alarm(&self) { 160 fn handle_alarm(&self) {
162 self.inner 161 critical_section::with(|cs| self.inner.borrow_ref_mut(cs).as_mut().unwrap().handle_alarm())
163 .lock(|inner| inner.borrow_mut().as_mut().unwrap().handle_alarm());
164 } 162 }
165 163
166 fn handle_alarm_callback(ctx: *mut ()) { 164 fn handle_alarm_callback(ctx: *mut ()) {