From f735a442f6d8b28ab8fa83c83d8ea20adc0eda07 Mon Sep 17 00:00:00 2001 From: Frederic Pillon Date: Thu, 24 Oct 2019 16:01:55 +0200 Subject: [PATCH] [genpinmap] Add support for STM32MP1 STM32MP1 has additional pin definitions such as ANA1 for ADC Signed-off-by: Frederic Pillon --- src/genpinmap/genpinmap_arduino.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/genpinmap/genpinmap_arduino.py b/src/genpinmap/genpinmap_arduino.py index 645b1a8d..e872f5d5 100644 --- a/src/genpinmap/genpinmap_arduino.py +++ b/src/genpinmap/genpinmap_arduino.py @@ -850,16 +850,19 @@ def clean_all_lists(): def parse_pins(): print(" * Getting pins per Ips...") - pinregex = r"^(P[A-Z][0-9][0-5]?)" + pinregex = r"^(P[A-Z][0-9][0-5]?)|^(ANA[0-9])" itemlist = xml_mcu.getElementsByTagName("Pin") for s in itemlist: m = re.match(pinregex, s.attributes["Name"].value) if m: - pin = ( - m.group(0)[:2] + "_" + m.group(0)[2:] - ) # pin formatted P_: PF_O + if m.group(1) is not None: + # pin formatted P_: PF_O + pin = m.group(0)[:2] + "_" + m.group(0)[2:] + else: + # pin formatted ANA_: ANA_1 + pin = m.group(0)[:3] + "_" + m.group(0)[3:] name = s.attributes["Name"].value.strip() # full name: "PF0 / OSC_IN" - if s.attributes["Type"].value == "I/O": + if s.attributes["Type"].value in ["I/O", "MonoIO"]: store_pin(pin, name) else: continue @@ -986,7 +989,7 @@ if args.mcu: quit() mcu_list.append(args.mcu) else: - mcu_list = fnmatch.filter(os.listdir(cubemxdir), "STM32[!M][!P]*.xml") + mcu_list = fnmatch.filter(os.listdir(cubemxdir), "STM32*.xml") if args.list: print("Available xml files description: %i" % len(mcu_list))