aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Melchior Jacobsen <[email protected]>2022-12-23 15:40:09 +0100
committerRasmus Melchior Jacobsen <[email protected]>2022-12-23 15:40:09 +0100
commite9a2c4a9e38ada8a6927e6dba66d486d190edf21 (patch)
tree1e9a44d997c8bb1f7909cb92f1327bc220bb7ef6
parent662bb5797f7723f16b0d5211c17e6a9fdeb2cf50 (diff)
Let start_write_repeated accept pointer instead of slice
-rw-r--r--embassy-stm32/src/dma/bdma.rs4
-rw-r--r--embassy-stm32/src/dma/dma.rs4
-rw-r--r--embassy-stm32/src/dma/gpdma.rs4
-rw-r--r--embassy-stm32/src/dma/mod.rs4
4 files changed, 8 insertions, 8 deletions
diff --git a/embassy-stm32/src/dma/bdma.rs b/embassy-stm32/src/dma/bdma.rs
index 7da22ec12..bc51cdc43 100644
--- a/embassy-stm32/src/dma/bdma.rs
+++ b/embassy-stm32/src/dma/bdma.rs
@@ -78,7 +78,7 @@ foreach_dma_channel! {
78 ); 78 );
79 } 79 }
80 80
81 unsafe fn start_write_repeated<W: Word>(&mut self, _request: Request, repeated: &[W; 1], count: usize, reg_addr: *mut W, options: TransferOptions) { 81 unsafe fn start_write_repeated<W: Word>(&mut self, _request: Request, repeated: *const [W], count: usize, reg_addr: *mut W, options: TransferOptions) {
82 low_level_api::start_transfer( 82 low_level_api::start_transfer(
83 pac::$dma_peri, 83 pac::$dma_peri,
84 $channel_num, 84 $channel_num,
@@ -86,7 +86,7 @@ foreach_dma_channel! {
86 _request, 86 _request,
87 vals::Dir::FROMMEMORY, 87 vals::Dir::FROMMEMORY,
88 reg_addr as *const u32, 88 reg_addr as *const u32,
89 repeated.as_ptr() as *mut u32, 89 repeated as *mut u32,
90 count, 90 count,
91 false, 91 false,
92 vals::Size::from(W::bits()), 92 vals::Size::from(W::bits()),
diff --git a/embassy-stm32/src/dma/dma.rs b/embassy-stm32/src/dma/dma.rs
index 45a38dda4..250505859 100644
--- a/embassy-stm32/src/dma/dma.rs
+++ b/embassy-stm32/src/dma/dma.rs
@@ -102,14 +102,14 @@ foreach_dma_channel! {
102 ) 102 )
103 } 103 }
104 104
105 unsafe fn start_write_repeated<W: Word>(&mut self, request: Request, repeated: &[W; 1], count: usize, reg_addr: *mut W, options: TransferOptions) { 105 unsafe fn start_write_repeated<W: Word>(&mut self, request: Request, repeated: *const [W], count: usize, reg_addr: *mut W, options: TransferOptions) {
106 low_level_api::start_transfer( 106 low_level_api::start_transfer(
107 pac::$dma_peri, 107 pac::$dma_peri,
108 $channel_num, 108 $channel_num,
109 request, 109 request,
110 vals::Dir::MEMORYTOPERIPHERAL, 110 vals::Dir::MEMORYTOPERIPHERAL,
111 reg_addr as *const u32, 111 reg_addr as *const u32,
112 repeated.as_ptr() as *mut u32, 112 repeated as *mut u32,
113 count, 113 count,
114 false, 114 false,
115 vals::Size::from(W::bits()), 115 vals::Size::from(W::bits()),
diff --git a/embassy-stm32/src/dma/gpdma.rs b/embassy-stm32/src/dma/gpdma.rs
index 46d8715b9..87c0dfdf0 100644
--- a/embassy-stm32/src/dma/gpdma.rs
+++ b/embassy-stm32/src/dma/gpdma.rs
@@ -75,14 +75,14 @@ foreach_dma_channel! {
75 ) 75 )
76 } 76 }
77 77
78 unsafe fn start_write_repeated<W: Word>(&mut self, request: Request, repeated: &[W; 1], count: usize, reg_addr: *mut W, options: TransferOptions) { 78 unsafe fn start_write_repeated<W: Word>(&mut self, request: Request, repeated: *const [W], count: usize, reg_addr: *mut W, options: TransferOptions) {
79 low_level_api::start_transfer( 79 low_level_api::start_transfer(
80 pac::$dma_peri, 80 pac::$dma_peri,
81 $channel_num, 81 $channel_num,
82 request, 82 request,
83 low_level_api::Dir::MemoryToPeripheral, 83 low_level_api::Dir::MemoryToPeripheral,
84 reg_addr as *const u32, 84 reg_addr as *const u32,
85 repeated.as_ptr() as *mut u32, 85 repeated as *mut u32,
86 count, 86 count,
87 false, 87 false,
88 W::bits(), 88 W::bits(),
diff --git a/embassy-stm32/src/dma/mod.rs b/embassy-stm32/src/dma/mod.rs
index 31f55b868..706bcff30 100644
--- a/embassy-stm32/src/dma/mod.rs
+++ b/embassy-stm32/src/dma/mod.rs
@@ -59,7 +59,7 @@ pub(crate) mod sealed {
59 unsafe fn start_write_repeated<W: super::Word>( 59 unsafe fn start_write_repeated<W: super::Word>(
60 &mut self, 60 &mut self,
61 request: Request, 61 request: Request,
62 repeated: &[W; 1], 62 repeated: *const [W],
63 count: usize, 63 count: usize,
64 reg_addr: *mut W, 64 reg_addr: *mut W,
65 options: TransferOptions, 65 options: TransferOptions,
@@ -246,7 +246,7 @@ mod transfers {
246 pub fn write_repeated<'a, W: Word>( 246 pub fn write_repeated<'a, W: Word>(
247 channel: impl Peripheral<P = impl Channel> + 'a, 247 channel: impl Peripheral<P = impl Channel> + 'a,
248 request: Request, 248 request: Request,
249 repeated: &[W; 1], 249 repeated: *const [W],
250 count: usize, 250 count: usize,
251 reg_addr: *mut W, 251 reg_addr: *mut W,
252 ) -> impl Future<Output = ()> + 'a { 252 ) -> impl Future<Output = ()> + 'a {