Skip to content

Commit c4b84c4

Browse files
committed
Merge branch 'main' into cmake_dev
2 parents 02e802b + c5830fb commit c4b84c4

File tree

984 files changed

+117134
-52246
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

984 files changed

+117134
-52246
lines changed

Diff for: .github/workflows/arduino-lint.yml

+2
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,5 @@ jobs:
1717

1818
- name: Arduino Lint
1919
uses: arduino/arduino-lint-action@v1
20+
with:
21+
version: 1.2.0

Diff for: CI/build/conf/cores_config.json

+180-155
Large diffs are not rendered by default.

Diff for: CI/build/conf/cores_config_ci.json

+180-155
Large diffs are not rendered by default.

Diff for: CI/build/generic_boards_to_skip.py

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import argparse
2+
from pathlib import Path
3+
4+
5+
script_path = Path(__file__).parent.resolve()
6+
# Base path
7+
core_path = script_path.parent.parent
8+
variant_path = core_path / "variants"
9+
boards_entry_filename = "boards_entry.txt"
10+
output_filemane = script_path / "generic_boards_to_skip.json"
11+
12+
# Parser
13+
parser = argparse.ArgumentParser(
14+
description="Generate list of generic boards to skip for ci core config"
15+
)
16+
17+
parser.add_argument("-f", "--family", metavar="pattern", help="Family name to generate")
18+
19+
args = parser.parse_args()
20+
21+
22+
def main():
23+
if args.family:
24+
filtered_family = args.family.upper()
25+
# Get mcu_family directories
26+
mcu_families = sorted(variant_path.glob("STM32*/"))
27+
boards_list = []
28+
# Parse boards from all
29+
for mcu_family in mcu_families:
30+
if args.family and filtered_family not in str(mcu_family):
31+
continue
32+
# Search all directory with ldscript.ld
33+
variants_list = sorted(mcu_family.glob("**/ldscript.ld"))
34+
for variant in variants_list:
35+
# Opend boards_entry.txt and extract build.board
36+
with open(variant.parent / "boards_entry.txt") as myfile:
37+
for line in myfile:
38+
if "build.board" in line:
39+
boards_list.append(line.partition("=")[-1].strip())
40+
# Remove last board of the boards_entry to not skip it
41+
boards_list.pop()
42+
# Create file
43+
try:
44+
output_file = open(output_filemane, "w", newline="\n")
45+
for count, board in enumerate(sorted(boards_list), start=1):
46+
if count % 4 == 0:
47+
output_file.write(f'"{board}",\n')
48+
else:
49+
output_file.write(f'"{board}", ')
50+
output_file.close()
51+
except IOError:
52+
print(f"Failed to open {output_filemane}")
53+
exit(1)
54+
exit(0)
55+
56+
57+
if __name__ == "__main__":
58+
main()

Diff for: CI/codespell/.codespellignore

+1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ hart
55
hsi
66
noe
77
nwe
8+
ore
89

Diff for: CI/update/stm32variant.py

+16-3
Original file line numberDiff line numberDiff line change
@@ -2033,13 +2033,16 @@ def aggregate_dir():
20332033
variant_exp = []
20342034
# Compare the first directory to all other directories
20352035
while mcu_dirs and index < len(mcu_dirs):
2036-
# Compare all the variant file except the generic_boards.txt
2036+
# Compare all the variant files except the generic_boards.txt
20372037
mcu_dir2_files_list = [
20382038
mcu_dirs[index] / periph_c_filename,
20392039
mcu_dirs[index] / pinvar_h_filename,
20402040
mcu_dirs[index] / variant_cpp_filename,
20412041
mcu_dirs[index] / variant_h_filename,
20422042
]
2043+
# Iterate over each variant files
2044+
periph_xml_tmp = []
2045+
variant_exp_tmp = []
20432046
for index2, fname in enumerate(mcu_dir1_files_list):
20442047
with open(fname, "r") as f1:
20452048
with open(mcu_dir2_files_list[index2], "r") as f2:
@@ -2048,20 +2051,30 @@ def aggregate_dir():
20482051
if not diff or len(diff) == 2:
20492052
if index2 == 0:
20502053
for line in diff:
2051-
periph_xml += periperalpins_regex.findall(line)
2054+
periph_xml_tmp += periperalpins_regex.findall(
2055+
line
2056+
)
20522057
elif index2 == 2:
20532058
for line in diff:
2054-
variant_exp += variant_regex.findall(line)
2059+
variant_exp_tmp += variant_regex.findall(line)
20552060
continue
20562061
else:
20572062
# Not the same directory compare with the next one
20582063
index += 1
20592064
break
20602065
# All files compared and matched
20612066
else:
2067+
# Concatenate lists without duplicate
2068+
uniq_periph_xml = set(periph_xml_tmp) - set(periph_xml)
2069+
periph_xml = periph_xml + list(uniq_periph_xml)
2070+
uniq_variant_exp = set(variant_exp_tmp) - set(variant_exp)
2071+
variant_exp = variant_exp + list(uniq_variant_exp)
20622072
# Matched files append to the group list
20632073
group_mcu_dir.append(mcu_dirs.pop(index))
2074+
del periph_xml_tmp[:]
2075+
del variant_exp_tmp[:]
20642076
del mcu_dir2_files_list[:]
2077+
20652078
# Merge directories name and contents if needed
20662079
mcu_dir = merge_dir(
20672080
out_temp_path, group_mcu_dir, mcu_family, periph_xml, variant_exp

0 commit comments

Comments
 (0)