@@ -1056,32 +1056,21 @@ def print_peripheral():
10561056
10571057# PinNamesVar.h generation
10581058def manage_syswkup ():
1059- syswkup_pins_list = []
1059+ syswkup_pins_list = [[] for _ in range ( 8 ) ]
10601060 if len (syswkup_list ) != 0 :
1061- # H7xx and F446 start from 0, inc by 1
1062- inc = 0
1061+ # H7xx and F446 start from 0
1062+ base_index = 1
10631063 if syswkup_list [0 ][2 ].replace ("SYS_WKUP" , "" ) == "0" :
1064- inc = 1
1065- # Fill list with missing SYS_WKUPx set to NC
1066- i = 0
1067- while i < 8 :
1068- num = 0
1069- if len (syswkup_list ) > i :
1070- n = syswkup_list [i ][2 ].replace ("SYS_WKUP" , "" )
1071- if len (n ) != 0 :
1072- num = int (n ) if inc == 1 else int (n ) - 1
1073- x = i if inc == 1 else i + 1
1074- if num != i :
1075- syswkup_list .insert (i , ["NC" , "NC_" + str (x ), "SYS_WKUP" + str (x )])
1076- i += 1
1064+ base_index = 0
10771065 for p in syswkup_list :
10781066 num = p [2 ].replace ("SYS_WKUP" , "" )
1079- if ( inc == 1 ) and ( p [ 0 ] != "NC" ):
1080- cmt = " /* " + p [ 2 ] + " */"
1081- else :
1067+ num = int ( num ) if num else 1
1068+ if base_index == 1 :
1069+ num -= 1
10821070 cmt = ""
1083- syswkup_pins_list .append ([p [0 ], cmt ])
1084-
1071+ else :
1072+ cmt = " /* " + p [2 ] + " */"
1073+ syswkup_pins_list [num ].append ([p [0 ], cmt ])
10851074 return syswkup_pins_list
10861075
10871076
@@ -1127,6 +1116,12 @@ def print_pinamevar():
11271116 usb_pins_list = sorted_usb_pins_list ,
11281117 )
11291118 )
1119+ alt_syswkup_list = []
1120+ for idx , syswkup_list in enumerate (syswkup_pins_list , start = 1 ):
1121+ if len (syswkup_list ) > 1 :
1122+ for idx2 , lst in enumerate (syswkup_list [1 :], start = 1 ):
1123+ alt_syswkup_list .append ("{}_{}" .format (idx , idx2 ))
1124+ return alt_syswkup_list
11301125
11311126
11321127# Variant files generation
@@ -1253,7 +1248,7 @@ def timer_variant():
12531248 return dict (tone = tone , servo = servo )
12541249
12551250
1256- def print_variant (generic_list ):
1251+ def print_variant (generic_list , alt_syswkup_list ):
12571252 variant_h_template = j2_env .get_template (variant_h_filename )
12581253 variant_cpp_template = j2_env .get_template (variant_cpp_filename )
12591254
@@ -1344,6 +1339,7 @@ def print_variant(generic_list):
13441339 year = datetime .datetime .now ().year ,
13451340 pins_number_list = pins_number_list ,
13461341 alt_pins_list = alt_pins_list ,
1342+ alt_syswkup_list = alt_syswkup_list ,
13471343 waltpin = max (waltpin ),
13481344 num_digital_pins = num_digital_pins ,
13491345 num_dualpad_pins = num_dualpad_pins ,
@@ -2375,8 +2371,9 @@ def manage_repo():
23752371 generic_list = print_boards_entry ()
23762372 print_general_clock (generic_list )
23772373 print_peripheral ()
2378- print_pinamevar ()
2379- print_variant (generic_list )
2374+ alt_syswkup_list = print_pinamevar ()
2375+ print_variant (generic_list , alt_syswkup_list )
2376+ del alt_syswkup_list [:]
23802377 del generic_list [:]
23812378 print (
23822379 "* Total I/O pins found: {}" .format (
0 commit comments