aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-stm32/src/dma/bdma.rs7
-rw-r--r--embassy-stm32/src/dma/dma.rs7
2 files changed, 6 insertions, 8 deletions
diff --git a/embassy-stm32/src/dma/bdma.rs b/embassy-stm32/src/dma/bdma.rs
index a33543f76..3d06b6351 100644
--- a/embassy-stm32/src/dma/bdma.rs
+++ b/embassy-stm32/src/dma/bdma.rs
@@ -163,7 +163,7 @@ pac::dma_channels! {
163 } 163 }
164 164
165 fn set_waker(&mut self, waker: &Waker) { 165 fn set_waker(&mut self, waker: &Waker) {
166 unsafe {low_level_api::set_waker(crate::pac::$dma_peri, $channel_num, waker )} 166 unsafe {low_level_api::set_waker(dma_num!($dma_peri) * 8 + $channel_num, waker )}
167 } 167 }
168 } 168 }
169 169
@@ -255,9 +255,8 @@ mod low_level_api {
255 } 255 }
256 256
257 /// Sets the waker for the specified DMA channel 257 /// Sets the waker for the specified DMA channel
258 pub unsafe fn set_waker(_dma: pac::bdma::Dma, state_number: u8, waker: &Waker) { 258 pub unsafe fn set_waker(state_number: usize, waker: &Waker) {
259 let n = state_number as usize; 259 STATE.ch_wakers[state_number].register(waker);
260 STATE.ch_wakers[n].register(waker);
261 } 260 }
262 261
263 pub unsafe fn reset_status(dma: pac::bdma::Dma, channel_number: u8) { 262 pub unsafe fn reset_status(dma: pac::bdma::Dma, channel_number: u8) {
diff --git a/embassy-stm32/src/dma/dma.rs b/embassy-stm32/src/dma/dma.rs
index a5a959df4..baed24603 100644
--- a/embassy-stm32/src/dma/dma.rs
+++ b/embassy-stm32/src/dma/dma.rs
@@ -158,7 +158,7 @@ pac::dma_channels! {
158 } 158 }
159 159
160 fn set_waker(&mut self, waker: &Waker) { 160 fn set_waker(&mut self, waker: &Waker) {
161 unsafe {low_level_api::set_waker(&crate::pac::$dma_peri, $channel_num, waker )} 161 unsafe {low_level_api::set_waker(dma_num!($dma_peri) * 8 + $channel_num, waker )}
162 } 162 }
163 } 163 }
164 164
@@ -258,9 +258,8 @@ mod low_level_api {
258 } 258 }
259 259
260 /// Sets the waker for the specified DMA channel 260 /// Sets the waker for the specified DMA channel
261 pub unsafe fn set_waker(_dma: &pac::dma::Dma, state_number: u8, waker: &Waker) { 261 pub unsafe fn set_waker(state_number: usize, waker: &Waker) {
262 let n = state_number as usize; 262 STATE.ch_wakers[state_number].register(waker);
263 STATE.ch_wakers[n].register(waker);
264 } 263 }
265 264
266 pub unsafe fn reset_status(dma: &crate::pac::dma::Dma, isrn: usize, isrbit: usize) { 265 pub unsafe fn reset_status(dma: &crate::pac::dma::Dma, isrn: usize, isrbit: usize) {