Skip to content

Commit 99c1d82

Browse files
committed
[genpinmap] Update alternate pins management
Signed-off-by: Frederic Pillon <[email protected]>
1 parent 5c2dc62 commit 99c1d82

File tree

1 file changed

+19
-45
lines changed

1 file changed

+19
-45
lines changed

src/genpinmap/genpinmap_arduino.py

+19-45
Original file line numberDiff line numberDiff line change
@@ -452,17 +452,9 @@ def print_adc():
452452
s_pin_data += "_ADC_CONTROL"
453453
s_pin_data += ", GPIO_NOPULL, 0, "
454454

455-
prev_p = ""
456-
alt_index = 0
455+
manage_alternate(adclist)
457456

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

515507

516508
def print_i2c(lst):
517-
prev_p = ""
518-
alt_index = 0
509+
manage_alternate(lst)
519510
for p in lst:
520511
result = get_gpio_af_num(p[1], p[2])
521-
if p[0] == prev_p:
522-
p[0] += "_ALT%d" % alt_index
523-
store_pin(p[0], p[1], alt_list)
524-
alt_index += 1
525-
else:
526-
prev_p = p[0]
527-
alt_index = 0
528512
s1 = "%-16s" % (" {" + p[0] + ",")
529513
# 2nd element is the I2C XXX signal
530514
b = p[2].split("_")[0]
@@ -546,17 +530,9 @@ def print_i2c(lst):
546530

547531

548532
def print_pwm():
549-
prev_p = ""
550-
alt_index = 0
533+
manage_alternate(pwm_list)
551534
for p in pwm_list:
552535
result = get_gpio_af_num(p[1], p[2])
553-
if p[0] == prev_p:
554-
p[0] += "_ALT%d" % alt_index
555-
store_pin(p[0], p[1], alt_list)
556-
alt_index += 1
557-
else:
558-
prev_p = p[0]
559-
alt_index = 0
560536
s1 = "%-16s" % (" {" + p[0] + ",")
561537
# 2nd element is the PWM signal
562538
a = p[2].split("_")
@@ -584,17 +560,9 @@ def print_pwm():
584560

585561

586562
def print_uart(lst):
587-
prev_p = ""
588-
alt_index = 0
563+
manage_alternate(lst)
589564
for p in lst:
590565
result = get_gpio_af_num(p[1], p[2])
591-
if p[0] == prev_p:
592-
p[0] += "_ALT%d" % alt_index
593-
store_pin(p[0], p[1], alt_list)
594-
alt_index += 1
595-
else:
596-
prev_p = p[0]
597-
alt_index = 0
598566
s1 = "%-16s" % (" {" + p[0] + ",")
599567
# 2nd element is the UART_XX signal
600568
b = p[2].split("_")[0]
@@ -616,17 +584,9 @@ def print_uart(lst):
616584

617585

618586
def print_spi(lst):
619-
prev_p = ""
620-
alt_index = 0
587+
manage_alternate(lst)
621588
for p in lst:
622589
result = get_gpio_af_num(p[1], p[2])
623-
if p[0] == prev_p:
624-
p[0] += "_ALT%d" % alt_index
625-
store_pin(p[0], p[1], alt_list)
626-
alt_index += 1
627-
else:
628-
prev_p = p[0]
629-
alt_index = 0
630590
s1 = "%-15s" % (" {" + p[0] + ",")
631591
# 2nd element is the SPI_XXXX signal
632592
instance = p[2].split("_")[0].replace("SPI", "")
@@ -877,6 +837,20 @@ def print_usb_h():
877837
tokenize = re.compile(r"(\d+)|(\D+)").findall
878838

879839

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

0 commit comments

Comments
 (0)