66
66
datetime .datetime .now ().year
67
67
)
68
68
69
-
69
+ # GPIO file parsing
70
70
def find_gpio_file ():
71
71
res = "ERROR"
72
72
itemlist = xml_mcu .getElementsByTagName ("IP" )
@@ -495,7 +495,6 @@ def print_adc():
495
495
s_pin_data += "_ADC_CONTROL"
496
496
s_pin_data += ", GPIO_NOPULL, 0, "
497
497
498
- manage_alternate (adclist )
499
498
wpin = width_format (adclist )
500
499
501
500
for p in adclist :
@@ -542,7 +541,6 @@ def print_dac():
542
541
543
542
544
543
def print_i2c (lst ):
545
- manage_alternate (lst )
546
544
wpin = width_format (lst )
547
545
for p in lst :
548
546
result = get_gpio_af_num (p [1 ], p [2 ])
@@ -562,7 +560,6 @@ def print_i2c(lst):
562
560
563
561
564
562
def print_pwm ():
565
- manage_alternate (pwm_list )
566
563
wpin = width_format (pwm_list )
567
564
568
565
for p in pwm_list :
@@ -589,7 +586,6 @@ def print_pwm():
589
586
590
587
591
588
def print_uart (lst ):
592
- manage_alternate (lst )
593
589
wpin = width_format (lst )
594
590
for p in lst :
595
591
result = get_gpio_af_num (p [1 ], p [2 ])
@@ -609,7 +605,6 @@ def print_uart(lst):
609
605
610
606
611
607
def print_spi (lst ):
612
- manage_alternate (lst )
613
608
wpin = width_format (lst )
614
609
for p in lst :
615
610
result = get_gpio_af_num (p [1 ], p [2 ])
@@ -848,11 +843,10 @@ def print_usb_h():
848
843
pinvar_h_file .write ("#endif\n " )
849
844
850
845
846
+ # Variant files generation
851
847
def spi_pins_variant ():
852
848
ss_pin = ss1_pin = ss2_pin = ss3_pin = mosi_pin = miso_pin = sck_pin = "PYn"
853
849
854
- # mosi_pin = spimosi_list[0][0].replace("_", "")
855
- # mosi_inst = spimosi_list[0][2].split("_", 1)[0]
856
850
# Iterate to find match instance if any
857
851
for mosi in spimosi_list :
858
852
mosi_inst = mosi [2 ].split ("_" , 1 )[0 ]
@@ -1133,20 +1127,7 @@ def print_variant():
1133
1127
)
1134
1128
1135
1129
1136
- def manage_alternate (lst ):
1137
- prev_p = ""
1138
- alt_index = 0
1139
- for index , p in enumerate (lst ):
1140
- if p [0 ] == prev_p :
1141
- p [0 ] += "_ALT%d" % alt_index
1142
- lst [index ] = p
1143
- store_pin (p [0 ], p [1 ], alt_list )
1144
- alt_index += 1
1145
- else :
1146
- prev_p = p [0 ]
1147
- alt_index = 0
1148
-
1149
-
1130
+ # List management
1150
1131
tokenize = re .compile (r"(\d+)|(\D+)" ).findall
1151
1132
1152
1133
@@ -1160,7 +1141,6 @@ def natural_sortkey2(list_2_elem):
1160
1141
1161
1142
def sort_my_lists ():
1162
1143
io_list .sort (key = natural_sortkey )
1163
- alt_list .sort (key = natural_sortkey )
1164
1144
dualpad_list .sort (key = natural_sortkey )
1165
1145
remap_list .sort (key = natural_sortkey )
1166
1146
adclist .sort (key = natural_sortkey )
@@ -1227,6 +1207,53 @@ def clean_all_lists():
1227
1207
del sd_list [:]
1228
1208
1229
1209
1210
+ def manage_alternate ():
1211
+ update_alternate (adclist )
1212
+ update_alternate (daclist )
1213
+ update_alternate (i2cscl_list )
1214
+ update_alternate (i2csda_list )
1215
+ update_alternate (pwm_list )
1216
+ update_alternate (uarttx_list )
1217
+ update_alternate (uartrx_list )
1218
+ update_alternate (uartcts_list )
1219
+ update_alternate (uartrts_list )
1220
+ update_alternate (spimosi_list )
1221
+ update_alternate (spimiso_list )
1222
+ update_alternate (spissel_list )
1223
+ update_alternate (spisclk_list )
1224
+ update_alternate (cantd_list )
1225
+ update_alternate (canrd_list )
1226
+ update_alternate (eth_list )
1227
+ update_alternate (quadspidata0_list )
1228
+ update_alternate (quadspidata1_list )
1229
+ update_alternate (quadspidata2_list )
1230
+ update_alternate (quadspidata3_list )
1231
+ update_alternate (quadspisclk_list )
1232
+ update_alternate (quadspissel_list )
1233
+ update_alternate (syswkup_list )
1234
+ update_alternate (usb_list )
1235
+ update_alternate (usb_otgfs_list )
1236
+ update_alternate (usb_otghs_list )
1237
+ update_alternate (sd_list )
1238
+
1239
+ alt_list .sort (key = natural_sortkey )
1240
+
1241
+
1242
+
1243
+ def update_alternate (lst ):
1244
+ prev_p = ""
1245
+ alt_index = 1
1246
+ for index , p in enumerate (lst ):
1247
+ if p [0 ] == prev_p :
1248
+ p [0 ] += "_ALT%d" % alt_index
1249
+ lst [index ] = p
1250
+ store_pin (p [0 ], p [1 ], alt_list )
1251
+ alt_index += 1
1252
+ else :
1253
+ prev_p = p [0 ]
1254
+ alt_index = 1
1255
+
1256
+
1230
1257
def parse_pins ():
1231
1258
print (" * Getting pins per Ips..." )
1232
1259
pinregex = r"^(P[A-Z][0-9][0-5]?[_]?[C]?)|^(ANA[0-9])"
@@ -1445,6 +1472,7 @@ def parse_pins():
1445
1472
1446
1473
parse_pins ()
1447
1474
sort_my_lists ()
1475
+ manage_alternate ()
1448
1476
print_periph_header ()
1449
1477
print_all_lists ()
1450
1478
print_variant ()
0 commit comments