aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-10-22 13:54:24 +0000
committerGitHub <[email protected]>2021-10-22 13:54:24 +0000
commite038834ac331af8852eeb674584400245f6b42d7 (patch)
treeef925b247df9ae0b66b7cd0a890a7c35f0e8964b
parent2b4e2bcbaeed7702fd78dafcaa7bd30570f2c746 (diff)
parent4fbac401206500327eed532bd9f46b8d58f4300a (diff)
Merge #445
445: Workaround duplicity of DMA channel declaration when the target chip … r=Dirbaio a=matoushybl …specifies more than one request, by processing only the first declared request for the channel. Fixes #443 . Co-authored-by: Matous Hybl <[email protected]>
-rw-r--r--stm32-metapac-gen/src/lib.rs24
1 files changed, 16 insertions, 8 deletions
diff --git a/stm32-metapac-gen/src/lib.rs b/stm32-metapac-gen/src/lib.rs
index 5c0f1d00c..79dd734ce 100644
--- a/stm32-metapac-gen/src/lib.rs
+++ b/stm32-metapac-gen/src/lib.rs
@@ -379,19 +379,27 @@ pub fn gen(options: Options) {
379 row.push(bi.module.clone()); 379 row.push(bi.module.clone());
380 row.push(bi.block.clone()); 380 row.push(bi.block.clone());
381 row.push(request.clone()); 381 row.push(request.clone());
382 if let Some(channel) = &channel.channel { 382 row.push(if let Some(channel) = &channel.channel {
383 row.push(format!("{{channel: {}}}", channel)); 383 format!("{{channel: {}}}", channel)
384 } else if let Some(dmamux) = &channel.dmamux { 384 } else if let Some(dmamux) = &channel.dmamux {
385 row.push(format!("{{dmamux: {}}}", dmamux)); 385 format!("{{dmamux: {}}}", dmamux)
386 } else { 386 } else {
387 unreachable!(); 387 unreachable!();
388 } 388 });
389 if let Some(request) = channel.request { 389
390 row.push(request.to_string()); 390 row.push(if let Some(request) = channel.request {
391 request.to_string()
391 } else { 392 } else {
392 row.push("()".to_string()); 393 "()".to_string()
394 });
395
396 if peripheral_dma_channels_table
397 .iter()
398 .find(|a| a[..a.len() - 1] == row[..row.len() - 1])
399 .is_none()
400 {
401 peripheral_dma_channels_table.push(row);
393 } 402 }
394 peripheral_dma_channels_table.push(row);
395 } 403 }
396 } 404 }
397 405