Skip to content

Commit ba8b034

Browse files
committed
[genpinmap] Update alternate pins management
Signed-off-by: Frederic Pillon <[email protected]>
1 parent 899131f commit ba8b034

File tree

1 file changed

+19
-45
lines changed

1 file changed

+19
-45
lines changed

src/genpinmap/genpinmap_arduino.py

Lines changed: 19 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -451,17 +451,9 @@ def print_adc():
451451
s_pin_data += "_ADC_CONTROL"
452452
s_pin_data += ", GPIO_NOPULL, 0, "
453453

454-
prev_p = ""
455-
alt_index = 0
454+
manage_alternate(adclist)
456455

457456
for p in adclist:
458-
if p[0] == prev_p:
459-
p[0] += "_ALT%d" % alt_index
460-
alt_index += 1
461-
store_pin(p[0], p[1], alt_list)
462-
else:
463-
prev_p = p[0]
464-
alt_index = 0
465457
s1 = "%-16s" % (" {" + p[0] + ",")
466458
a = p[2].split("_")
467459
inst = a[0].replace("ADC", "")
@@ -513,17 +505,9 @@ def print_dac():
513505

514506

515507
def print_i2c(lst):
516-
prev_p = ""
517-
alt_index = 0
508+
manage_alternate(lst)
518509
for p in lst:
519510
result = get_gpio_af_num(p[1], p[2])
520-
if p[0] == prev_p:
521-
p[0] += "_ALT%d" % alt_index
522-
store_pin(p[0], p[1], alt_list)
523-
alt_index += 1
524-
else:
525-
prev_p = p[0]
526-
alt_index = 0
527511
s1 = "%-16s" % (" {" + p[0] + ",")
528512
# 2nd element is the I2C XXX signal
529513
b = p[2].split("_")[0]
@@ -545,17 +529,9 @@ def print_i2c(lst):
545529

546530

547531
def print_pwm():
548-
prev_p = ""
549-
alt_index = 0
532+
manage_alternate(pwm_list)
550533
for p in pwm_list:
551534
result = get_gpio_af_num(p[1], p[2])
552-
if p[0] == prev_p:
553-
p[0] += "_ALT%d" % alt_index
554-
store_pin(p[0], p[1], alt_list)
555-
alt_index += 1
556-
else:
557-
prev_p = p[0]
558-
alt_index = 0
559535
s1 = "%-16s" % (" {" + p[0] + ",")
560536
# 2nd element is the PWM signal
561537
a = p[2].split("_")
@@ -583,17 +559,9 @@ def print_pwm():
583559

584560

585561
def print_uart(lst):
586-
prev_p = ""
587-
alt_index = 0
562+
manage_alternate(lst)
588563
for p in lst:
589564
result = get_gpio_af_num(p[1], p[2])
590-
if p[0] == prev_p:
591-
p[0] += "_ALT%d" % alt_index
592-
store_pin(p[0], p[1], alt_list)
593-
alt_index += 1
594-
else:
595-
prev_p = p[0]
596-
alt_index = 0
597565
s1 = "%-16s" % (" {" + p[0] + ",")
598566
# 2nd element is the UART_XX signal
599567
b = p[2].split("_")[0]
@@ -615,17 +583,9 @@ def print_uart(lst):
615583

616584

617585
def print_spi(lst):
618-
prev_p = ""
619-
alt_index = 0
586+
manage_alternate(lst)
620587
for p in lst:
621588
result = get_gpio_af_num(p[1], p[2])
622-
if p[0] == prev_p:
623-
p[0] += "_ALT%d" % alt_index
624-
store_pin(p[0], p[1], alt_list)
625-
alt_index += 1
626-
else:
627-
prev_p = p[0]
628-
alt_index = 0
629589
s1 = "%-15s" % (" {" + p[0] + ",")
630590
# 2nd element is the SPI_XXXX signal
631591
instance = p[2].split("_")[0].replace("SPI", "")
@@ -876,6 +836,20 @@ def print_usb_h():
876836
tokenize = re.compile(r"(\d+)|(\D+)").findall
877837

878838

839+
def manage_alternate(lst):
840+
prev_p = ""
841+
alt_index = 0
842+
for index, p in enumerate(lst):
843+
if p[0] == prev_p:
844+
p[0] += "_ALT%d" % alt_index
845+
lst[index] = p
846+
store_pin(p[0], p[1], alt_list)
847+
alt_index += 1
848+
else:
849+
prev_p = p[0]
850+
alt_index = 0
851+
852+
879853
def natural_sortkey(list_2_elem):
880854
return tuple(int(num) if num else alpha for num, alpha in tokenize(list_2_elem[0]))
881855

0 commit comments

Comments
 (0)