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

.github/workflows/arduino-lint.yml

Lines changed: 2 additions & 0 deletions
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

CI/build/conf/cores_config.json

Lines changed: 180 additions & 155 deletions
Large diffs are not rendered by default.

CI/build/conf/cores_config_ci.json

Lines changed: 180 additions & 155 deletions
Large diffs are not rendered by default.

CI/build/generic_boards_to_skip.py

Lines changed: 58 additions & 0 deletions
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()

CI/codespell/.codespellignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ hart
55
hsi
66
noe
77
nwe
8+
ore
89

CI/update/stm32variant.py

Lines changed: 16 additions & 3 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy