From 023558fcfe7f2f7ddd26b84b37d17f2bca7f4b21 Mon Sep 17 00:00:00 2001 From: chemicstry Date: Fri, 23 Sep 2022 00:51:27 +0300 Subject: [PATCH 1/2] Fix DMA channels for single DAC chips --- stm32data/__main__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/stm32data/__main__.py b/stm32data/__main__.py index a328a94..330800a 100755 --- a/stm32data/__main__.py +++ b/stm32data/__main__.py @@ -1194,6 +1194,13 @@ def parse_dma(): original_target_name = target_name parts = target_name.split(':') target_name = parts[0] + + # Chips with single DAC refer to channels by DAC1/DAC2 + if target_name == "DAC1": + target_name = "DAC_CH1" + if target_name == "DAC2": + target_name = "DAC_CH2" + parts = target_name.split('_') target_peri_name = parts[0] if len(parts) < 2: From bc03bf39146729f2007cf6840f2a4c908f69aa77 Mon Sep 17 00:00:00 2001 From: chemicstry Date: Fri, 23 Sep 2022 01:25:07 +0300 Subject: [PATCH 2/2] Fix DMA channels for L4 DAC --- stm32data/__main__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/stm32data/__main__.py b/stm32data/__main__.py index 330800a..f89988e 100755 --- a/stm32data/__main__.py +++ b/stm32data/__main__.py @@ -839,7 +839,13 @@ def parse_chips(): for p in peris: chs = [] for dma in chip_dmas: - if peri_chs := dma_channels[dma]['peripherals'].get(p['name']): + peri_chs = dma_channels[dma]['peripherals'].get(p['name']) + + # DAC1 is sometimes interchanged with DAC + if not peri_chs and p['name'] == "DAC1": + peri_chs = dma_channels[dma]['peripherals'].get("DAC") + + if peri_chs: chs.extend([ ch for ch in peri_chs