From f7a0db30e34bd9699045b229f90cba344c724fc8 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Sun, 4 Oct 2026 23:57:17 +0100 Subject: [PATCH 01/34] Tell ThreadX projects to call app_main() from a thread A ThreadX project used to get the main() hint, but main() does not return once it starts the scheduler, and App_ThreadX_Init() runs before the scheduler starts. setup now names App_ThreadX_Init() and asks for a thread whose entry calls app_main(). --- src/libxr/config_cubemx_project.py | 48 +++++++++++++++++++---------- tests/test_config_cubemx_project.py | 23 ++++++++++++++ 2 files changed, 54 insertions(+), 17 deletions(-) diff --git a/src/libxr/config_cubemx_project.py b/src/libxr/config_cubemx_project.py index a9ba3e0..3251445 100644 --- a/src/libxr/config_cubemx_project.py +++ b/src/libxr/config_cubemx_project.py @@ -835,11 +835,12 @@ def _report_next_steps(project_dir: str, xrobot: bool = False) -> None: CubeMX sources do not call it yet, the XRobot setup commands in order when an XRobot project has no Modules/modules.yaml yet, and the build commands when the project has CMake presets. - FreeRTOS 工程在定义 StartDefaultTask 的源文件中调用,其他工程在 Core/Src/main.c 的 main() - 中调用。xrobot 为真表示入口源文件按 --xrobot 生成。构建命令使用第一个同时有 configure 和 - build preset 的名字。 - A FreeRTOS project calls it in the source file defining StartDefaultTask, any other - project in main() of Core/Src/main.c. xrobot true means the entry source was generated with + ThreadX 工程在 App_ThreadX_Init() 中创建一个调用它的线程,FreeRTOS 工程在定义 + StartDefaultTask 的源文件中调用,其他工程在 Core/Src/main.c 的 main() 中调用。xrobot 为真 + 表示入口源文件按 --xrobot 生成。构建命令使用第一个同时有 configure 和 build preset 的名字。 + A ThreadX project creates a thread calling it in App_ThreadX_Init(), a FreeRTOS project + calls it in the source file defining StartDefaultTask, any other project in main() of + Core/Src/main.c. xrobot true means the entry source was generated with --xrobot. The build commands use the first name that has both a configure and a build preset. """ @@ -851,20 +852,33 @@ def _report_next_steps(project_dir: str, xrobot: bool = False) -> None: with open(os.path.join(sources, name), encoding="utf-8", errors="replace") as f: texts[name] = f.read() if not any(re.search(r"\bapp_main\s*\(\s*\)\s*;", text) for text in texts.values()): + threadx = next((name for name, text in texts.items() if "App_ThreadX_Init(" in text), None) task = next((name for name, text in texts.items() if "StartDefaultTask(" in text), None) - if task: - where_en = f"in the default task StartDefaultTask (Core/Src/{task})" - where_zh = f"在默认任务 StartDefaultTask(Core/Src/{task})中" - else: - where_en, where_zh = "in main() of Core/Src/main.c", "在 Core/Src/main.c 的 main() 中" - logging.info( - tr( - f'Next: #include "app_main.h" and call app_main() {where_en}, inside USER CODE ' - "sections, which CubeMX keeps when it regenerates the code.", - f'下一步:{where_zh} #include "app_main.h" 并调用 app_main(),写在 USER CODE 区域中,' - "CubeMX 重新生成代码时保留。", + keep_en = "inside USER CODE sections, which CubeMX keeps when it regenerates the code." + keep_zh = "写在 USER CODE 区域中,CubeMX 重新生成代码时保留。" + if threadx: + # App_ThreadX_Init() 在调度器启动前执行,app_main() 要在线程中运行。 + # App_ThreadX_Init() runs before the scheduler starts; app_main() runs in a thread. + english = ( + f"Next: in App_ThreadX_Init() (Core/Src/{threadx}), create a thread whose entry " + f'function includes "app_main.h" and calls app_main(), {keep_en} ' + "App_ThreadX_Init() runs before the scheduler starts, so it cannot call " + "app_main() directly." ) - ) + chinese = ( + f"下一步:在 App_ThreadX_Init()(Core/Src/{threadx})中创建一个线程,线程入口函数 " + f'#include "app_main.h" 并调用 app_main(),{keep_zh}App_ThreadX_Init() 在调度器' + "启动前执行,不能在其中直接调用 app_main()。" + ) + else: + if task: + where_en = f"in the default task StartDefaultTask (Core/Src/{task})" + where_zh = f"在默认任务 StartDefaultTask(Core/Src/{task})中" + else: + where_en, where_zh = "in main() of Core/Src/main.c", "在 Core/Src/main.c 的 main() 中" + english = f'Next: #include "app_main.h" and call app_main() {where_en}, {keep_en}' + chinese = f'下一步:{where_zh} #include "app_main.h" 并调用 app_main(),{keep_zh}' + logging.info(tr(english, chinese)) if xrobot and not os.path.isfile(os.path.join(project_dir, "Modules", "modules.yaml")): logging.info( tr( diff --git a/tests/test_config_cubemx_project.py b/tests/test_config_cubemx_project.py index 95fc8b5..ea5a08f 100644 --- a/tests/test_config_cubemx_project.py +++ b/tests/test_config_cubemx_project.py @@ -553,6 +553,29 @@ def test_the_next_steps_name_the_call_site_and_the_build(self): cubemx_cfg._report_next_steps(str(self.root)) self.assertEqual(logs.output, [build]) + def test_a_threadx_project_is_told_to_call_app_main_from_a_thread(self): + # 以前 ThreadX 工程也被告知在 main() 中调用 app_main(),而 main() 在启动调度器后不再返回。 + # A ThreadX project used to be told to call app_main() in main(), which does not + # return once it starts the scheduler. + sources = self.root / "Core" / "Src" + sources.mkdir() + (sources / "main.c").write_text("int main(void) { return 0; }\n", encoding="utf-8") + (sources / "app_threadx.c").write_text( + "UINT App_ThreadX_Init(VOID *memory_ptr) { return TX_SUCCESS; }\n", encoding="utf-8" + ) + with self.assertLogs(level="INFO") as logs: + cubemx_cfg._report_next_steps(str(self.root)) + self.assertEqual( + logs.output, + [ + "INFO:root:Next: in App_ThreadX_Init() (Core/Src/app_threadx.c), create a thread " + 'whose entry function includes "app_main.h" and calls app_main(), inside USER ' + "CODE sections, which CubeMX keeps when it regenerates the code. " + "App_ThreadX_Init() runs before the scheduler starts, so it cannot call " + "app_main() directly." + ], + ) + def test_an_xrobot_project_without_modules_gets_the_xrobot_steps(self): # 以前只给出构建命令,用户要连续失败两次才找到 xrobot init。 # Only the build command used to follow, and it took two failures to find xrobot init. From 1639c1ed9d79574c2d1665d8ee270962ab688f50 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Mon, 5 Oct 2026 00:03:38 +0100 Subject: [PATCH 02/34] Format the main() hint --- src/libxr/config_cubemx_project.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libxr/config_cubemx_project.py b/src/libxr/config_cubemx_project.py index 3251445..0f7b941 100644 --- a/src/libxr/config_cubemx_project.py +++ b/src/libxr/config_cubemx_project.py @@ -875,7 +875,10 @@ def _report_next_steps(project_dir: str, xrobot: bool = False) -> None: where_en = f"in the default task StartDefaultTask (Core/Src/{task})" where_zh = f"在默认任务 StartDefaultTask(Core/Src/{task})中" else: - where_en, where_zh = "in main() of Core/Src/main.c", "在 Core/Src/main.c 的 main() 中" + where_en, where_zh = ( + "in main() of Core/Src/main.c", + "在 Core/Src/main.c 的 main() 中", + ) english = f'Next: #include "app_main.h" and call app_main() {where_en}, {keep_en}' chinese = f'下一步:{where_zh} #include "app_main.h" 并调用 app_main(),{keep_zh}' logging.info(tr(english, chinese)) From ae9c0aa139469f8685a720c3d187806998a10133 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Mon, 5 Oct 2026 15:47:06 +0100 Subject: [PATCH 03/34] Add libxr pins: the package and pin layout of a model libxr pins prints the position, name, type and selectable signals of every pin of a chip, as YAML or JSON. The prefix of the model chooses the platform: STM32 (ST's STM32_open_pin_data, BSD-3-Clause) and MSPM0 (the device data of TI SysConfig, TI limited license). An STM32 package is part of the model; an MSPM0 package comes from the code in the model suffix or from --package. MSPM0 pins also carry their PINCM and the mode of each signal. A position can hold several entries (STM32G0 pin remapping), so pin_count counts positions. The data is built by scripts/build_pin_data.py into src/libxr/pin_data/ (reproducible gzip JSON, 0.7 MB) and ships with both license texts as package data. The pin names of every .ioc in 5098 CubeMX example projects (82 STM32 parts, 15540 assignments) match the data. Co-Authored-By: Claude Sonnet 5.5 --- README.md | 43 +++++ pyproject.toml | 2 +- scripts/build_pin_data.py | 209 +++++++++++++++++++++++ src/libxr/cli.py | 45 +++++ src/libxr/pin_data/LICENSE-ST.txt | 29 ++++ src/libxr/pin_data/LICENSE-TI.txt | 31 ++++ src/libxr/pin_data/mspm0.json.gz | Bin 0 -> 52593 bytes src/libxr/pin_data/stm32.json.gz | Bin 0 -> 650711 bytes src/libxr/pin_layout.py | 266 ++++++++++++++++++++++++++++++ tests/test_cli.py | 9 + tests/test_pin_layout.py | 243 +++++++++++++++++++++++++++ 11 files changed, 876 insertions(+), 1 deletion(-) create mode 100644 scripts/build_pin_data.py create mode 100644 src/libxr/pin_data/LICENSE-ST.txt create mode 100644 src/libxr/pin_data/LICENSE-TI.txt create mode 100644 src/libxr/pin_data/mspm0.json.gz create mode 100644 src/libxr/pin_data/stm32.json.gz create mode 100644 src/libxr/pin_layout.py create mode 100644 tests/test_pin_layout.py diff --git a/README.md b/README.md index 4cb8180..d6190da 100644 --- a/README.md +++ b/README.md @@ -644,6 +644,48 @@ sectors: --- +## 📌 引脚布局 / Pin Layout + +`libxr pins` 按型号给出芯片的封装和引脚布局:每个引脚的封装位置、名称、类型和全部可选信号。型号的前缀决定平台,目前支持 STM32 和 MSPM0;输出为 YAML,`--format json` 输出 JSON。 + +`libxr pins` prints the package and pin layout of a chip model: for each pin its position on the package, name, type and all selectable signals. The prefix of the model chooses the platform; STM32 and MSPM0 are supported. The output is YAML, or JSON with `--format json`. + +```bash +$ libxr pins MSPM0G3507SPMR +model: MSPM0G3507SPMR +platform: mspm0 +part: MSPM0G3507 +package: LQFP-64(PM) +pin_count: 64 +# ... +- position: '33' + name: PA0 + type: Default + signals: + - PA0 + - UART0.TX + - I2C0.SDA + # ... + iomux_pincm: 1 + modes: + PA0: 1 + UART0.TX: 2 + I2C0.SDA: 3 + # ... +``` + +- STM32 的封装由型号决定(`STM32H723VGT6` 为 LQFP100);MSPM0 的封装取自型号后缀中的代码(`MSPM0G3507SPMR` 的 `PM`),型号中没有时用 `--package` 给出(`LQFP-64`、`PM` 或 `LQFP-64(PM)`)。 +- `pin_count` 是封装上的位置数。一个位置可以有多个条目:STM32G0 的 PA9 和 PA11 可以互换,共用一个位置。 +- MSPM0 的引脚还有 `iomux_pincm` 和每个信号的模式号 `modes`。 +- 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件)。数据文件和两份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 + +- The package of an STM32 is part of the model (`STM32H723VGT6` is LQFP100); that of an MSPM0 comes from the code in the model suffix (`PM` of `MSPM0G3507SPMR`), or from `--package` when the model has none (`LQFP-64`, `PM` or `LQFP-64(PM)`). +- `pin_count` is the number of positions on the package. A position can have several entries: PA9 and PA11 of an STM32G0 can be swapped and share one position. +- An MSPM0 pin also has `iomux_pincm` and `modes`, the mode of each signal. +- The data comes from the vendors: STM32 from ST's [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data) (BSD-3-Clause), MSPM0 from the device data of TI SysConfig (TI limited license, for TI devices only). The data files and both license texts are in `src/libxr/pin_data/` and are distributed with the package; `scripts/build_pin_data.py` rebuilds them. + +--- + ## 🚀 命令一览 / Commands `parse` 和 `gen` 按工程所属的平台选择解析器和生成器,只属于某个平台的命令放在平台名之下。 @@ -655,6 +697,7 @@ belong to one platform sit under its name. | --- | --- | --- | | `libxr parse` | 解析工程,写出工程 YAML | Parse a project into the project YAML | | `libxr gen` | 由工程 YAML 生成入口源文件 | Generate the entry source from the project YAML | +| `libxr pins` | 打印某个型号的封装和引脚布局 | Print the package and pin layout of a model | | `libxr stm32 setup` | 为 CubeMX 工程加入 LibXR,生成代码并接入 CMake | Add LibXR to a CubeMX project, generate the code and integrate CMake | | `libxr stm32 cubemx-gen` | 以脚本模式运行 STM32CubeMX,由 `.ioc` 重新生成 CubeMX 工程 | Run STM32CubeMX in script mode to regenerate the CubeMX project from the `.ioc` file | | `libxr stm32 cmake` | 把 LibXR 接入 CubeMX 的 CMake 工程 | Integrate LibXR into the CubeMX CMake project | diff --git a/pyproject.toml b/pyproject.toml index 87d2d38..b93ac8e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,7 +49,7 @@ xr_stm32_toolchain_switch = "libxr.legacy:xr_stm32_toolchain_switch" where = ["src"] [tool.setuptools.package-data] -"libxr" = ["libxr_version.py", "STM32FlashLayoutRules.xml"] +"libxr" = ["libxr_version.py", "STM32FlashLayoutRules.xml", "pin_data/*"] [tool.ruff] line-length = 100 diff --git a/scripts/build_pin_data.py b/scripts/build_pin_data.py new file mode 100644 index 0000000..bbb912e --- /dev/null +++ b/scripts/build_pin_data.py @@ -0,0 +1,209 @@ +"""由厂商的引脚数据生成 libxr pins 使用的 src/libxr/pin_data/ 数据文件。 +Build the data files in src/libxr/pin_data/ that libxr pins reads, from the vendors' pin data. + +数据来源有两个: +There are two sources: + +- STM32:ST 公开的 STM32_open_pin_data 仓库(BSD-3-Clause)的 mcu/*.xml。 + STM32: mcu/*.xml of ST's public STM32_open_pin_data repository (BSD-3-Clause). +- MSPM0:TI SysConfig 安装目录下 dist/deviceData/MSPM0*/ 中的器件 JSON(TI 有限许可,只可用于 + TI 器件)。 + MSPM0: the device JSON in dist/deviceData/MSPM0*/ of a TI SysConfig installation (TI limited + license, for TI devices only). + +用法 / Usage: + python scripts/build_pin_data.py --st-data --sysconfig +""" + +import argparse +import gzip +import hashlib +import json +import re +import subprocess +import xml.etree.ElementTree as ET +from pathlib import Path + +REPOSITORY = Path(__file__).resolve().parents[1] +ST_NAMESPACE = "{http://dummy.com}" + + +def expand_group(stem: str) -> list[str]: + """展开文件名中的分组:STM32F407I(E-G)Hx 对应 STM32F407IEHx 和 STM32F407IGHx。 + Expand the group in a file name: STM32F407I(E-G)Hx stands for STM32F407IEHx and + STM32F407IGHx. + """ + match = re.fullmatch(r"(.*?)\(([^)]+)\)(.*)", stem) + if match is None: + return [stem] + return [ + match.group(1) + alternative + match.group(3) for alternative in match.group(2).split("-") + ] + + +def read_st_part(path: Path) -> tuple[str, list[list]]: + """读取一个 STM32 型号的 XML,返回封装名和引脚:[位置, 名称, 类型, [信号...]]。 + Read the XML of one STM32 part; return the package name and the pins as + [position, name, type, [signals...]]. + """ + root = ET.parse(path).getroot() + pins = [ + [ + pin.get("Position"), + pin.get("Name"), + pin.get("Type"), + [signal.get("Name") for signal in pin.findall(f"{ST_NAMESPACE}Signal")], + ] + for pin in root.findall(f"{ST_NAMESPACE}Pin") + ] + return root.get("Package"), pins + + +def git_commit(directory: Path) -> str: + """directory 这个 Git 仓库的当前提交。 + The current commit of the Git repository in directory. + """ + return subprocess.run( + ["git", "-C", str(directory), "rev-parse", "HEAD"], + capture_output=True, + text=True, + check=True, + ).stdout.strip() + + +def build_stm32(st_data: Path) -> dict: + """STM32 数据:型号到引脚集的映射,以及按内容去重的引脚集。 + The STM32 data: a map from part to pin set, and the pin sets deduplicated by content. + """ + parts: dict[str, str] = {} + sets: dict[str, dict] = {} + for path in sorted((st_data / "mcu").glob("*.xml")): + package, pins = read_st_part(path) + content = json.dumps([package, pins], separators=(",", ":")) + key = hashlib.sha1(content.encode()).hexdigest()[:10] + sets[key] = {"package": package, "pins": pins} + for name in expand_group(path.stem): + parts[name] = key + return { + "source": { + "vendor": "STMicroelectronics", + "dataset": "STM32_open_pin_data", + "url": "https://github.com/STMicroelectronics/STM32_open_pin_data", + "commit": git_commit(st_data), + "license": "BSD-3-Clause", + }, + "parts": parts, + "sets": sets, + } + + +def family_prefixes(family: str) -> list[str]: + """一个 SysConfig 器件族目录名覆盖的型号前缀:MSPM0G350X 为 MSPM0G350, + MSPM0C1105_C1106 为 MSPM0C1105 和 MSPM0C1106。 + The model prefixes a SysConfig family directory covers: MSPM0G350 for MSPM0G350X, + MSPM0C1105 and MSPM0C1106 for MSPM0C1105_C1106. + """ + if family.endswith("X"): + return [family[:-1]] + first, *others = family.split("_") + return [first] + [first[: len(first) - len(other)] + other for other in others] + + +def read_mspm0_family(path: Path) -> dict: + """读取一个 MSPM0 器件族的 JSON,返回其每个封装的引脚: + [位置, 名称, 类型, PINCM, [[信号, 模式]...]]。 + Read the JSON of one MSPM0 family; return the pins of each of its packages as + [position, name, type, PINCM, [[signal, mode]...]]. + """ + data = json.loads(path.read_text(encoding="utf-8")) + muxes = {mux["devicePinID"]: mux["muxSetting"] for mux in data["muxes"]} + signals = data["peripheralPins"] + packages = {} + for package in data["packages"].values(): + balls = {pin["devicePinID"]: pin["ball"] for pin in package["packagePin"]} + pins = [] + for pin_id, pin in data["devicePins"].items(): + if pin_id not in balls: + continue + pincm = pin["attributes"].get("iomux_pincm", "") + pins.append( + [ + balls[pin_id], + pin["name"], + pin["devicePinType"], + int(pincm) if pincm.isdigit() else None, + [ + [ + signals[setting["peripheralPinID"]]["name"], + int(setting["mode"]) if setting["mode"].isdigit() else setting["mode"], + ] + for setting in muxes.get(pin_id, []) + ], + ] + ) + pins.sort(key=lambda pin: (len(pin[0]), pin[0])) + packages[package["name"]] = pins + return packages + + +def build_mspm0(sysconfig: Path) -> dict: + """MSPM0 数据:每个器件族的型号前缀和各封装的引脚。 + The MSPM0 data: the model prefixes of each family and the pins of its packages. + """ + root = sysconfig / "dist" / "deviceData" + families = {} + for directory in sorted(root.glob("MSPM0*")): + families[directory.name] = { + "prefixes": family_prefixes(directory.name), + "packages": read_mspm0_family(directory / f"{directory.name}.json"), + } + version = (sysconfig / "dist" / "version.txt").read_text(encoding="utf-8").strip() + return { + "source": { + "vendor": "Texas Instruments", + "dataset": "SysConfig dist/deviceData", + "version": version, + "license": "TI limited license (TI devices only)", + }, + "families": families, + } + + +def write_gzip_json(path: Path, data: dict) -> None: + """把 data 写成压缩的 JSON;不写时间戳,同样的数据得到同样的文件。 + Write data as compressed JSON; no timestamp is written, so the same + data gives the same file. + """ + # 键保持写入顺序(按型号名排序):相近的型号相邻,压缩得更小。 + # The keys keep the order written (sorted by part name): similar parts sit together, which + # compresses better. + text = json.dumps(data, separators=(",", ":"), ensure_ascii=False) + with open(path, "wb") as file, gzip.GzipFile(fileobj=file, mode="wb", mtime=0) as zipped: + zipped.write(text.encode("utf-8")) + + +def main() -> None: + """解析参数,生成数据文件和许可证文本。 + Parse the arguments and write the data files and the license texts. + """ + parser = argparse.ArgumentParser(description=__doc__.split("\n")[0]) + parser.add_argument("--st-data", type=Path, required=True, help="STM32_open_pin_data checkout") + parser.add_argument("--sysconfig", type=Path, required=True, help="TI SysConfig installation") + parser.add_argument( + "--output", type=Path, default=REPOSITORY / "src" / "libxr" / "pin_data", help="output dir" + ) + args = parser.parse_args() + args.output.mkdir(parents=True, exist_ok=True) + write_gzip_json(args.output / "stm32.json.gz", build_stm32(args.st_data)) + write_gzip_json(args.output / "mspm0.json.gz", build_mspm0(args.sysconfig)) + # 许可证原文随数据分发。TI 的文件不是 UTF-8,转成 UTF-8 写出。 + # The license texts are distributed with the data. TI's file is not UTF-8; it is written as + # UTF-8. + (args.output / "LICENSE-ST.txt").write_bytes((args.st_data / "LICENSE").read_bytes()) + ti_bytes = (args.sysconfig / "dist" / "license.txt").read_bytes() + ti_text = ti_bytes.decode("cp1252").replace("\r\n", "\n") + (args.output / "LICENSE-TI.txt").write_text(ti_text, encoding="utf-8", newline="\n") + + +if __name__ == "__main__": + main() diff --git a/src/libxr/cli.py b/src/libxr/cli.py index 53bd827..7173604 100644 --- a/src/libxr/cli.py +++ b/src/libxr/cli.py @@ -255,6 +255,15 @@ def cmd_stm32_flash_info(args: argparse.Namespace) -> None: print_flash_info(args.model) +def cmd_pins(args: argparse.Namespace) -> None: + """libxr pins:打印一个型号的封装和引脚布局。 + libxr pins: print the package and pin layout of a model. + """ + from libxr.pin_layout import print_pin_layout + + print_pin_layout(args.model, args.package, args.format) + + def cmd_stm32_toolchain(args: argparse.Namespace) -> None: """libxr stm32 toolchain:切换默认 preset 的工具链和 clang 的标准库。 libxr stm32 toolchain: switch the toolchain of the default preset and the clang standard @@ -603,6 +612,41 @@ def _add_project_directory(parser) -> None: ) +def _add_pins(commands) -> None: + """加入 pins 子命令。 + Add the pins subcommand. + """ + parser = _command( + commands, + "pins", + tr( + "print the package and pin layout of a chip model (STM32, MSPM0)", + "打印芯片型号的封装和引脚布局(STM32、MSPM0)", + ), + cmd_pins, + epilog=tr("examples:", "示例:") + + "\n libxr pins STM32H723VGT6\n libxr pins MSPM0G3507SPMR" + + "\n libxr pins MSPM0G3507 --package LQFP-64 --format json", + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + parser.add_argument("model", help=tr("chip model", "芯片型号")) + parser.add_argument( + "-p", + "--package", + help=tr( + "package, for a model that does not name it (MSPM0: LQFP-64, PM, ...)", + "封装,用于型号中没有封装的情况(MSPM0:LQFP-64、PM 等)", + ), + ) + parser.add_argument( + "-f", + "--format", + choices=("yaml", "json"), + default="yaml", + help=tr("output format (default: yaml)", "输出格式(默认:yaml)"), + ) + + def _add_stm32_flash_info(commands) -> None: """加入 stm32 flash-info 子命令。 Add the stm32 flash-info subcommand. @@ -704,6 +748,7 @@ def build_parser() -> argparse.ArgumentParser: commands = parser.add_subparsers(metavar="", required=True) _add_parse(commands) _add_gen(commands) + _add_pins(commands) stm32 = commands.add_parser( "stm32", help=tr("commands for STM32CubeMX projects", "STM32CubeMX 工程的命令"), diff --git a/src/libxr/pin_data/LICENSE-ST.txt b/src/libxr/pin_data/LICENSE-ST.txt new file mode 100644 index 0000000..2c8a382 --- /dev/null +++ b/src/libxr/pin_data/LICENSE-ST.txt @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2020, STMicroelectronics +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/src/libxr/pin_data/LICENSE-TI.txt b/src/libxr/pin_data/LICENSE-TI.txt new file mode 100644 index 0000000..9b7e6bd --- /dev/null +++ b/src/libxr/pin_data/LICENSE-TI.txt @@ -0,0 +1,31 @@ +Copyright � 2015 Texas Instruments Incorporated + +All rights reserved not granted herein. + +Limited License. + +Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive license under copyrights and patents it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell ("Utilize") this software subject to the terms herein. With respect to the foregoing patent license, such license is granted solely to the extent that any such patent is necessary to Utilize the software alone. The patent license shall not apply to any combinations which include this software, other than combinations with devices manufactured by or for TI (�TI Devices�). No hardware patent is licensed hereunder. + +Redistributions must preserve existing copyright notices and reproduce this license (including the above copyright notice and the disclaimer and (if applicable) source code license limitations below) in the documentation and/or other materials provided with the distribution + +Redistribution and use in binary form, without modification, are permitted provided that the following conditions are met: + +* No reverse engineering, decompilation, or disassembly of this software is permitted with respect to any software provided in binary form. + +* any redistribution and use are licensed by TI for use only with TI Devices. + +* Nothing shall obligate TI to provide you with source code for the software licensed and provided to you in object code. + +If software source code is provided to you, modification and redistribution of the source code are permitted provided that the following conditions are met: + +* any redistribution and use of the source code, including any resulting derivative works, are licensed by TI for use only with TI Devices. + +* any redistribution and use of any object code compiled from the source code and any resulting derivative works, are licensed by TI for use only with TI Devices. + +Neither the name of Texas Instruments Incorporated nor the names of its suppliers may be used to endorse or promote products derived from this software without specific prior written permission. + +DISCLAIMER. + +THIS SOFTWARE IS PROVIDED BY TI AND TI�S LICENSORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TI AND TI�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +November 8, 2012 + diff --git a/src/libxr/pin_data/mspm0.json.gz b/src/libxr/pin_data/mspm0.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..ca848a6b837caff5180e7ed73492e963a5fb827f GIT binary patch literal 52593 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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32.json.gz b/src/libxr/pin_data/stm32.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..3107face656c5d4985972daddefc67ae39938ead GIT binary patch literal 650711 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�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 w=wcpZ79 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�~(py91|2bsw zci=CDjk(AEsC^{;Vc78fgqR+Wz#3HQNH3voN&# zb~xLE(BjoZTby?_guhr@aejwmit&I|h-4Y5IG326HccE+A|J|tOo^^XLd zq!D>^t+7dOshH<7(56hb?aZl0)c>%I?3EKmY)Tp-nfS?${J(A-la#~95Qf@Dp6pH; z0qw-QV8`89Vg+GH1Vizynh4|8C=i{C_BR+LHX_XGg2hrPO^wv%-Bw@YCFKdLEJ}h~ ze8L@=#$t4ER5y~&6ia-nfZlntV9*7WN|_m*ea+P8rdpxuRnO^o846WxwK}-w1SoDmrZT3 zWX7Cj1$&{8hXJ*=v7SfWbCF;Mxkv}h`MX0;k0VB?csc9MncB-T+meb{xgq&4W|iNW z7Pgas?GrI40E-XFk0KGcxZ#$}#brJ++7yDAWyNklGWvPFW&sao8i`TAx*CXHbV|#y zL;vklC}-*JrO6=24uv0(KOQ>YXDlQ_C~95(rI>b8U9X|qRDE7k?Z#*ASuH)gVfSL2 zK|GIhYpq^HvfYUr30&mT-d?|0vxOb=OAa?N;?nBIueg77uf}c`nZ?Ptf2@A%;XJdl zQ(?o)ba?X=B;jSR(a)GJRk})_cPEl4MIQ-KFl45-=p-zG=vUXyL>EZS$-&$M2C2fK zetgytS8^>CJ4IhqCmJflQ8d&`x2Vp+Q(B)uy@R6i&`wAiw!LRV}B&EIT3_Y zg=|~LNf7q`CHO!@+=3|!LJWh#y%3B~rNaLe(zJ4yYob-C}+Iv^R-X&ri`t{Z199>HzVe&Rc zhQ>UwFLbQS`m(a`Nhz^#bTq7s`m;D$V(|EQ*@|Y2oBg#SrY%2RS@QONNU*(iLBM+i zOmbU_oJaGh&KGKZqQ<)0P;16jG=G4}V}?WQRZ+X|V5j)HtbG;gGfA*f@mSZ(2@;?{ z6$QJ;hZXyIJQVW-xu+=<2z5?aVj-|pWM+SF1w7~L1`|nch*I>I|2E?rqJ7PpE4qk; zEp6RIfe`I;-;odlM`+9%B7L+E`*q>|wk#t?h=%G5gl=NE2d281h;@NxYfMB25X(Mg zm;dp+^dYB~i->I3zIy{h2kDISZ{UV_A;ahc0}ONl`l(t~zGPbI1o=eEBlVbzHDzJC zZ*l$_Dwk#3uq)XSDxrm!{p4ew8iEMMC$mnFf>@ftBbE?rGUJj*2~!f%gU?{&TTLuH zt?^UR-jHdEB04vO;ULZMf&%A}3s8{bV=bWBVv5*9Z1cZc07rvSnuytI=VuQ-#rs8t z=4uX(Y7bj>EE1FS8s|m%0P4tLpObBM$U65}KCrC+434%yW}#;0P3ves$Tr)E!#P)* z$~!a6XuYjLCQ)SJmo46-)E2b?l_~cg)YImuGW0jHp#CQR*DqB>9M^y*ml?s|Y*9xw zEH^WWLUZAy)Ya*Qt@gTxI5Kyuk1!$4n!Zbl4P-8L51`4K9Xp~+UF<-eHz7vR7O>r` z$M z!#Xqk&F>xDQ;LYmTUKk=US3Nc-@$u#$4!*acerQAG4b{tqnC^Rl&%~H28!N#h$GjX z<6h<|B|)mu?nQQX*~?sepjnSLYH;TcZ}iVsnme^wA5q@+q{f|!*l`IUOvX?4!?=m= zqB}Un3^<&M0Aby*SofbuxH!4skcZJ8j?dd=<6MtaL<-?J3(Zf2$sy%sQm1o{yK*V^ zIf=pL6*9ZMqvS|Zu?g>0U=4gj(kP|5(_7jopK>c_k9w2)EB=+|4s=cl6UuLmXd2#;Qd?l@p`w&LH9UF4S7WA!Fqk&6bD<0j~%sq zay?Pz5v&`6PF!h?Ily$T6;dbDA=D0ikl`Xqq2^pj?Um3~n-!GeGZ=8CWlxd}eGxNa zh3lo=fABb>%(7r3@T5r>&rXjP**a0wdQ@FKUipExlaDoOZs^|VwB|RV%uxC^Y5pzz zXEuO>6M+=G@JJvTCp-~Y(TP9`PGtQ5=dch?Z|ufqe8i3uO5 z`?eT-6fb2UB+@_mmwNi`v*YuyyT7_=58)EhA?Or;T#Y|eP$psnm44^J?qjn8GiNar z^RtQf#W*>y`F7fsnaoU*HZNdN4M%1=Ca9v_b+1pG$Md3|6}}s<5WajqhJGo?K4U(G z?^?9gE=dWZU4rz!=!w$Mszo}>!RnNr*C@<~BQpuJk%GSTmL<~oFc!0HBxEL%>2hyf zl05Pdb_gGaYdcsfmO>qhuEH$+x<~>rp&Jr-I+}rCB;4oy{e8zZ5$N*czJu+q9KW)V z`-xi*-1#@_wu$a+L*5N=tfTTkK$a6^p6vsF>?FQRI@1Y@xj|M35_Qiv|a`wqt>-_A+)+G{=Q*|Zc?xCA8NLXRWFEk-8IESj-E9js>!qef6= z`{Jc6cXl6aL+5p+L(J8=Ayq6e#eLO~l%_oZV=D&TJszQDxZ2lQl8tHWtFreGwyK4X z;8BK4BE#jpTMX5&PU&~#4CIzaF34!07)|V8R;FL$~=PCjy`s0x=@s7juur#o;zd)a6 zN1k1~waNX?+(B`6W1@yb+JQ2tnv`SCPNa2z-9)~%fBC?tk?bVYGdtMBv%~p)QmUE5 zQ=LbSKG3ktV*`a$L$dZ=Y7}=4^>r}2r1{20hH)fs36#du)D@E&_K}6nqZsxgdBF*x z0`htBmDDhf$RKK1ii&lbvm=*-?ETF2OBXQJ)1Bmc*n+PsCq;EVd#8h#)mrEB6W&&fKW z>(UyK)`)&YzunFYBPIGm!Aj>?9y*43Ndw}t8XQXZXB)q z3!4jgj!u{U+TSZVYjJJ&zTjEr{S`gfx;JO?-gi6h)pCv7O}egovs@o--1@Nj+CmAD zF+M#f-{5p!`)G77RVa?J9{~gPY|m;cZ*1y3rViM764l#k5IqO;3Dm_UOMnq})9~s- z(H6rE(2`!T#^fAUKonC!4p6c~$1@0j9ZOEEB{i4?J7owZ?y6Jnw=*d2cqRr8hL z6q(#EKpYq;H1CsLU>oBj_}vaL$okn;A>dS30ApWgDt35s&*UeAvt95bPbG_&ZvO8Y z&67osBlG|f1KUEpspwdnvxaEc0kE}3MyqD{i!N7n@fD&2_45P=>Zft`)Xcc$xK+bg z{T|veE<%@0+L(T(*l_KaEKwfQL{b3ylEg3gd|b~f&=2ilS(uF(k5Q|Z$1=oL$M(QQ z^{Y$~;2LXcxu3(e?X0+Y(N^C19b&vA;T;pjbs|syH0H6B-G=GRU~1kC`cGmIc3n`= zajKi;Y{8DCI==-`2t`A=Wp}v&SSY>)UO^&pBkr1~!L;yJ1y?#Tz_f_FL}W+ufFma@(2?7h?v%g|IBL{d zirySOx_eXCohg)`fV;uuC;Y4f#mA?V)K_<8}{A z%w8#|&Dx+4E>m)`@8;76azpm5NiQ^9`s~UJ~t<(;NsZ*#NrBmu^9bVutIXA`L6n^l0vEpJ? zuW)?3IO$gF&6tEhU7fyioy$Y(K5VEMinkx6vK9NVvk?2tkDj()Z>NM^K2&P=5S+IF z2p;xq6Zy@Aj(`LK5Afu$#q8gxU5p2IP#tKbzA^db*o0>#&OHV587p$6{kkomcJAo~ zfg%eE=~|bCq%d}|8rNBvVbwO=>g(=1YsxuQ4A&S`9zF*`h2~jh1J72eRmS$N@u6fK z*>*`m7&J*YZyC{)CQBPj-4pK@=PAh)?eBzP-2c*xsx{IONrsxc8k+jyQt$}6_Pa8B z3?Gs7pZudXMwqZBd-neU+_UZ1GP4t0dNoe6{;#7id}b9uI!(DV`MjZ2_t$x}{A@@E=zL z=*d@K=Ir-$YkgoZ|W7 zUU8tPh+ju+yLm05P{rn|+hWPp-6{#I4Vl_PY)M|sdJ=TV!|PhKe$l0I`J}T&sa5}5 zeZ|6f6>ULHVf1QaKS`va)yiteGcflH_AP^%TV0Hy%Z=YoUxi-qqSfr6*_L1czt&|F z=0}q)e$%TJynMx(Vnd9WI%(lupYjhhcqth&XLYgd#p>*yIlUBx20(of0KQ zR$S?4=lD1)dfa0ahh^lmNBw~!W!c|o+^mx3n;)F!umpEG07kwUlMZ|xl;9#MT_ri? z`9~_%pe{v!1lL^d1TJ5p{UyX8UFT#*SxJ_%Uoe*FteRcpdIYx7GT%$yX{rguQbiKz z%3Uf&B0OcO;XQ@?@HB#7ye-^TabU+x=PG{U;JTffZ2t_!MUC{`gZ|QThPI)c#U#!K zO5R|yKqb4vDAWkxo#@dx*;=V^8^$?lP5njl%HGsG(`!|mZR{m^uUDz@&7`D53n7q* zOvTiMY!7V^qT1DprSnB}di$F{p`{c9tk_*Lf}z-v#tW$}3Ay;!Ur)2toUj|vK-f=Q zyrh_d(V%5=e&zhnsWW?`c(Y~XGrtz@ zV1^L9JAuRc3q_A1G75h;;WcwaO~X6oe+tyN*GjSwmZ<8+amxQwSV7j%`146^2p}x| z@3P2WPg(UBaYmo1b28 zMkJHcgdmYQ0*x^0Oald8N3S`=-SI$+M(4US zVp4xcDod@Nfl~2~j|iEO$X@Oe+`U$uFt;SnG`Ijt2JHuD+}d^d8Xp1y_Fj7nZ$|mNfOpuXI+!I$ppzb;dtiZA*lx2u9?%<1_u2jr$NrDW zfGY=}%c#Kfgrb$p6nU#$Zc7?ns1{m1v=#{dUi22)?t+!s1j}YpMIMNp(b|kr_pQui zzTThL(7E5pZK5ItpsU|XOZ7j}a*eJ)xH?=DVKwRN1GwH0`$@C%vL{T+7q^(1I`a@g z9Mx?GG;t*S%=kB85W-BzO$r1+Z80&Rzyvmf#88O2U<#tbf#t-|gOT7`5s2>j4Sz=A zv#28YNcnU6nGw&y^wTHg$$WpBJNrg8GO)86NG}o~WRM)T#LUp4vM-rv*^oe;aQ^C-Z%1nV@ z+nryb^8Kws%YiIU*w~@xn%9_$fiR*dyra-}K!M&EH9~Oea2m%Y#9@eJgETQ5j@Jjn zADC&P+o1r(hbGL@lDak1#V8^m(vktH28zGB36m5N$cz-_z2xZ9d&zj#BI8YS^mlxq^;`16ZL>tz<_D zq!v&mXb1)2J|5GIks-_jLqCvZqx%CVdwu{34#E}i@RgPTOJch6QJFiO{ z&j=s?C!rv0O7)jMH{Hzg!(J?0D^PkixOjc%x;H1Gk$ZukCB$RsR&8GZ|V0~}t zro}UUUaIrgHNw;IY^M;q%?R7+;~1Bq$W8AV49A%r01PlP+Td?+Y3xDW8jI6K6Ki~3 zPcn($-s;>F)Q`53V+FF_y?CuZKpGK)VCl!41^%pC6=v!aQhurxM!vQSYbSF4brR8MWMO4QkzB%6xX~EU{>TED}kVktt3?qZ?dbEMnqjRKG z2Vvx!C2bprDe>Fq@nTDx0+6NFYE#1Bu1b?56(^P$!DK%O%7cj@t4NgEmY$ zWV?iuS^y}}aqB(05DSz33Kw#`izOyUzY$k6<;ByWhh9n;%ctRqbXUF@W3)jIG(s(E z8A7DoP(O&mnl5hKG=pT(%}UZs5)of_K}b-a7KHk1i6?2l1M3LUF3%i-UrEA-?vct%kxI~=BXCVYTmoU0C`b01M>;%tv3@m7@$5cal`rTr*K;?@ay zwBYQ^TzbyVUV4^Rge&J<)Gz#EdbkpFIG*rm%oYKe;V}#ATIz`0rn}g3jEk1^b%?H` zUE`hY{r6wv(lT>8CBr=YwRPI(t#+sVJ2I6>TjHlwE%hX|R-;qBQo~0v5$#v9Y^Le+ zl}Ry?k(f;}p&*}VV;LkZ*&3f{23)pTPmFxSeVBF}BRrzqTGJ~{lPg9Oo06FdrQ(j- z0bw7WRzgBnR}jywx4RJ{eLa1+;Miv%xEU*? z3LEa}!!y7IU`*ABGA#Z|a?}CHW{YYuTqab36v>S6jtV(KExzsR-udq=-)mZA%Im>m z^ISxh>azfutMzvl`cNGkx8iP_^0#1)C$9 zRbP)tieKa{T2V{FeJU*ui;%roj%F$D4@rx3zm|?_DR7H>sjSiJGnBfWaJh&ivjS5? zlFmq!JDgC^eqM0&3LDF)T>8JSYd@rT>Ce!WsBc6^IG@o{y`-LkX}_nXN(-DE^Rh9% zHrl+2yZ)Py-{_1Cjc8xVygp54PIB1fG?Wx6(n0+%<UVY7X$jP}mQPV@)>l7*@4v z_0Qsa!w}0>;|~75FfR)VnbkULOP`+50cre5&06fOVJ1y~HFUeF&dp>ePtE)d*o7qK zxHr4gR3{6U_g_>16{v%w%* zc}`0|r=uASwl&$D43(&sk(gqifrfiaos+&&dI(@`ncG|vv{8CmoqPQBSExUYbmAIf z5U(}kj#s#0UUrez_aA=~g!Lxyf~}oLaO}Kt*Sc_hHnAfymKqr@QH6 zZg9h?cyMwfr|`nzpL#nUooB~(ZOWzMo4dKmrq&0^@--fFq4u0xvbjZx3~&0_K@ZOL z>tG?Zg0}VP#O6!|fZ_dB;vr$o7iwh#!9;pRkISWcjM`9JXP+IPGGKplFsH^GDh7jk ztd#(%fr6=(*a=OcMx>NK0%4fvU&OpcjLib_fPtuy-ClqS|GQ&9Ty(A2KH3)REo+%H zV9$UFR}d#`10qWb#D;(xkvQYFc#Twen0AW{UK7jVR>2%`=q;vDo=HE_54t!x5iArs zxt8U;c#1D4tki5qSZ}%`Aa#Hp14Wk8NgGPOt;fuMZr;RN=1S2QfOs;DlcWR@rUCcHvNV-a1B$0ooQVRyUgG9d^~x1ndg<}#nLe`WVVY> z;q50>^}wus7-S=h#11=elUgQLoiIpQ=|0wPi*cXafhrnx|UZ|ZFOiTH*^o~TFw-`ytoN3e6(uLwQ$y<$_;iq~*`=&v>V*!vDoJr53!B~9YzrEE z%0#i8QRZ`VZKTcFu2w=M*bF;$+y`*!GBwCg!zfRaE%Ou#kXQL zpwe9?J&^)oo*G%Jp+>ImqWR6c$lkvgV7?*6mZH8Gl*_2&#myAu8&p!e@e%uo<5qknQaR4^yB{#*EGao{rBD2F3USSgDo(0F~}jB4jqAQaOP# zEHO+1Pe|*4;4o2z=pf-Jter@JnAQ!2h<FSi<+U6Ov-;*XpO3iP9CFH=%N7W6qPF5iXIcvIpQmGj24yMKB61lHbPit z6QIv!tBmiwM+b5qw8m{Bjo*Az2YePp?)R$@pC|tJ43G~yZ}{iX&}$4T|0OxETjAjr zaH12ss4nB<6C_=gU3XN%kIU8y_7Zvb4Y@}Uj!(7O5zObw^{k)o*4q`|jSaZx&q17= zV#ZthJ_Nvn&tMZ~TIniuEsO`7GrH^c#McdyaL@G?0c*%q*5c-y_wr64-8NymE%qks z%`-&rJ51Jk=Qd)q_6^t7P4CUikdNzbbpF;3M>0l+rDWooTN?EJ9LVOe6xEm7Ef&+k zHK6GFRB0zX2{&75moFpCeWC3(TtQhTPf5O^H!ptq7Z$B>i^jphvQ~Lmip#9xOQdbe zrEEj%?Id)TQqy}U+bii_uCSYLiT1R@Pn$D_(8bB(_l@isv25eY3M@0m98+bC;Y$}4 z-mXrAEqce1Y~`J5v}vBETD6SYj-!*|3c_r$WE zfX}tN8+{dR$noZfF^}e;6_w3s9W3ke#W>y&E0X_3GA#pKK0khx$DXpD!bZAYhBrb2 zYna-uOe(y!meMxNFCUhSof)n$Y2&afm`(%P9zQJ3tka#i#)ZzxKQBHwn8jF_JIX ziD!kry|2FSQ`;Z_SJc2DrIZ__p43N3Op?ZxWSi#IvV%S4y1Ea<7A}=I)y1$z1;|`zeMHCgNw*rx}T#MX`UffKJ zhP&uX4tf&jMqs~>v-e_o&LRjbc9b4dvl}#s=OAOTAlGJo;%cYw<|h@~e;&Jd(c(+& zFT?d`A$}+2o(U|?C#(~E_x|)r5S2K97W3d&J~FxOz=sL>W}7#|+tY1PDm=g%l0^!l zAIN`D;)a>2-1MFg=y1l379A+|S%yG~7 zhPc|8(}&bds9+?{7-^O0#6I@d=cJfkQ%n{#Lmnb^K*xW6jZ(Z9_WZpYeJ-eVS0{Q;P13~T+GO>!xX95h2wh92XCGYvv@%L>2CcI!Ktbm z+Zecol0%eP3(w6dizdcMPG4=O=}|1i2#{75?*PG0j5M90N~XFk5QR#$Q6e#Mbx22K zg%)EN<`lw&$sCd`SgI?XZj#cEHNiI#!d6qJvS*G}!7q~C9873(o+VnxCHc$XZ&+@# z9l}?;uONv9nc#5MX7c9|SheCU6=Vt4N_aE0}4YVP1T8JJ(%_7GVY#=rM6L0uYgR2P0b!rTsMzC%6gVj^aJUO~UmYus2 zVYpSGw<9nL*(wrWk;MwW8TZsd(E~8N?BTN0_^dY^|Ne&^Eqt->(C}(8ql$_jejhsC0 zeKn2B1rL48DCRt1ryu9|Ddd^lOqpL2J!j4;>6{RqnD#3_KHc zR;_bjQGCaJ=cr)R8kEjDp)3dJl>=UqebPa9w8BgZ_E~EyyHEnl@*FfV9aEB4g$U73>}>>0BN`JPSgmo{5DH<9E&X#iIA?kn8ECb78lRzqD}5Pn zNv9AM3OHUG!(AMvQ?|u4#m(CKMxCC93fmypE0K=^aS#)?nBEDHiafxz)2NLB4+W(f zLabgV4l10TgkKnvq)z`t63%PeH-UYa(%&Ss{%lv;y^L2Z2 z+n$yX^v$R=1MyQ{={2!g&a$2>GUW*W?X=qtn0+lRkBFqd#hJgKoB7Je0__8@@@r<_ zER6bny+23+ASroGF#@d&pyk@TK#l&S(s@GrNY)pAv54#>%s_$#K)DwC`Q4%t3dvJ zirK#ruc!w2S@Ww@Q>dni9RD=e=wa&20g$m5CWH&c)Y9Scoh|QI>#pMa_1*JXh`su6 zG~_$gY{^43=YJblcA_y8ZTB$m3Sa#hA~|GB9)kZL;7$i`RQ}8??sMb*k6|$B%pTcM z%_QsgIsD8-+2=5%>7ZRy^f-{P~>=0buyt!l-5RB;5RPf5zP5}xhr)5~xCsjS_| zet=a`8!$6$A?Y#34mP>GS<}$RUi29unFog}_^Ukl@eLz4(yZqU6($PLU8|0$|L8@i zZ1Xa0g$sOyAZ^TdxsVs&T3r(2_aS;+K1y$&VzpJcYV&U~~4Qh6mYG}yJ)R39H5 zw7&jje5f1UG#3{c`$J|%U1qPU>1Dj0FkLikidnyGuC`uY`~G!LoJ+L_q~)*ELb#OM zxLkYk)GpVss^@uHp7CtZ@RCU9mOLT@ori1hUGTN4DPkB_B^bSrKbf=SSJ zt&cjhh~GYl>a1`T3W!;ZV(9es22~eA*|e$c(qeYly@5Q)=#N{}EO-gAM_+S=S~y^J zgQvF~dnaX;?7(5@o~Jq_bjmhWamhus(YVS~(Z(JqOV^0a?{o8t&hcM8KY4%{RC+dc zx7qK7B(D&y2tfUf52Fb9Wv@R)b~KOBl1`kR0^xehRh}PmmAr#8igZD$8ob9txhfwy1P&d_uLr0?`Bidbj-+f9;KaRW{ETIkHx=#hCxwT5K50jR~{BuQQuhIJU1fi8(<=#*(Z=}2*P&|s_B?(e2j-4F_fPOP>1!6TF-plM3!IDX(7K7miaAD4u>zI-wRz?MU(cfKDEtJ1*R|EuIeV}@46 zegI3X!P2LhpX%QIBvgVZ4>f~1~Q=zgo zrHu>gO~BGi|AuGs)A(BaHFCzqKw$K?8!#$=54tZZh}A_uKi*phjUH$ga=V6am^VD@ zCEljG{R{Ni7g|{3-?A@tEhO6+&ZOH{q#lhuj+2T2t9C*0vO7-!#4i1sCQZ!;GK*v zaK-0}$-|(GAbzer*MR-Q_BYN!*=)_+M-;=fd)-Ey3!m`0RS%`iF7QW?Q_&mu zv;Ppobq#@(#(_)U>>}CNUHkNPVUXc{VEll@hw}dBpaA=&?s313XN|J3o{YN-lzc^e z#EKrQh{~aZAS)@ma%-aH^K;erbJLfXsrCKFw%Hdu-3!DQmZbclmxNHHcP2mK(nb)2 ztnYT7q{r}#+KN4SUDgaWou~4r))6Wp zr@2H}T@|gt5uBuc*9A{;yPo0}w!5K^ZP(?AY|MuSdAdV>yXtMKW?f(1wcT4h4rABU z$Xs61%m-r4CrU+mN!?W`iW$^m%eK4XlK$>twquc;mo2+NTPilg&PT&grQdHpnHcD> z=SB4|i`2}D;h4VEieWfFpM6`o%z!rzy7>u=yoE7u*dmtk_WR$YY(-V}9~aoE=!Qi&*U%u}>Y#*3ZX{HmU1mnLwqFEH z2TKk?Ab#|tf5kIu-8hnt!yTcdlzpTq%&}Q6{N%Us$c}d#d=3^_us7k`@0A|Zd=bG7 zs`d4nj_Itv8~=Y`Co`S5JWWRR-dITYe-zb`yi}`%RcDQvwEr(`lQXZW#&%E5?nS)M zD$i9bCS`8ncGI6 zhKqls4Ml<&bkIo$0*;N-%UlCT{S{H|}vqZ6*XABRN5)p4V5EMx4 zs|S}vVj$&G%Ss6!8oMfv(m@lXsA+)FAR*7q#d{J(9w_N6AO#dAEtntOC6DZ>3w4;8 z;hoRb&n-|ul&bL85vq2VgQG-kP6X};ms~|xUuqd%`CvXBdC>2j8A@RFGUPV$?E@h69h~u$KRtZ#-UKqX=`Rg7ns5F z7@cAY&0=_t&M}4NGCcmbP+ep}S(s6i+E|0f0(-0Y?=f0E;4uj1Ui2|qq~QjIN_JM) zX*E%zExle}lRSnG1$pHCe^Mi%EvnGH{ig#X3GId;=EiPPG#O?Xw|bgkLF<3Lx6Q)) zkydk7b?o93`?t`)^r^Y?-mb{6nA2->qH{p}oQ$CmK+|{f%);c6qL}H03KEf_sBx_e zthfA=g3-96sz}??F>3)9gTwIs3J0XFK#o{k4WL}6>g~=5T$RD$xcNUZp=$zjQHWen zu_^GkO-ZWip(B~k@+@u23MJ7|jjGF6Rda7$(dZ7y?aShFdU>Fi9yrc~P zlrtlLwfA3$!1eUf+`ssJc#)HVGNL%ee(ATlH@3O&lRU)HA&QSToNNip5|&vyV)3aY zG1V!{%pez8IwHnbPE5X*XLd*WS5icpS7d^W@GqmRF{vmakdY|Ke_-;{|68~ID6)Ta zlLsjPQRTHw)ssou( z-0;+Ksv$0Im`9ewXqhREQa>isJZ&H36Kv`=KLMLd3 zL0wJrKegOqa6UpmO>qJ}(Cj~scglQi?m|-ilNn8<+W%tqv{g38x7wWO`|5dnEMpQw zA%)}ATRx<84&xC1D0y1`bt1lxv&j6?!qx1@NpP{0A2hPLKi?>ssH}rZkyM#QX}?R8 z(W%9|uc=0kSnKlO<>HHaHBe>m*nJTRd#uA&b&tgc+*LRWwT3Dc=dW`o484X*JcruK zAo{>=Qx~!`#@8u!;52WrEh*}Eo<Gjr9?Y>?T z`s1_xRp2zlHtwOjxrfdJVl$rTa~Zl3R|jYMqk9o_+ZKv>vqodTsgw?-62*&vU1(Ux z0~h<_U{Vm54CRL+;;MDqui#YmeGm| z)KG2N^r{fU`^NisuN(3Hz)`FyYx`D1izyRV?xD3QneX)aRBg1>c}EqRA}t7^(W23%Yp!Ta8-GlfJnJsRKspolIb?FG#L$LC+2+C@~p1O!}l3f)MD-x%m zI>tq-VxBrB$mdkyz`ijilbZjiZZ(y7#ad^Y73EHq>`9R*`nQ2 zv>hu;t}(F&T~@isg_vj9h73o8#M`hua!uA-do?OCd;{uCiOj0W*#X-kJ7Bms18r45 zYhh78OKf`gol$G^X>Tg9Ej7c<(v;T}zD#g_dCSJ7M$z7yqZON~kVY3a= zvp&t$?U0oLECn@Vg5E4m8YQzW9jGf&&)NuPpemy9_2;sHd)2ZC%ary1$#f<3T; z=gGroiC5Lwg$Dhhx@3|`yR1UMhiMUqo3SZ((UX%O;G)Snj4ZKw__@mRAUhEwxDilh zU`FIKaPUlPhuiMk)M*m{{R-4obI8+WBRe3GZd7N2f*8i~%-Kt`u*``@RH@e1$O^5o zKE;`((N~)BWQk_h7a#HTlIV>H{{D@sC0&gjRAgKu57XdpGi-qr07UBxH2w0;AzMNMJI1>xlR9YAE;=Vske7WlH_$Dn zuH7dv>(B*P_u?Tv%e!F^t7dIDiah&4^r8;;oT1SB`-;bF=gr6-fw6kx&Opj>g%Uc{ zR=Xp3Sat>n0zEw%FIH)hU>XbCO)T|FuUL*t3q{Mm_X9V|RevdS?8RP_7f#Sr5VP38 zcIFHJxtD&_rfp3eiM#>MX@w`EVZ(Gy%tY`Rb^lV7d=yh{Uj^qw4o3eFDTMtP@(ivV zJ6Tl|t-HQ)c#}(j(Tp0YP+-GFrnj8E6WjzI$ju6hzXH8`Op3}MoF^gn^Du(5dtES@ zNF8$ZN@m%Cq$81keRw)kUiS6Sd7N-STVWw}p&Up2b>n<7PV;v&Oc@TdXiI9PE+_R+ zvC{>2NG7wvQ&|yc*viK1b^S7nh~^=APV#k;CUzd@e9b}UjMn%tc0XCm%5R@>16+a- z7fZjQth5!*Yv`)RCS1%^YQ?WA=E_bs^Jy+y9pip@I61CHcu41=nGMszd-ezKe}`AG z;c6#`Y9v8xCDUz}CfX;xszsvpY8sl0LPOah&fA!1bvNkmcn6s2s)Z^h0Tq&CX&~M7 zf@)~_fWJ)60wS=gY~=*=p1=ixqkDOwzmC`W;ZV2E;G%x*JC?Y_k18mDKh_GDyDKnh zfj#D!`&=X3?jW^<3x*4uE{6F}w8nCbbo^tmD9e$ConU_MM$5G!5tC$&VMOd&8bj`t2&;T@30Fk zvG5xjIO}nhNn5C2%m+M97wmGWSP>1ugQm@W=~mMVR|c_S!6{j+zfXo99uydJRVxu5 z#PtgJY?UnTg6IO-W3?M9Xg8=F6abu4MiUa|^YMPy2kXa7qk)^bT=1U;mN2em3)l=` zs(NbbKL=^WjEsEl#Lvom@psO9@zj6Med*ka+-YK|&;X*6QYH}(<9!Xh2=8&C1{l7) z{A`rK6g~A3$|%P~>_LevO*pz@RiedZ%cV5U7@7IiTZ?GE;p7(qQpFupCAa6geWUc9B`;G zzOAY-wr{4y>~55VfK;5=J5*+T9Z_ac-AIj`NUo0^QYmta1lu0}p zPkP2!Y*38G@CP2k(*gOfzVAs40;EuDFqDI05nkwTGSoAL`TgQ@Zffk<1@j5}Nn35?MqXva-eo_2vDG18X!*Ljb%b%xqm_3o( zUrXTh!s3w~KzJ}g;V_5~sQu#wakX>qG{mE-d+Z90Aa42}ThLd26qqM`!gn1oSN~Nr z@(R8+@C70Jp*|KeZM5htZv#~Qg6zuS=z8NVbU9Q3hdbQsF4?qJkIAA-b%2sH`~xz6Y{bG5b`PMK`vh5<@9Y9QpQK#xnd`CPLtyTZ1Y>Tcxr+ErsjnwWZH2yvNG_YZQa9$#PX3lS2(ZOnJSKU%POs=hn!H0R%g^lF;xjxmqX`o9h)< zS{y{31lD*1Eu_H;Vj{OiK{sjAb$NDLRD3V(I5y$<=;1hw>G)4)L7L2ELIjT13yJL2 z8?R}XENDk}d?9Lpbd!GMiMMxMg*VsFMqHnUnz)fXeqNN{TTG!+b|PLbDa$ymxlAP} zM`F#BE%>OUC*T?1bCll&>KH-(-PB?0+s9+B^0RJJo7Z}fj4FfMEWrkEERMGDw?iz9 zB0*kigb#PEsp5D)1IaD>*)??MnSj)CRBZfLuK3_TeFP*h)fCS%^`1OW0CE^`IB)-8 z5Vh5N(Piid>S(+tCb`R&YNk$tvgaD|>)VFGE2!r&@guwH8=(ZwymP?n{QNQA#3gYZ zQ4ThltFaT&bgcIujW2SFF9mADXMHt#oJl;4Z8l@yYR^|m-gXHw4l3WBDtAM3+!7QU zC`3p4GY6FUyR}sONomA;Q0j{|QKOVB+ZxlWeE!wN!uN9v1)mnKO1ZZ`yi=Zn9w8XV zo(A|Yti8#$fqQ{M|;%6N4JqMEYP+B-3&*xTi=1~h^x^h50Z9>90$Fsjq(XBM>W*7uKAW4XtF)$6C zSV+&lY3N6?5SmER13EH|jcu9e_$E0ShxNBDD}7UA2At~Ls`@@KIsN~XKCl+OF-ZgG zmeEE}YqmeW>Ay1ewLfO*X^Y2oi5RD%p>L4AxJiDJRldQ$5`VQW}(rQVWH>h9WiOmbx9`#C5X|3^NQP| z0ah6)3yv05$Ab;zYRuF}?~%9^t7;1e=8RLL!<-~}hw6?cKCxI|*f zn6+C_(@X52t*|m;j>js}2 z@yu0K)tNg@Ct*gWfF9(xdPmR5l6 zg#=e!-<_=HK;)=K#;i%?orkaWE28WgpAEjB7Vt@zsD<++iFLuwh9~;~I-m(=NpATF z{qu;6qBs9w$WEY0p0Zd)ju=)qGhl#Fm@rFlfu{?Ae=dgS;e!Ho$mqieUgzp?DNDf*5$zcB#phi3M_l0urHa0>j-`Vlm>b^CWbh|p zV1YgaItU#e^N-Y2Gl#K%lBUk_PECGnViId5iTxHB@M;}tVtLORY6Od3ttx`460xEH zV!maN_b4T)eI0(bVA7-jIU1P%!rMCqi4p}{qHWu@ZQG}9+qP}nK5g5!t<$z`bNb$o z_vUBj-k6A)h>F;&R#fe;imJ@Yl`Gv0jxR8um|ltjD5+=>?y5lx5FI=O(@~())SxoO zAio8AS#slnDvCl@TM2kH#U|}-p@r0SzuT+H5O42iZCvgPP4CU)-TMg-6-g9JbRq5* z6M=428(3nGybzrlIC933QM6Kp&xlr>Evw!J?%RT%fRyh(*wQTq zTl*aA^(yO$igq~0UG&D@lu;-*gKGvoc4iLqL5lx{v%sGYWUy)jCPC-Z2s?5HQf$T% z%q!wM4Q{Zo$MiH{ZR3WaY0eCwoHxYpYDq_u_NY(_fK%|^?L>%N# zsj&rr*nGZ{M3Vg^-apUAaw4Z1^prkRXc9*zfzr@B#L$sI(`A%!Ow{=#L+05F2*6kq z%NeusJ*hABs1^h;EL>SGzuk_!zuk_!p+qCZ>Qnk$QLEcg^JNs+(X^ss2HvpuFvz|b zmQ~TAA)^%-?h#$LLdwUB?Ta|{BD=>Vbwpu{w;d!iJQOt?azZwv!{F%nXOiK`Is+n@bMc}>*sGeMP2-gF_n}y% zx|>pEBzrvKl31HL<;E8o3MtU5VySz=1(OSf&88Zn=foPQ^hYZi`N7`lRN2X+x}v)M zt972|^;-3>If2xYpD)8p);VnT zB%`ywK0O>ca9fHHHZBJFchwSLBSc(WjI`XdJ^>Ex3^-{haNKkPblf(=HP}30=o(#0lAu0)OvtfUs5LhZ#TY!t9x}@!^&M*@n)5+bHDU6lae*Cx%3h=;+ z5S(Qs)ky$&WLa8Ilnjkw(^wZ{Zwj6`+siE2X_R>acb0-Y0OK$l%pl$gEl_aA0|JcG zKIM~n%%dGGD4RSHk}7f)<8VL$J-Cn#0*Nt5doCRFFmQO10G)>ljI*vIRX;vT}eLAX|!V-g|@-A+qFs92ni)atbisr=%1I zfZQx09e#I^1_ueCE9FV&EWn>>Mx@hm&V~9Ih6TV@RG=P6o^&7*)!($fPCdUO5rG;2 z+gPU=h)Q0)9f)fASBVP>NvAFVsv}zO4|S~3;16}ZM3X1f<}L>}iL9&)XaZdp11_i3 z>K{lpPK4=)TIdJ}C_@(S3<$Vks&NG*WbJSV1O(s2a1IJ$YbJOE4bdiXaf*(Bka7%( zf#9m~X;3)1#&8W7vfu5@Om1>jg;40+sW??J2w)5 zZfoCn@EBU;ow@DK(PXpw8S8ftKCuOI*2Y%cIJu@=E8oG+bYtN9wb}#;mvlZlg38kE zg7eU_%9*->G|Svi3(H}%)?m*ZT`m0Hgi1IQw86B%EU?J`=qjw0tX)_yS_$FMT4Q{N z3l(d5c}tZy5(|RkbYtG6biH+tyoal2hu48@Q0m%wUkrxaNmZWoEvx!jHrvasaiDf9 zxH^tgLm&&`br=v*Kl-PR;n~;)X(TuFNdIze0wtOk9`5NXL>$DDA3AhZ4KPOH`M#^O z1$DfKl>U_wcdc_~791s1*}d=JPYC!vP798?{{3!%hrTzSySvyvVVCG`zBGg(m$Flg zi@>(&11VRNs9~hXTs|oUtpUEX2sGkIoI9Msrv#bOb{q@XSzp4mK^OiT&&Y=Y&4@dH zs?%0p>^}gf;=;#jtcy+OWLp)Zn1WbncjbR@_7$$u4VL?&vWko5#@wtAh0+!6cKwcv z6ttucwUeweBIhRF{g&-O=nvGuJ*hT6ZDQTzO`+b`!D)#fIYhE&oWnG-ywxaFuKT*5 z$g<;}#n}@QUsbXxX7FuEGE)O?rBC5F1QkNO?+@{syyqJ$D)dbba7CI zp>-x1jt79&uys-y#yY|&pH0&i!a}x5ODCw7k)qepPx!nQ9*qH_OG zD!eHoeS_veMzh|C0Q}K}$A4gMM$QLB~=~gPy9M3hfs|gMP;|Su9O3DGD}2l5*4_ zk0y)_#mqVh+8N&l$w+@>cK>$Z*W*{L13RrZYSS$U%dr;Y@m59^5_4_C^g{S`6s&V- zZ#mMu8Yp_22mkf{+fyR$mRo92m$uHy#13N`vhuD6q{eu~c(j_}`{L2B$k zHNJLoFdrci2w9C9@=$QlH%U*43+v{CTwoKzY?ESwbjO)0tX$}0>85~7N|)n@whog;FVEmDIw*e3%rh1Iq!axqyaR;bZfa!uF%;23+38&?8}wr?*)z@3^!z zV_~aso&5k^X7y$N0E}IWoIOL6dx=@x}d1LzT;kih6R)Bx*sF)8mO*6X;Q z6c`o+WM?DDsFbEqB2EDbZpeR~6H$QD-=P|yF7|g>UyI7amuWzmhNcQBb6D>UE*#SL zje%a2XihDF`bm8bHicOP)(&YBkBv6)d5RLFMR&8f?*K;dE6m?Wz%_mz$-B2~re_5W z^eWN@K3CC*CLxfQrk6#ckE)vA7tO@HRQ@e? zRh$#*s<7gVv3O)xKlP=a;G~Vd*!<;~tV(5FJ9fbm@y3K`tb+nvpQbEG?}3c+^x@I& zy=yC?Cl$ZSG#6Z+R(GpSDnvEsbFg{^dCKzaPkm z30KD?-%Tv1yr`TekToenLp<&tVx{0|ADJOvA>u8xF!eOUArcP|ImrMwV8G*jn9;?F zpOM075m20j`9Pu&cMne(_ed-Ux%5@KBK_R~F{etJJELYTrJq!ZbdV{)xI*_WdW<20 z*LzoK=ouZQ5Bomw!--gei!B!6sUg(>Z>W3dEYCFqN$e>-m7Au9fXFl(6y=s)3@*I zu6-FF{g7Pw<^5;PD~)v2!C2=dAl60;sP7`aL!n%&JVjANTyBA?u_Dw9Ha6#lAJf?% z1kf!$(H*dm)4cIKStvgqAZ+mK<;Lz}P7u=>Cq%qUzHaCaG}r^C6v}}|Y?c75avKj2 zn`cB$|Bb*`#0J1;^pLUutLx^}r3I_)<8q2mVVrH@x-&IkmfD>poY6+`k2t0SJ`s0+ zEdm@iQ2~xuk!3%*X?NL*qvVZk(ck*^x*ORC>ojm#|eKhzDE3FISDI6Q&xxg*&rBe^@~hh%2I zW8}QYzY#=64q>&W8e)AXntl9XI`&1C@%K;)?>O_;r;=V59n?9HYMD;=Ot)x;nztnH z&pe3k=NcoDR2K74-8FPK8TS(0m9M9yN>5b<#eVYtW)W8@^cg>%X7zp`hQw<6vYYD@ zE`*PG1LJjG^LAf^GcjYU+32;5yJA!am*G&!QP#E3? z83r6v&PDk*Y&e!%ppRUg33xP_whbKL-GNdCs8wkN8F||lLgS%^e7OU#KM}VdA@OeW z9^Q14>RpE+yIa(zN({x-59%OUt&ju?-!XI>Y^0zo~U@Rh`d`aI6io+vbpe!*vlWSiw z5!HykWJojuoJ$%YXHRs-$_2rzl$q2MTp{JXFC8##AqRqGFZhJ83HMx~2Nn;HR*Rf( z736YhyxY6W!R=CKwij@5cw4-e46&d;$4x3g!}0EF{g^O(pclXoHEm~knd7VZ-8L%ev67iY_6iWFW7KG;Bd()fnx<6L0$2!?oJ{m zF3{f|L*YbW5JldEr)=(JiCSrltyDY8$QZyIFk%ouvNTD9FduSd-EWW}KP*u+XnSbV z%>Qq*cQ;}kn+ArYG|sYI@bj%LwPVi6P}6cw7_O@LxZX|E(jM|kK?>G#I-q%JB4P=N z2U^Uc96H1hnzk7sI2DV;e{oJRsBX@QmX!jAcS$kGe@=?lC7)bmW?Tq7JUfYC=RrgY z_Pr;+X^G${EAKyU=rJ!BL|83Og*GkB@l4O|fJpR+>xN6U1}wvCC7I&K0mz`t`o&e{ALs43BWbbIg{AlzGZRLfb45vp<{+ zF(&PufduFyIjTf-#*$qrz{z}>4xv@&a3ZoA2+u{co`e5;#FsmX!b4>fq3| z5ss{m3xkiU&%Y-vi!{zDU$lm@^}Lt8r7{4h(sgg$ccfU06tf~LSjn_pMxV5bEr=p| z)M(Y5Sw5lrdT>&J_Bk7q0eR^fCAy1?iD2<4c7pg)Eg}3WWDf-mczit# zbI>p`jXj2wh78hE33JFWF^m1~4-MED?+OJPu;sS0X+1{xYY9vAFv&#ih6PQ@sdsIh zQN4dz?VvF#S6oUYKe`_%}oOm@3^4k+u4AF4_{8&N~oY;1GKklm>bg$#NgQ(FOxjuhCTvUz-M$jJOGh{)x*v&zPg&hfpE zNz=H;k`NIf7MkY^)?IoRISaL^f_(nMuGO0nICJmI(+4tuWo&?U7d*NefCEJ9uy7R` zp!4%5+twW6kuACXp-0Z{d`uZ1#np1=i)uI0X%o0AD|n8jvb`ty!>ZG#dA41bLD2shkHWe&lii+~|q)pL4 zD4*J|%GDhzR&f;sT8xnKNATU>4s4SX@pwmh1+n7`xk_knmV_ReGZc zEAdFI5LPY^T-vN?Qul%lXX<3*wNe(dRs)iY&ZEf9d%qxmyeWbblKA9gmfQO=yGCUE zkyc)s3FxhRa5{x&`o!su{NzIh6FD(9zP|M!5?ODI4qXb7t<3N6th5L2?}0!C>;@ST zvKW*yygZS%x__9}`!vh`e8;}Spn0`y9NoQS3w(fF5(Rkp4S*ma z40O?~p$1Tp)I5SmRS0Z69N|H}m*sT;{GDa$pb60UP zP(A|ZtcvXf+NQuo64W~M-ZeB~6yv(f210sm$_IuQ@e%!*;6*cy^9uv?UISWE;ez*w zCjuCVKxGU*!xJm)cdTiPpo$|{560+YJ?BD1t<@d0hCa|n1Bp+fp!{x^E}b6%w3)io zxj+V`^+sCz_!@9b0FloV9AC%WqR=%k*3Ub z^f_k=$hORKulY`#=&CLmmqkLN+ z54>!U)AK(ns#KFgz4feAq(imtJaMdamcndq=ps^VMtw1iG-RzS?yq2uEB?3A*;35~ zWFD(ux1glq!dep3CkZ;x&t*WJaz*%sO_BAn!>H5iU#0tS9h$tXJ2epyG8t}Ud0~+u zS1q3J>4(~yqJU+!U}M75Ki~=C7T6p;!dDj3H+)2z=a&G`1M&zim!{_btv|7lg(>rj zLhr*I`LS3cmj=in=K(WLPb2r4gm@VfFwU6=p#ur>gix=Pl=x1W!rk8Rxr8=)+USTo*m$Mkfu11CBiq&cb7+Vh(ws#WR4=;Ml84~qu{kuVORyJ&G+c;d zdI9Aa*#SK>ICxx+Pm$*wh({BHnfY!~M0c+)b2BeVaW)8psQdsU{qH^Mv$NnCNpCov zFG|JSI=_Vwf!+J3j7m&8{=p-&wod{3x3pjpgeYA^X2HfcQc={o3;bp5`dvyB(7Y?` zWYlPh8B9Tcz-TYGiUcC}?wZTpC|$3I&vH{@zlJsSY<%@jAciAgH$sn7ow#6eUUo6S z0zP}>68~cEDX0ZkP@Q^$3I;~;RN_6WVTo5OGXe;1V8P9^V7Xsbo*S4^g*&K^ znmZ`Z>322a4$^OM1q%>&1rtpBZtR~ljRow#py1fS_~E{i)k2{2q^t<3f^SzF<2I*6 zc|2FU@G+RH)ntS5vb_qOx6e$BSKlG5?-_J{ERk!%&``&ycYvNi#8(4HiO9cLQ()*? zC4?%S*8<^aZ!L%phhRWN)Gt^%khSQ#ZL3CN_WMWA_#(-Lu}Jp-ikxlkF}g>LlpA=v zrP+@>T9nQxi#N}NR&~9sIAXlVFbCl3((35sFAHCqk(PaiR|MZG4 z*_oRy8NNtLD2op1?`uON6PVSBlLl=6(0Gt6pyun^hN?d@3m*Zb*Os)WuKxqai~}vd zy*D}u`1G;b#Sh@tou^f#n-A{4v%%`=PrFL8Dr?;jPF`IXf`Lvyh}PeS!O#LBeuCB@ z$^ucCK)au7kz}0^FVEVN$FXHC7*2%J>4<{Epd>PBQ6P$0W+=A*#)#%Fm0?PQgSa=W zzC=EpP~RrLPG>}%xPlR$>AhFRjPUEW^leO#;t88I$`PP%ppAftQKXRTUxaC1;%Vr@ z$j3Ai9>8O14uEx_7%mrjPF9_!VS}QMS{u^}bZ~|tAxVZd)PoRR6v8;Ccof?}eu)w= zcrHU4w3Ta05PXk7KPv$FWWvLno}PFCfIMHs(FikSst1KXBhYw!-)%s^k`;Le2JEqx z+!cmlKF9T}ZwPo3nKcWwhT&R=Qb9A7NfloBw^sz=>&?tZ^8Bmq-PdC*(~<@qm+?r8 zc~#@dg%g;%Y9;YCTK>`W4x?Ntb|klWQ^VF5cru_)ksxv z?I&$;?Es$Cuznp&Jfk9y?GapbMvpWnNOm5Xl3x6_f>OJA?I9!sg`E(WW{mCpkf*$J z6}jOuX{g%_q?ju-6u7FBe{l*u?tshRWu}WFY+&KrMywnl;+*OcXFH=Rx&6t^j!e6e zhJigfcVx(hO=8;OE`~EKc?+l#mF+gxx5E#ZV>M)pihzq{sa#6}BVh?e?B_talTa7) zrFN5?%8gd~3{V?U@XRlp-4z~?RZHG0an$b93lz5#vy?8$7a;K}GHj-CLa)^W>4i}| zP(K@P{n#Us8(Q)ToA%RDow3okBA!bx8ftv|NWL3zzf5?j?(xpO{y#}o*BmaKCPFLv z@~nCE@HhRb;;-D((AVm@v4TO3%kj=Yx3lMn5J0M$N+i$$;AvsmY<1V?i@PyTlfxhz zbTBHAa60hB%rBROdi3An7OT3iM>r_%Q|YT=#GO1(`(O}!8omT0ed1P;sa9vs3wNED73fThk5;^1Kc{VP%79m1Q%QtAs)2^!}~ zYS=@7vmOKB%lc=dpN-VKe8v>6-cxeYb0|ed42X-x_QtZijOYHQ9weIpvE!BIN({5- zOSaP2F8F6F3x^e$`@YI5#V~GNLQ`?tv1;kUs=KW9Hz=`}X(&&Vb}G6mIs~3_kawu1 zcwX*|wFGzg|*cQGNp+0G4?Enc#WfR$zHh^2JY>Gr%$r0*gFzEbuJT z|0}5HlvfT7HNvyN62~%4Eb}0-_r2I@0EO7>zwfY{zUy+$tUUjx$=xe@=kzAyq>+8D5t$$TZ|;6yJjgFF)I~4H5B!e z40>~ZgE0Fd6C~bQ())vNwMIJnwcTcwGL+xyjY{95L{f9< z1-UJa`OGfX7?rWgT1iYA%qw+{w8Mv8cY(ZPa&&~a=g`CH?z)bp)!rcezv5; z`#$Dz;STu3x&ooZm$`64zi_FqFE)!yk}xUz-(PEPFP)EdY8nL7!gd1=!kU%Z+1>ID7@vF*jYf zV`nl(itSg=cFnugPCkoM{AJ{a+>VIbmOUA(8`>)~OX1EvnrvY#`e;-0-XM)2jAMcu zr6i1XyIt7DqNm#?9XC!L%jgs+gP4?wotH=baz+KH(CbI*PtV4#lP5uUXYKEY;%UzO z0c~8!>OcTae;p2)8~Gd2K?fd~$GL5t1-KOhYmGNNC=PMvao|};O2e?t)=LM^uqGTo z@5k;>uO(xzD2>JGF!8T!ku!;n|x^^NYg z-l85jz@n?Hdw=X!nCc_%3;y1~&i7cX9ke;NtYK4VF;lIHIPHT&A5mnD>ESGmjxU#i zA7b*p?(K;_Dl@8+ObS>>_YAT;uEFS6gFwCgf@(<0E-~5LqH0<MsoPcjaOniuJB!e)Fx#u(~_f|u^$ zn`rT^rlYPh6n8Q?)?tX?@Zi=fEQXt?xr)Xrt9pAe`ja)iP^OM16M}k+Ja$_QLJ4{x z4?hO_(+*Cd4t34Xu_ss^qK_Ibdp~-Gn9bpc7YQ)~54Y5yY-1*Uouqr#ls&SC7SYBK z95K&7Pwxp}xepd2=Jt6yopmij$E|@Z?4$+jj9%I}+P~%>R?w8qsYWS`C|6d{yw3lW zifrcGHq5X+>CM)}7S(ucjKZKBKCv~ih&s38TO$Sq<-Un@M}{YEuMye1$*6g+wh&UX zvt=5DvmYSG!5txll`U=Q00!T*O!UG_M5!%F&UaK^p~AKP;I(PrE>ZsB*l)kOy|?$& ztmVn90bq*5bsfC#?#v0Z+9$lSa$gGKkX!eFMO#tQWb7h-C+99G(e_rR)7$Y}Fs^De zh2P0}gk5HfB7Cq?GF#H6&+g)|MUN>a*&6mWw{RO@3c2V^X87D>u0U*hiTrFs?|~+L zVRD3Eab(!o(&+UGPNlr&!}*ig5l5ECx&2YTvQ7SK(IN*~J1-jlodnYR{rz@Q#gd)^ zrl)4nH*ixr`J!RPU-)S!`!)xD=*{MM9Alzk_Hd>r%GmYLqYUGGcBh> z<*rg)1u&Te(Mxm4?xlr?W@h&2M(qq*GeRX8(GHd@FQp-+#@qbP$f#mF?`8XJUOqw! zRP{%z`PUDHiqu$8vgM?ujGBh9iBSXh_DO5itiF;_W>&RcS?11KB>^=slMXaYdZDK~ zn5#zQ|7wOjzXJsVQKRz$vNa!U^>?nuN8!uVHY%`V$soYltg)`453~d|KyE$x#Jxc4 zt`!~fJ~xvOiYSwzGnSsBn4kla2VQxvx(mUPcDr(QvE(<{&wUzL&skgUPyI;?w3{92RDj#i&#SCwhXxUFfdyQHwAAV2|9}WiHMAG zeiTt+aWLRAFIZ+=TW4ox5_1l!vOMD={P$^9fZ1*ete?74R;p}(DYJ5-QiqsB`h5r|2lI#h?QZiX{%iIxWg4|?E>9NA~!YLxSYdE#5ksfhyIB6jwD@5-i(u5=6SFG z9$1wvaC`!S!WCv?f+tN=Hw#Uhu#g6FiS=-5yh&xFj34@aFq}9sO_K&$^==u`s9j^o zywngMFI6+GShGBBV#^BpA_muqyewI%O!VHXwg4-AEl7gI{VKLHrH*WJVVy%;hBN@z zGsD{0GYitLQU)U1%k3>zId*<_wd+7kPI zZX5FT(Xp!wjQ+`F4zfBX#2ss8&Q8m(pfjYbs=}tO15rG)(|aXMDY&S#I}E0Gk}fB1AH?tzr?M^4#K6=c?PR}=Iq_?%2FS8N0>A>$GF zOn-jgpO{oI3@F|A56qQb2G5XWuu;`{Gt)PWz+L(~3x)$tETxc+uQGW*$w*f$la1We zP@&>CgJA9oIoq=P@c4{H%s$LYBs2N^#^)+!x)4YE^o zY4(!M8cl#QBXUJ$vq(!94D!dDll|_j9{*2d@T(IeJls?e@WXB&4+q14LL*o>XUU06@IT=QlZv_&9Jpf!));?Jve8k1*D8ZvTq z_E6Tn`?-?bAJ?Ogo68Bl0`MH2x$>l#WJ7jew1IDN)a?s+a3%U?^emTso1uM2=J^6+ zg_WldN8P5uc$OSQ6R)1z1H&nCsp>b7NzBdJa}IdVPB)ad6AT?OJel2r!GrO%6n7>? zvk_zR;o|dhk;XL5%@W*6?BLLG z&KrOiT1WV|-zS7X^Di7C2(QevsKGw)nP3WjPPTyg5wJ*(b9@qE+0oGGdf|Eqv3%&b z_muP0LW~2Co)|E2sF1>Tqp^dvf)Nl07IG?~5n=iT3@)($JQ<|0X)_5Z5Ffz#5FG5< z)f4&_gCUe!{GMrlOlcs#;e5ZLPI`_uTSeYeooXGgRc5*;+SNE;s7`c`HY;(O)y}*o z88Uq*8SpAi(qFfk4s|0&qrk|h?y|EYoR}SK$=0Wbbh$(6*+9drKxU?U+uzvPe~yp! z{HFPTuzZbJ-*l}n-_}f^d&Sah_AeFJNFS>vQ{A^sg4psJCtFV2CYLv*jC>v!@Xpd5 z&dJ{F>95SNzN7sj{LrG>)7V}Xjxqb%YuR4@9rvtns%3pxI_X^<^<>^m*V?~N*P2%y zt6lm$NTIFw{H0Tcp}{h;8}&1agN)!1!gpe;P!Io(CdgEG(lft?o)$KJh+o?@%lwdb z`fGv5lod90OxWl#X8oU#jMq5SY29@QPC$mK%W@12bj5+gE;v_#Q4&Cu{v$x0 znglD~MK+JG;H-pXml#%8wV5NmSf`VDJdmOUbE`)fN03dQGsRjWg;-bU&a@LsD%S%? zFlT~lL3LU?Cs!4_$X1z z{BurmSQMAW1!X?Sb9Mn5lXzVnmG3lP@29Y)a65;H*#TvQO(Y(rTeVO8+~no66gTco zB8CVr+ONK!PjM;DgCdF-5mwMQVQ#RS?{ zD0(-jQbToapzejr*w#l0D3j7B_aU00f*1V}{`|esWP>EJ3(S(H&v39BE0Cle;P6& zBu}b+sdPQT{`4&o2V4$9PXR%@(i4cDX46rfJQmWZf$b$T^Lip#JSqbS~2h`@kLL(Yu9MG6%gaq8D{&7t06{q`%BQ^FE@n^V-yN*TDMh+ftS`A#+kq%Pi&p zRN}uE=dzX=B4x|MBTad@T*V0WkZ2rEK(AHkoep|TI?GbMj#X|sk6!cC1cOM7Ru3V9 zUiQS;mgsk?w8CZ55U1nnvKZXP`l^8zHgZdI{a_0lnYGnH`TFw6 zVpDYtZ%Z}k-9i$T2?DfBtzzt=ukytBfKo~W%42kuqH17Xtja`)5Co*oAOA4&@=g!2 ze>5p9I+dA%dP!P4aIGNrDg*jZCXN?MsOh(}6?uUeWbCyFBf3ne7$v{|D!AEbNCw{4 zX=>6d60|E#mhAkdSCreJ6VV0YT@D$mxj1~-U~Nsub-63Y6Vn_v(;H%V7=J1>@%$kv z7(fzGiUwwC`B7pDqQOH3FecpP*_{ib<&@%*?+BVtRj_8!s{Cwtv~GKb@2m+w6-FCH z=URDkX$QU^@2n9MfIM2lDRmGOGR&d`afdKJB+>SxW3CBjR*R&EFtGiP%OIdip9@L~8)ea<;k!vsnNNeh=#}c~7xh?|xuh zxtkrt==f!1{A5Vn2-}CM;$^S?EV#|z#L0(hG-H!sz}m{&&qUD_-?X@Yo46kxsDl2a z4VK55Fj%;7thK|CaVq=5nleD=7^O~kFifI;EYhcTxQ$@6mN^rI-9 z2i(D^N|@E@>x8ROaJV2K3}X8|^orcJzFypz<87yhu^;cnc(@z=|L~yK**yqnqYj+Q zeKG(}5Y`za3I7zLw@*NvWiKFh^(O#MD3}TYu>z+E!!Iu=hHb8&oMVpg6Xz7d6S#g5 zW)OnFHQnIWM}jo>J6@7$IbL#oK0XqQ+yTBkIQW|Va40^~-Ccsz-9m!&(nf;R(_4bn z*IS|(y~cMHUX33syAmI9lAb8_FILm3hXg5x@9$-P5~NuA5~O&B5~P?$5~NQ)5}?1c z7+}iVz$N4J5r3Ttet7nn~=YAaajZ)ZeTc4tH>vs)6&>{b!p^p-!ua}0>89M8@V+$FvrwL|jB!{F;Q9SK@9W+7mUWGG59oV_l@57B-)0??-2R9!?8Mjm$4l}bq!!9% z^j7!0@TLOQr9!Uaxg_VXeT~pny^Hz<$ zTjvufM758A>TO_3&>Yp3H04FqT85_AXMyTp)yda(&-KWvRi=eA$^RL{Z8X1EqNm2R zGCh907gkIA&|E-UmdacX!|sp-4^YYe=$_c_UD=7y)ht_?3f4VuVux+aNsIY9r>eiu zGpPo*ESdbZvz$pFC6>hSRFkNcS8Z?1JlK1muFp@dKRm`!znVR2@o&gRUhDAeR&IW z;9T$x%AOknBid`ySUC{5EB2$GI5mOmzX-@vhgJRXpp45ZbGU6y{nsDe_<7OhN&OT= zu~6vrMUc0VeSgcCmdxWFJpn{pk??mEKfT9v`mUb+i>x5f@-9O~O>MiVpE7lFVpHy3 zqL7KmXvMduv7xdo3JqL{v058f1qB{jjhc?k8TmODNMhK<5m^S+sfEZAgP~l z8jxjB8%=!K)90)HTTLF@Ug?MIFIt+M7J-~r-=gYN72fGz31zfD%_Ia&1F38?z&qKE z;qsM^Sbmy>JMXwh92zLwo36b-vrnDt5ehoA3f;6d@KD4y=R31d&BM6o)w-2sJxEtY zjnAb*UHLBh(zI4sqa(ici@3mgE!rOhx0bB_$z7pY zi>rm3G~bgZa)WDLPd({PH0e#~kgDn0&79c*0EOF!C^vf>JDU{|l+jJ?nMA{$^V-Xj zk|UV%zkLj=Y5ho&m<3o`L3>9NX_?!R6U?TjaA{$*0AvszBAT8xN=DR~b}(pJs%9;D zvKwH2Vj_KJcxt*Nd+TKH z+um%@et9B_cheunuWTcKJBX@(q05SUWMc9oEEejnH_p{3mIx-ke-&n%R>ChkcJs~I zd+C-w69nT4p^b1F$%>ttxcI=M=U4IE8Fl-ZsL(7k?O*(mU}&{*8yTo3l!_Wo_9>z4@Ei^CrYdj9{H`x(yC9^WzRjad=V^*s%Pdd zawH$xfuV0-CgwD z(Lx2SV5s0Dc;zDGEoDPg&Psx;W8<@OY-_>+^Dmb>0{}!)Dmy%cyLXatNGji`Mn(S+Of%Y;%M>$*(ANGn+kA`P`^;9!~WA^9a1&e zowsgsq$WjVg}c==*T@BrAnDELMRzV?p-X5Sw7HB9%@1R^jwlzp(L&+x6;w=SjMHMp z=eHieuQ;=nl>nSxFlTHqUyUva#a}c+xu~VZias1-xu}1O%IY(hW!WL;f2b(**mv03 zxffG^w0S%xaXcG51q0S5lH^kgoAy1Q0Bt#W8G>F`T9-loxZtg#n-*;6k9#YR9h)GE zpCKfNyKTMIetawA8X?Y1_l}3W99j7Ct|j ztWH_y&#m~Yszu%S;!W1-ZCm&jPv;%^Y;+DSvLxl+yON-~RaH)q?pjeX0P6`l(f&tv zNHJ%JyBO+7;i`Fh1sM%>j>B#8I{&)?YjUxyg51+0v7=06eI~jpCj&g4Lvd2`a<==q zecVauhyQpjK8$Qt0lZ-?69Kv-pVhePzB%K%FeZ~{pjA%x(buWKJso+~jRR>89OKE~ z>frduqg~{AreU4uh^=L|pGH+qvD75g+9f|%+1C7{B#Cw@Y5!h_Hr|c&Z%fjfM>YsNAL_>^i=fJ?5`H-Jb$X`LE4gPBeD?fFI$Cr>uB zL`9 zZs!2b^3BeC>2vJrGq=m{$8<|Qt~hpdsXc~YBG^BN8RT*T;kKu~abeakNe;S9O>N^l z?rHk{?LSVHu>GF4zFGhNzIatj#xd`^_VJ_0uQQC&d&TI?a|)2mhyCZGG!#>K$?MiX z3{QLyp4(A0AsGYjYNYO;@4a3fIPt3WNKP8(M^8;U$Wza@>!n|YAe-H2e+}wIUS>!; z%m$t^RU#vBD6R9CqclsXtqrQ1LR9FM4*IVhQGO`?VyMaS7|A8qy6ckxcY}U@_R+p` zrf|&XJpd=9;sYT)(&d77<42Z##jMd|VuT5`Z)3uZRI?Yti%7Zk&xCkU7*Rj+Pc@G(0VzniyR5E4pS|>sm!?3XJsY0?F$o-ww*-Oyw>ZI#EKDaO zP3Ai)9!=UrQYq{D?|%S`Ky<&qZ$oua>%F)y5JyfT@A2#O5fY}zNSH3Wk59&9ZBOv&CHRc$axRv6sIKjAmgd&eQeYZc5*2?EU$|sh4 zE3scLQBR7>dkI7CB}_f7+FJp#x1>Dl#7u_+C{-N~tW0eoozcs3wP_}-Om*TWzN4}# zsn2exa;+qK{9sOfhE}pQ(&nT-mY|et->cU)pxx8!LVJ#)GL%L-!7|XvZ{V&rtM8-bE8j5sb$Hn;Z7 zwTQQ}szq|<7%x^1s_8v@O)_NHxwbS7?g=MY0yA_AAy?WoIL&c--eZML})OkMPbq^{xJFAVd6vS6~j zHbG{|7PVg+6DAYIQC#ErLzwB*^m;^)wZY{_`*ES-=0Oc+!Q{{B9bZZZ5p;bkpo{bCEIwfeJ0YmHqls zccJfJRAP0pq1_11NPB*W*l55eQu|h>kHsPms;$~&gn@3QVxgn9ESH$DTe;YP2es)n zlY-)fWtdqn%*fKFLvXQ45bE_99^TCQ_`-ieaK5)vCK_;-VCJp6tn8nTeE?%WP$z?7SAS z6PxaQg*``wU_|?`Iy^|PT)Tg2zd?ns)#VN!qxB_R1H@0KSe3#anRA}#HSTm9&zxpq z%$3O8u94=0RDUE!JTf3AU_uZ17pz&m&|dXHHQ}DE3u_QnUWv=(l}Mwnay+a_0aXLh zX}?Z8>k{m&yUHyY6lNw_?UGP8)1YDXkki6S3T#(F?gbxUY5PB(CXjW;-;V_^5rHFcR5Hg zwbN#y61(c}qGq6ldxiWIt~rX8+IlSJ)G zieAN;EsVB52ngY8nY5I_Nj}I*0BJoQex_DGcE1BaK_=BoOzSe3$*2-Mnr(A;&FUsO z@t^OBVeg4)@8R>8FF!8X?~LvD@$&nWLHgP(NfRe1JjcZ4$;f^k|S0N;21EGIXSP^r(zXy?xE?=ht1BCZ>fwo z7Aa2CzSKu$jNcz2mTtvoAJ`-6D#jY8tfow>q{HcQu1qK#b!gus*!O^NpMdP%h}?sVn709m*(Y>UfZVChpYXr)HIY;p`M#d zgzOA3TPW3HPU2pi0hs&my*dC+)B$iZ4uF$-Q5DFqMoC;gT!!%z6~@a~f>vEXQ{nC` zv>4+xYIynfzO9Wvz1S+>v{`E7YOKPjvY_X#pvgz=wg`ZNCZs}3@|eS*wHL4NWI zWY*ivdNw>KCL40PJ!>^32?Vgwrz9mdtpDM6N#z=pPbLOJ(?}@R0K~DV$EkSeU=K@N z0Xk2Y#1&xZ4FCz_%n1p5d8Tm5Co;4SRIx5GWq}t{lgqByD$7Ub>;WLwJ(nzbolEwF zVd^79PKgs61Ia1*V*SF>I2AL*xMUbb+wvW*7ET(j7LC9Q1+>_RREMQXE4+a1EQ=M} z3}h>^h(;#QvPc4^$ZZ=8V(KG~tuF%VYEXO+AlrI^fUkx}My!(ODB*x_>kl;{v28EI zSQUM3R3gzzUc);ik4sjYcN}m@dGm&L7m`S(mCOu0z^(#1ZZy33iY1;SpjOiLYYYJT zO3O+bxPB`wGijg&emw-Bhg8~iG?+Pv)HEn0g?g9!T4;?Y8BTbFl5UoP-Z`%(deEaq)ne^#~U)56PID(+7+j`GlaO9HBi| zN_LD{kW+nuTxr+s2LkFRLMKEjc0QW6LBQqJLUTae%527gg98H7bnrnQvf6h2v)Tai zG!3XEiE*L^rgx9PK6gckZe+0Ss(nP`)ppe`qVZ~gP8tp*w&(t#n#4$Kvwi3>hH_6} z4)(;+w5OmRd)K+Nr_QB4buR7I@q@oy+{`B2mz&2)6x^5F#|bIhm&cG3d3Inlsq4UL zQrAIv$Td9B$&3!?!ecdSB* zn+|s(R>p}xL5(|!?!j)S&;`Xo-grt;WERu|)JH&l_a|!4pPYOCfBY37(`k5-lo?TJy?8=MI z8imZk9z1KS-T^B+SF7HIC_HOxo5NG|Bh=R|NJBWyNrK01N zijG%Tbi7j4%&Rj=xH^-BYqd^kklwXirw;JcwF;FqEAK{pBEZfVpP>gJjrR1cThKKN z>qZ2q8V;nEWYMu(?y+Vwm{FpFQTQpJPML`rn5qodN+HOOHd{fJoLO#Axi}MZCiYV>zO;;1T!BcO# zn$V52dS`t=uiyDNji>GuQTAjz{!I zpn9i}+wX3I$U77L5T@Q$JSG{U?<$v|z=iKr#C|W*2{)4J9aQoyp@r{y65@guzUxD8 zE(GbjE>(4Lfb)wYydKC2K21)V1-%c5dk~P z(qRDjnM8Aq!TZZ3tqX^~W|>AXT`FZU?O= zqxz9R_8Syj3J}097`;yRL099`QP^rZ0jXF** zIeVU9S>TKv6^|x5CZH}UHO*3YuW>-lbnhBBI%KJP*E9f0Sg%lNNi`b^y(L~k4*-R% zOG3wrkdmwjn^eGiy^gd>hJi-|;%f{lsDyv@j&_!CFwcPsk{;#>%Ta;He1=5@Z3r33wSeJZhpe@L;lR~wIzroTxKB*j z4e>Q>f{6h5H}t@-6RR~oVt+$ih=I*DpjXI-nt0sE*y913b3@HoZdBQfz+45?kG(+0 zYNW&f+Nw{K+?Mx5ZX(zQTRIsaVNVe)H{Zs6qNuk?zeWuO7h^=jf~{*j3FJh>I@xSp z0|{H|sNXt|`fYjCJAfJ6@`!hFzp713e!(9 zV|jIK(EPEyJT{#8q#b({$hhkf4=FKyBSKYobf&nYICPFoaTj|?nJO~-UVufr)MN14 zPRf=?@<)J0;GPcIxiZlmm5J`0ndq(zDNZWet_&(pDq96zbTYg4j3%$`IZbQ>WZ*P_ zmHVJW0#1P}#1Lis$V2$gKJJCwvQNBc*6h>%Roi>2nqCqgsnIl`K0YCt-IqB`1FvCU z<}nR0zI~O+xKM9Df(D64*lU6k3SQ9OoktjJ*GWR^aDfo=}F8ZV~+8~qqI0|HywX0lNKi~ z@mQuTPUPrO3mGI;@mQ5!T)fAl)@XC^9#8BU`Yi8&S= zXR6$wft=k0-N#Uzmxrm75{lfO4t@#70r6faXfZLjaEUzxj$IOe@B|kE=X;^bffu>E z9JG)NrC_~K2kOOnpkAs2l_v9E$^+Fw=GEBNE}pBxO!tR-_5|_^*lCaWpx2<0pLh)i zg!@-%Z$u#i5*MV3p07GwsY6UWS56r^?jy5e75?3-?%pDbkbH}M2A|%NegJm2 z^jWyljk-eJ%H9depSzVD)ke774Wdm8Hr!2%Jx=!dO^-b;Hr!1gOm_pTZ~9=m8(4jJ zvi`dUS>L;aqThqZ7^nA;G75+&Wb!?xIbio>EI!#ieU`*{SN9+arG8hv1(NN1uXall zoeYc!S~JAJo&cw{-}PPMLM`6)6WV2laYs2fpTM$!{Y)2sE#jZN4lFx93@qz=7C0Mj z78tl?Jq`Q1B5a>zQLSeB%)0p}DY^~*zM8gIg6Y}c#o zEH`i`$P74shi8-pV+w#JK68{=2pIix&O+#4awl^U4KTLB28aN})*&lnDf%4$Tn59V z>cW?pNWgXLoHn|QU&qBIHY-V6=Ff1GB=D_Awx%S#4Z@UT6ToFI70|NYrD2uMWjaI= ziH!4sNdSlMu#?vC9d=91i`wu*b=sYS9}1*9*EsR-Yckgh2?LE5uehH>u!^SV2M$KU z`FaBth8+=ISJ8kVs8x*NxSOJ9$8hcyL5q=e!2T(Oa{k!?y(kg``NsPNV642tsIHVm z0HHHWOkYo=>XkZy7`8N7ZD|eU9|_UuG#}v;foj*Bmq3YF3~s2CzeNFkHqY?jQIXyU)ODUt~#F432KeoU|#{x=;HQhUr`4P zpAE-&QLf<2&FSuOSW+8dk>lXaX?iJM6M^wkF4YNQ4$zWoyP{NnHBUe_2`TL+!cdQN z>OKtkF&^B`sAy^RXiNdj$`M>8Hf>BD^mDprgNMx|Q05zTVZGV0PQH;_is=dpNLWAX z)Zy|nsj%oj^$S&{$>Rm71>>U9knn9vKST{AY$>F2&X)y8;ueT-*t{2%WP|JMK| zDZ^4Ph>~4kQjE-I-2gcST;Tn{peZOEN$L(zstxTA)J zD>h;SB=tcyVj~;PJ4ygR88QB#=#p|6IM9!w0~tv#(><|F_l{+{Pbub{V~OsmCAxPm z(Y+dD$6qsO2gwWDvGDe7c~<+jJgdVqh?+wKqK3@PXkg8O!hi+cgKQ3AKVXXkk)<7o zC46u!;X~?TrY&3#G76~1oj^6w27GiV7qk<}bZEm`I%upVC&Mjnhj(h6R+OpPnhiO* z2oS7oU}P;4*4My(kQBJKa9H)qd@xY#F?bO&a|~UhT*V($4M*GU(8s5|j>INC5}Wi$ zT&0f08FQqrQb%fI9-SMrf}lCUB^3m1eftCHYkmHsi9w@jNEHUnNke)FgGSSY<+Y*O z5Ra3E0h*R2_AaYZa*rs(fM?4ex?3a8;~zE(pgN@?78+ZNYQS`=0V}BnL+}pHF@YKY1X_l@QKrAq z64L~z0qEcOK^-XYX>CX(B~J~XVm@macyti@?2LTpk~(6KDxcd@N6xxF(lx4l)^sus z&Qrx-b26ibp|5ob5x+b*=zqbON=z}8dgUu!NSenbCg=l~WEhIiCG7{;QL@!YWWa?= z%OTV_*@h)#4TT+FN@Rdd|GDVf%f;%s=*R#Us^iiQ>LYn;-9Rp`E-FtgGIs#zxr%09 zS%3ijnF9KI1oyuZ+2oakeMrPuh=h&WX+1dA@Jif|uSA}I#rfh5qBnvzer+;LxynuK z;1XX|0TiVkj%mIPO!+oE9~j$dKL~_s~TBmun%g2LT>>yD!@S z+#|&Eiz&~qvHib*H@HOBU#P9WR9k;uyPZfx;vmrGdurks%SERpWc{-lNe8!kbuc}S zZR9Rzn0s}+G$R>Nu&8XVX}pcjsb#FAXY!HBwBF;SxKHW-9ZE$%~)iM)FP zda@@@w><>~+PjXnJ$1D0siSSLPB8rC;%3_FzT8$$M(V!YSWaT%zC6jC{KW&Kv4ICp zV*?Lj+N9P4omw5})asB@fVTzpfEx*iJwW03oGH@5nIav^rR9Wq9?GTFK-oM{8T^rA zT>?(6Q*NOIp!ERTJralMF{Zcp(LoJ#fXO)ZfN;GW_5P@9-LX8_oiNN}xl9^hn8zvx zxfz!yVx64$6YR^A=pIOU3SDe1zvFG&3AWm?EYAUE|2kpz@e_gr8=KD_`*y~GrvD5M^U z+ffNG)tT&~i(abbNkc;~<>GWgLnVR88=l~mkH+Ezq|s3PBqGVU5~1}uun!RiuT;pr zQX%*13b|LRgnM;nCs${7a;+9Q4FbKEi`>DnyH@d+W_{j>PXw4aelb9SgVP?&cMH14 z?A?e+ccX3_w=%Ld@Lz9QQ^`p>ylJgb2kG#}ofL{kXoYt{^LX#X2XZHR!*^nv-xC7; zcTWjYCrpt~ngVmD!qHuYBP{CNsXGx2u9H9I3Q2dWmk$%@I6d&LFIg89@UAUc2Ndv) zd4|+|<20oDO>{^we2cyU8K%JSpkU9pVxhNT(!QxROhISgsFnH#T2z!b`=)C}-SE0M zT`THF;=QwhO#|Nf#K3y*&9Kb(z%w-Td+0H2?>(9@@a{dPu%hqDmty+7r;~?>zss4Q z{s?vNl%c}Ao8qj~q z8}CDcJ343of56=bq1}Bj-W`MdLj&ABh|c>^Wla3k`v6dd3ts+FoO`X{tshWOaMATX zSmHpTf51Jj1=;mOKlxl_*AMOFbCO*%5~T+$y>VT3vP?|Gcp%G0gobCp@AH$rnq|H^ zEM!?aj0sC7S%IT-N;An4#39;QrV*DFg| zZ`d0W_UQ@F3C><`NQ|OmzVnjOc`bFLH3uuUx(<7UzOEzs_r?R7zN{1a zeWYC@OV>&ag^jjG`hguQ_J zu@}I6jdUoW>h;OA-14zua0IzzOD7&AKQ5w&F1B%>wEb<;ua`|hz464;W$PO21LfDS zE@E5Ph|ZQuDz?s~Vp}E^4m8fTOeS1d!D^?|>^49QPLL&;j{y1wc%g@OCV4PAu{;ll zg`noqpbjoY1KXx||?!M?_NZ=p1%Okue=P>@J=*-LAOD^nym) zr5>{(cT&$jl6MWP7x%!^&Xq#%s1$nVOrdvWP;!DJcV$>|f+H(ptdkYEXEYpg&uOS6 z5Kbot-rWZsBDD&@Dn?1%N1l_#_HpkhsC_aiIMzNLPu0Jtx)>$fmKxdwzU>p@=zW;mwja2E*!F`DcY{NP|RQZ*goqDJumYbe?9L^8r zNP&pOn1udgK*NX>q#1oIniw?Z7*Apx|Cmf-=)7QY_sQ`9pm#@8%tyu?qrXS#*V~Se zaV*m_C#CjSCTC6>^id0ZB+T|$Rl8i6-J{lrbzpW+>=`gP?;I}Q3u~N6Tuwyda*D>E zuRg_IQ!q|n3!-##m(V4jFpJRU^250|JGUt?H?JuYYSkr|5nNoF~ovN-g zrRq96Rb6MQ=%cay-SG6s;K`SVIl+>R|D2J;CGd;KexaE5#Qe`Co-moQxN-Oh9k~#c z_X}0+y~u6rzzba{Dfopt_Akz3|56?MG_d_r9{UbpyXKeRLVGLgf-$TDJfy;deSt^V z=xfkOy}gE`vHY%If;D}OheN|%lc|H|uLGf*zImE-iqn6K zCl9W^CH-JLZ|SqJw;OfEyp`QMl)HH=IoOR*%^SqF7EH{W7U`Ux9XCDFxtN$Y9d6@EDo;9#XD25rxvf$279=o_N7kyr<8SYVYdWN4bOC zRsV=&xZkT?)kIYUqn+05L$Ke$4M^_#ZgQb$?|RA-)* z>c0vZ`9n|wKsM^+0riQqmww~dF^$~P6&DFr(tPM!YFcadS z)9!{Pfx%gW8>t9qa;jRBj?85gBCyWdki8yk-2?aVg2AJs_shV7o7Vo!wxrYQG&SN} zdH6hwLJduxo_c>mKXiE2PqRRK#rxRF_fdULs6ZRoq8sGAE17pBF&p_kaeI*VGPbFv z@>g^1FHMjP%|Sn{HY(0RO*)7DNs?(N0BJMTWh7KuVohHMs2Ul98>Py+CPo|QZhbLD z{UD{63i|vq9m`0rVR4R+%#s|{mi!#}Bcj@x(^8T?={k@g4U7MPue|{>t0jSt;bx;Y zfNmWX>i~2ECbkBy&~t%DAr{8>yo`GTTdcT^UC_@k9}o-*TN^kIK9iwVWi!Lj)Fd01 zA=zMAL1@PeHo`1K)<%wSXhPYsOeC#UZ61QPuOf@gs9rTH&yGGQjjOn8M~>>Q|AaTk ziXgH{yl*>>nkN(LQEYb zllLiu3-fvvwKBa}sZ-ZWLUAiD`>H*cebt`J4qwhP!Nbwua3+8QuOp(Aubl+X!h6;f zLG>|QXL%`Iyuj|PQcf*u^~v*GhbAW9s_3?2=9~F5e~zQSj!fs0^6gmne$>*$IOCTg z1sDM!a&G^ossn;LT2&QGgLmBCR;spA9`Kl|GS(N|rU1bFyxSD4OM!M7UNoUvze>@n z-rJKrt+ndEBA!HRN|^;aefcNXRBzql2?L^eaZGiWH zqRvyYQ`;{GaKj%0Sn6lp3ouKnMENq-aw9A%t{%J}C*)Q&_vg2p$D$OfcP)p2TGP5ii@*P-=85PT_J1yT8;Xnp# z@E7gF3~56iJZUMm>E6-H{0N>k_uBMfQG-;*c^}R-8+A)1*yN&(Gs{MkDLSnX!ZyYV zn>NVg3Xa~w(P7Ihnxx)!>V+%`(DXcX7Shzgi;^*`4TCc>w-%31zqz7py6U>%8>Oz8 zL##of^;+W#z-Uto#o9xpi?(>3tPk&LSId`LgZ9lDUDOJ`Pn+BnFgpy3Py5kqQ~Dul zNN=ld3HAfriAQ%*)m!))Pze7jKG3vu4XN%z=e9+HR`>l8;Gh6dZwXT}Gzw(q+a9o# z3k&CF>;tWpC7VF-*SoaEWgTH3b4q_a(V-@e)vPAc7S)zw$zeLmhi!`gb%5USG#aM$S9aCcfxE%8(ia|T+mLCAfDR**Pfw#sOn~n*DoZ7*I#3RWAGyD?iiXw&b7vU?RMAm`16t2-bZ44ABij6 zkvN@>)D`YXZRw+POIOfWCk(BEzOHY7ApO$Me>AbLG_JA2zB+M@4`E*)^_8epBM&)D z050}fhlxs1F}T+RKxy-b#YI6IB35Heq@h0r-L(yNti-+IaFDa+6@>Cd z&d$hqE)iok0p#2kF?QCq%Ps=QS(9=(Xpt2j)=8cm1`gY$yUgW5n9gN9=Hi7UZe3!6 z@N-FqLH1qJet20Wp_L@@T&N5mLX8u>T%uZ0pNLCI;;~VG7kzuVz=bpsa!F+7bX8G}>(g(X|~U zHfl$!)Pb%}NUR&@I&~O5Fk-!TECl+jxBg}K&|gQRd*ri0EHHn+jPsks6c6I z$D*LBPJnwn8mA}o9ch@2#rerPBpm=4cp9VwNe&*H93*kPqXUe^;G{%Jw)Fr+91RQ? z0!_=XNIw8f_Ji~TsP|}`V9uPJ;NC|20S5fV2|zGfH7M~om^v9@**6q$IT!~C0K}u9 zkCQRb$7#RL4w6XhueF237Y|Qr=2Q$9euEVio_F%R=kTlZo+D4}CV*`09T04(l2Q+e zm&;CP7nSk$8d z$RvciQ{xWBjrI`;x{{?cAAHCpp?VSyV3KX^H48i>L8~j7$a!zv0Z?sEZN*kH+nWOZ zbp@r%Q7q6_T1weKMqg=ZWdm>hzZ0VFx!cJ)^3$1B;=_CPM_tRpk01C_NvHM^UkZ$A z6!e|8fq$;Gh~i>YYth8Xyar6PUnEFiJ&#O+bdr~`e~(FG%_bStZxBer-dOK!N;nDf z$xvfXB`6nXMs)s0Y$E^zCiAD;)IgEhmYcynlp9r16*Vy@J+6F6~SL@pWhAxv;2Vxq)r&H%} zP6_V3^B(RDY}PNrwUoLJ2qwmY@=fs)s%MIuR74OS) z)rmbmFq+YO;54K6AifGz{XnOD2Rh|Dq!d?mK|SCmv0@KU6kKQOc5tR{hjNiQY1)T! zku_kh57hPKNFkcR>U4@5Bdk zCp!6eV)Nej~?ZGiA^YCTiL_cvvEe=Rm~s0aO_($L9#b^$_vA~V z^xo6SdwaagnZ5qNuvGragTW(V9JB&WH zM618+DVhtd{;m(7yQ~-9b!ETHE9HavO)3B2k6Dy_OamnQ5sc=f@)3H?u>F_@!2Bcj z8E5;Ec!yX2NQXnxenzeMs20fqA< z#}2)k>xK9{5n6ZbErzHNWeiTtgi~S?ydibYOdOG!NkYbuoN(?5vocfC4g|=Qsd^qV zTApdfgbr|HrdcvMh>RJf5dhM+$L;z!hek}t9&vV- zgklUh*n`?ZNHn&O$R7#C_86E4iIIm)VbPoE#F7#eE_E|p2L)KS!gb@?mbw*g0|btZ zYI7vfzus_W#h~0IAp7=BN?Q?vy&}Iw`mBJw?Uu@#_+VWGxLbd{3?vVCbb}$u(48i4 zNYN;|xq*uRx_d^w<9EA8lV(FWPjE z2e@smMMekCaMQDi+=lz_n6V+gv`z3|V1T!w(IQTg?4%v+Hbh+r$h0Gym2N0F!$!tc z@2vqg6f9z+>g)vFHK2a%1t@GI0uYFxEcQ$~<=V+q$NsK?FOjh40oi)3~KFtF1G$+LoD>18TM{Gb$J3whAUR0~C0-Uj~Al zd&u4gzU~BV>+--WQ>DWvCSEqUTQ+BQ%7Hr2^h$8F4B@dn=2LKcPi3y#3nea7W$o6H@*FfFgS81P%;=HG-w-t}R0q=ZZU%+_fz$aw9 za`4L);t=4w_+wS*b8+mCTJPS$u|KhA zoH=;s?k>HUeGqBQiAZZs(fI6;Q|vY2>GZV#fhUKH4_LgA_&YFqang8BuFT0{`w}>f zUBYG#`KbyKv?0K$3=mF3fHU*hUGGffQ((#Rf~Ui|C$kB#V(}N*cP45H=h$CV&)Gj< z+Bv0cZ5Gr6tcgQ&rZjF0LAX>20&RJ6DH8;T z<%wofuH?2B~+=wuM5Fa8MSF2HKD}AAf4L)dpexrfVZ%Bcy;QiJ_0g-yc{+6PrbT}1}h&SbHsH1@I(Sqmup;rW(C;8J|P zI`XzQ^`MdXYJvlcOIt(fWU@e`I43{W3!?~9>1S;gn2oqH^t1J*jrF&37cDV0>x|W4 zY)}Q_z+fa+NJLi6DT(Soqw3u`L5Xl)8c1D>ufa>WSP1_T8DP z&mXEcrj3?qv%mVhduYujEvern9-6Cx_hHR>8&}$}t}-++x;5?#&3e&5nfZboBG=ib zCix_2MJa}(AvQvG@e?LB_h1F~0KweunRQHX8$f&6>&h~7_PKt1Nir=n+tu}=sf@^a zBolH7#v;zvXqnX!92*zzs0BZB6;&h0qBepfAcmj5GBUV0F})FnVmy zW0EvmhrZhw+PEJ3+cZ&@3R?a&+)52M)K2a?ql!Pos6w>`l1-~mUTF0nlgVF{ri~ek zz&fOBZ#6J*hT33Qecr-g4m6KmEHzu-goxft^0-)%$HkI7E|$&5#gaNMmbyI@R!3y1 z3e1{46o%wtk$NJpuHziNj`Oq5!=%xevq(s;|dagyI!Eb#$;;5 zIKi$qarb$=sVlOm6S36kiZ5|S+`}bYb`zr4VPg^&o8aZl%!}~yGlIr%HV3iE=VmG? z0kjlwEU9vQI*#oULGkpXG|AbXrtCb`{xL~&FU;NZ2oXX>4$(si#`xh55&|1 z)JCArj1^x{4`_z+94*>%g<{uEi4)ckJ8>O;`^~;%2xJ&OwDfnO4gTbyE)1He_hvzK zEiAlVZLBnL@<7(aHwo<6&0`lEL-rToU`7q*r?dNO2oY9i0GQ0%2!qR&LwzVVPLm93 zFBD^}`6^wPaCu#Pq7#=?#=fKm5R1S3a#)yOO;{hcF+>E3Reu9O?bawHWnrs2(ptHv zK9_O8DL|ZGOiz5cGxA=Hjk`*#7%^Bedda06qrQWI%%fL)$}4@4Jcy_&;^yf zmxX&>Yu!CaSl(LC-?khsTao>i0}Fv;SN<^mzP7EbAykfIQ68e^=3;zJsuSh@z9ofdeovjRy^fC1HQSpI@fzMcR^)-~X(kglkPM`^n{l@<&|W zyK8kW;*aX}H4mSNlg`tp{Vj*isCBw9UEYWGm->hAjB2>mawu`2TbyjY;slzt47nN7bOt2x#yWLk zBZTmp9#pee#Am5!OlQ3%5D>Z#hOJCF=D0A<{)KTItAn>HC&}`m{!;8A#`N#B(;m*M zy5JR=t)|2Z%B&zT(ed?Tt+9K=^gB!WpOJH1%>k^ot}z>BQ-X#jEBn^Udxpp%C@1m* z%!L z7^m3C^)POy_lfi?N7UHS~?aOZ%b%#O-fpZRX9wt<)sM+8Q$`*_Uq*)zT_h z{IwqXijknpe*`Mts9}<@(v_zCsYRuzF7Rs-WlA$4*pN zwnTAdOVm~Xue~+;i&Z})36w+vDPi18MbU|1*c{F{GqE4iNz7B$Phnlh51 zwWxu-9YvP96Av>yII*UpUS2D~M*5qlf(VpoNf><61_qzD_u|=7b=<9fHKk2DffxTD zTxwTCmSSCa6V(2n1@$^n)%LZggf)2)KEndY_5VbUcUh`bYQO1Zy(k`Ta-y;ejPh?0 z);_6vTDnGDt0@_*aqQ)Zqa~+=;W;(ol2csja@i*iSD~t$fQV2S)l%3It9zHapt`J) zxJx}4x*m+3NZzE`+hbR5Hit{dPTOh@Kgyl19HiYcciJX%c(@gC-^<=*j$LU6HRNZp zrS=QDxocYM)`il*2HrEPWhCrrHcLT@fO(z#HN;4S*-o~qE{V6C&2hW>zHraj?cpe* z5@ITVp?U!z1b+)KJ)BWq)v+>2ad4l|OMahHTvdnf&z_Pp>|HRRJvHmUS4uAYr(9>_ zo;n-%)n=uw3HH@yr9B7sRQ9&lwkI}X73kpEeMnm*nd1!C2!X!tDL*$(c*`CrXl1dD z_QVm%7PU&b_HuCS@HXjPNTqsZ&w*(G=BO+sq6g{$4xYBHvr4gM5_gS;VttPsh;?*G zU0l!w#RX-qpW@U{3D-{r)K7)3pNgG;(xij>@Q8Nw9I z8>(`Pt_yjW+{MqUiFG4`m1n*~h$ciujER~u4c~eNbM>-+!2UtWHtihYD1!w(byF2h z3<4>!g^t7ld2}6+N9uq)x(>)AbwD0n2jtOtKpv?B@>p(ur*p)SD(fGqWARvSai{&x zvC3L+e=M*_u+ZV1>%{3|Vws@TO8i1YuIbqwUi1R+=h|7-+|^61wVD@PhU9w*%<@;I zufoxo!twy3KwZDMM0_o)V6~(TElox!;zFSyp_r-1DWc6lPQ;=*5$vcFbyA*OC*_Gc zDNnAG@EeB#%9FCe8sSuKB&TW1soY2n4hR6b{FczT z$K&_aAFTk7ypdxoU#f{?OT7N)|5Y%t<^TR~32`qDIt34`JrL4N?=uO^I4AgWZ6F&W zKS0I%vn$@8sd#^O#rv}}-k+&>f7X_;!)W8IEn)}6`CKmI259}cT*M8~`mxCFI14dxPt7(8DuZo z3U$D|FWL%qpusOxesa;9E-v~)aV_|?lK3J2mYSbLkwRid6M(yW5}ai~>VB`4`a66K zP*kDpFuuq&A_zm*gd%hi;qOY}9j~rHc6A1_D;3DD+O5@rbiS6$#0jmx>T`K6qRv%Y zHVzKhRquGXAvw1P>9Mzm>9IGdIB8irvHXo9jrJ58qn{>53&Bol#2LU#)tFM%MYIyp z)HqX5Go(V;ISku52ES1wYGJ4?VhP^T1|*dIfWSA%%@ry;0YS}Ul0re9h^%JgR{!Sh9_bR;6_73+d7o?3M?o=jt*E2yE zB=3!pWYRZIquAa+L?&#*tHOM!Sl#uD?^{5)z#$~tx@|&B4>(FPCNQ{Nqg$LYIpm(i zek0b$TSU4p)Ph^01vh5a;WSkTspnVSRzlL>LZ0uoXn2b)@E-;7b*M%ojqk2#D}d)f z0Xy2SPg+}%nsY7c_XWByqxQ-vuuK;C2vBUA)z%t=OY?!CY#&&dRn*wQmsV zmo?Q8s=zhC|7(W5Ie3bV`6?SU#-Kwbj~13Z`VAugF2W?9bweOcPg)OGX#gxJBt)80i(ugME1Qu9h~lZQ6&0imA1r-V6yZS4E`3ohUO zt+~+XgT&k^TEnHB4|*18?^>cdV;T@ybR(-yXJC=w7xjCaK_Rf9l<#n0ZpgkX!a*%@ zbj9au`>$yOxrC3k{`(=7XXelcE7$pPLxT=$dP6)b*H*(aRG;Su zZ{y^_>h4N{-d+t(kQxI)dk;kQ<-_uBGiM~!TdT@v^$WyD_>ldpfdX~A!Kxty#4s~# zV+;EcnGPj}#7%D{5L=g7g$(WWiH-6BWk_nYAw-HTmC<9(^$x8o=w9}X} zxRx8301D$n{U4I`hpXAjw5r0phv*77>k<|T;zQMMaf5^p)xM`54&4t&4;j4TbBV@? z?=_%3U9B>Jb1?mbfe#MF%dQm#mrUEQ%X;xoQ|jvF2kmD6ZEgJKgj$NJ<0$^13e+F^ zq@6%pYT}|!Ev@?|(7v;fedjD=mfM(lqtso-D$l}Ny`-WNkibbttEo0i+Q3xHz^Ni< zLG!s+nQMipKk0ITZg4VI)rS)-R!9am7}=u1txs#DGxOSLg5Pu&Eq+3T`rQrB85>Zw zSw`r0vMlVvXt>gR*FXU?w|V^12qE*)XrLC5QjB7TeWSh1S$jjkY$L@3(z?XRX5R&c5{M2%Xk`2ctM@^ zu~CiS6qGQ_q&?!IiO5qL#hf?7mYC#%zUkGVm*%}Qlg=euEtMcre4Wy)m-1s5em0Zt zCEJL4ePKGH)X08y0$Ei1Rn})&EZOD9CHsB6UpF~>OKe|^%$+`Dpl*B0-YJ8Iek)_N zEK~Jz@_oeewXWCA7W+FAD$G@#W0%8sR+K<>6gyeC8L!_lQa`th3*H4fQQtOoJx%tLLw z+5nYlWPU67fz`}@he%$7>GCEv;xdn>Wqsxe!V2k^2yfZvRxyZT3U z)@esD2C(6A`AqEy#!whMDxb*-XT|@Yy*FES95>o_ujr2uz(LX>G_o|ApRB>EebCW% z+xLG7yNU@C2{1EBRWFI4x=$SKqNqg?KqipG^Zs}Kzx0pa|Cjvdzl5@4lBNBX6{F;n z!+A9VISi9VAv*=f-PcGG=C32c+v8`P>VmUTNMFIBa!jOqdkT%3bZ<|x<0Rdi+CQ^m zkO`|KnX*@8#mWx#$!Q-bu4!teMUEh=WeEb4uTu??#U@8VEr%oD(BxNpY8)E;x?rjp z;Q%*UAuBi`j#3M8K6VAJT88v>(l+)SI8K(We{$rsClgk(WQ!5%L^ni2UWN4P}7V_pfZbE?;i9sKSYywIsIEKCDbJ?&2t(;!2q6n z(C58QBF&c3E^U)l%2!XnJFdR#cEI`g5y{wh}c5 zieEv-7GIByt*j_T;VuLlS}-=F5Ns%`s3h3Xg0Z26WJ3$ih8B_yEx6c7A)3#EGoOW< zP=e%=n^3%ng%fWQ(e*pUpkH@dBF64G`J0r7u0 z2rD;EA;%9155+&EJdXU3(W8A}49;Q7e4a5jhqn z$ywXdSz8{PU!o|pC`QvyV?uq6A_!xZ&f`Q-oYN2CKA*Xjc4oZWnelF{?#i4~SDA1U zDM}P-q3%c|p_Y`pD-#u5xZm%VAdhxGViC$ z3@f_SG{U#z{w}D%OOS-S;GK*lF?Ye`xUzQKRmDogyXtYl1+SdY(FaTMfYR7IDfn0B zC{QVbeHME6%ADdVwX%0Bw_Ibv@K_hqq}D2{LxSM6JCc=w1i3_9nygK?06N*4}D(eVlCl z8$Qd*lBx54`qFpB$ z2S~NBJDw*HP*{*eQ6)lZUVqT-eiVgwQhEKs#HBtpStF!9O76D_8OjJu*0yba>i(FJ zY+G=JR!m-_2|%N+fdExo7K)@YyOU!(#uzy;d$R@30~T{STB3djA2m+gZQ4m%U$P#m3)U*()R(oV zl0Gv3o8jzvq{*`&$E9XMxJ#^{t;wPyUDn^>obZtfIv+Kn=9UEx?7DUq+>k+2NOkNO z#2Uam3fiPd<}HgbH&}0Yk#>?R*+or(=nv$v;q?Lgy9uJ*ChJfAEjN?k=1CB&sKXNO z1ZGd+=$jzD7i?@y8pKjiSmf^DVmvEbwfZ{c6gV+NMu3Nu#;0gA zK$vtC{N{YT`ffmEj$1$vaL|J*8vt&4q-sg4MlrSrk8*`GR3w1A-pt_`4JBlxru7Hi z_E1sy2sOj7?r#aX!DD)^QI|>p(*E%w%08oG6f$i7A!^o&^#FqVo1)B7Xeskn+ImKu zWvi+5W9TS*9i*f%PL^oTUN^%lfuhl{3gT32G^m2Y;u;O9rpg($!c^yPQ!2RNv72#^ z%B+iir!;f^`sZ1m^)r=@ao|;DgjOW zU6F+}Udn~aOrcmj2L+%vQPqL0{7xrfQCyJDL!s}f#_jur`yN!F>oz?E=?B*m1f1gX zd-5k~F{+|8XAoS>uDmXkYEM#u;f^s(=_J$0X7j7H{W-j)OyfQ_B#!*nFC~(k3QYG5y z!RX{WSiVzkY=cn@_QpF{p1RM}%eZOSczlxc!Te!2nmjFghelISPS~N*6jV$0YCvB5 zUcZ=+o4i??VV_1XSFvyASQpZk+X3vGnI%XQ>>Dc~h#VZ$m&4f)`WGPahgT?S9Kg)a z+H*Vg=eC{F{4_o|v%oXY56&#e6zfAXd?FnE&qggtm$-{xm=533p=_)Wt zGsJ-*N%MZI;ti7bdqzJ_fD)gZ=_O)m&*-NL>|)^keZ!Gbuc-_nA-%$-UQ8_gC8W+v z(t%gLfWK$T8PdmBP|!V?j~)c<8_tG{~F+2iMRWQ2XZuvl~#erF~}=W$4EjDe8+#d_#@CXvS6~L0{3> z3TUb;K7z|2jVnHa%Wx{-T5K88nMTt&Z>F;j784!$1Fpn~sm!-ef!^Mn>E|)ZH_ofw z(7Y2#FL%p1>&BdA%~bLoF!YfRLq)waTMy{RE~Zqt9s^KNOB1Fr;U72YhR5G=5vtgV zk1f5_+<(WGUTV60M8M{K#K7i#B(ZkJKcE|}cOibzwo*^mW@9pEOB~SOwEdj^qSQ5U zE^M<7<40k?Nc{|r3787?$ml5mb(00#kRM~Ow6i9ekGev)Ph%$KJU)`9`>+f>VliW5 z9#+SuXp+=n$I4)$Z?>SkH!=|)P(W1VRE`z1K)kL{pQ@l+>AnY)1HG9u_<$0jC?T>B zs1%Bd2K<0}pLbA`9#F9pA9(mtqmJGV?tQ3P^f1atKark?+X3=g3J<&klxP|c+=NYi zP&Xe$^$^rnQQNJeG0~EWjTsrL*Z?P_pjq;15C~x`sA~19;6L!e&|_m5MIdAHPvvkL zz?}>Z;xuN)z5Dr~SSw=@DlrN)7)xMzr$U1dpE%nhrqvdd9Y-3#Y!T%kp+`=(wKFJ}vFkvR4;$VqtzQgTq5-R19 z)Xa`-f?OWS$dVC!G?O80M zNd_=CV}OtvVCBS0<2Jy{`Adj?89?%Ul4gu6$~U~!9Y?rpG6e|30X0a*opzO_oEZJrZ@)X9B zZH5=7G8RSia#2dNv_gw9vBk~OxyfhA;AZLEWS1z00dh@$bt8>ev*Gv%QRtqJ3=Yk3TsYN2)m2!7w z(p@=s*HnD|8F$-Ux{cdlsHHTXOKv=u(s(Yp@mxyd$)VQNQXJ3aoVjf!4fKi|=#@0k z96?8|q=8;>1HGC`cX8vq632PXjq_R>=QTIZYiXR<+&HhLab9!dycWlK&5d(~#lJ1g zrG14Pl?>xT@^$c6%g!I4&GWW-{_EDUNCY$9QvkJj<)F5k{93G+E6r_5iMjqPCZT#>{NYBzL6Pmq} zuvgN)$`kb-K-St?H0p{X@@|1#y@2OhAXneP+*%;9-wu)&h*AtBSp~_&m;lX?i+r_8 z6{Hh?RrC;&fe{Evfj~wy>Wh$$j8h*GGMLfJD}l_%2TF3;RP2}}xok#uoMh)E>wh7= z%j-W`y$?#UBYRp~qH(}IxWh~2hD9FY5;`rvw-zaID|RORQcU1&Lb^ucW@Pz(hTAjAE!c-0)FNQ6Z* ztRnERXnvFkcicTq-`gb;wQ<)xoyb|-HBTqP9e2%3@8BKo6$?`Yw5)(`+b0ZdanDVd zee?7kEW|w*H3#15pT^Q1zMM*V5U_y^57Pfgh)K{^unqmj3g8ukuesSf=BcS z0zmQTtQ-$xJTX@86dA+rG|twp6SvGxXbc6)r>DjBl{@iVtLbQ)%Bm_*=a-dN&Q`R&9Fv_ut>} zRz*Sv-_TY?l=8UYB2igu=FX&0K+EGVf#|v?V?>bL(|1Gk?@X8Hefmm_)qNH%?f&lk z%d_08JNTEVK>2sYY3Mkk+r{X*H)VMpD3LohdXlcq9fyZSNgXb`p^Pnr4}E#!YSF`{ zR*bFmL~<)H9lSVIw-i%#+lZ#@s?=;Jm#0nK6mGgen^zHRYtk1%y{6Y1gik>D`Jhxw z$az6rV;+W)P&&d(I^*w#Bb7?|jV?}n`kiGHS2=kk6cSZ+ zu=8{`-!8-faG`tc+5E!+S^uDH!)HsqS0OQR8nMt?ko|k_H`ZJVBIgo{h z(Xo#RT+~BZ8W={E`5@}Q>^Z~oj3~~{NMJ@iwA1^*jlNoMydfjSO+}*bn)lPKwvZ%> zp|jEKm1rnQohm>*nMoWliDDITKmOgYB>Jv-x9lZwlg2C-+wh$jyc2by3-81cmAf%d zR=wiONKfiRlyHGr6{UiVrDjp6t8`G=oo+Z6$MptC*SqBnfdIxrzSWL8<^N=Z{afei zf9l_Vs6Tu**x@G|EKO(q*8LhNa=%E=9Oay_j2w;Tp7=3XaSB zoDLEMoxrZ4EI@OWd-U^N89n+`HK}&^mj>OA)k{J*%%Tpi0ITa)8~$s?)+<6YR?{k) zCVt4oMB2q~CAT7sW0_i^fjP0mbfsYX^W5K$PMYro%u&_$xIuun~sphqjM*7MW zdqd^*2a$Y^ChI!&34^kVCrO$9ewA(kS=uIU5}|61Mm4C;qP4pB^6$`4BD2u5;YtFC-<6Mx^9)l42!DlcM+EM*Wqh~Sar?F zDBz5~X!_b}q3V~H`$=%HsV7H9#G(<*9eocRc!I!_$$G_|Ae+TQSk`jMaE4oh5+wKnTac_63{^v28P^IVgjrB(Dhq+0O*jq1U8#E8F2{Vgrwy$>B<;pf_J zDMq8xw6+_HffbA(7}f{-zpfqh6Vg9x>#d)l7O$10OSk4uv}@$31+{@Sa?^sa&>Bm# zQXLgq)dpiteT_W z6SCODV@gnAENAn4t5ln!K6r%c@b=@#uBo#os_39u7ao=TS5tE#RyDcY}|qykcIpTQ9%U zWqPPkgU;F`Y<0DCzfZXDL3ACr=_BftaY8qQZhy~(r^K`r_m_^XFQrY-mWlFKfyf_E zN2OH|=LDgxP<#n}Ju_RjGmiB=;Vx+I0{074E=7wKqiax3gh3e6-R-mOONM{td>W~+ADbOMl#9g4NV#lp7<<%P^NPo4Yb`w77 z>jEb(vk^f4%bjYaj}n5F6IP%4-;_qLPO}47#BGjo`2lCl$eMzx^Wn#ahpMFu!mhXx zln5H`gx0AYbDD?2<8I>09iSAFy({7FN~OCbKe^-lq?3pc^ZRx!6WUt-QZqwReNr$xR-p`p4&(6CFiymo!cI9 z@&zrJy;~)`z|FpKZ=%4>-mMwA2YlZ+H~~FzP=j^UL!xrmiyxPTl`YDT9;*{q?`QQ? zBBo{>z?v|TGUYSM>7{q5EX$7R=}Lq$&-Q-dV2uUez2gEX=q|xQ9#{PZU-wf5RUH_lLKL)fhZxz3m&Nr@9Ml0r{)EMTQ7&z$5ehc(%Zcbs6PoZU)zL_R0L%~HQA}r;!z1-$_>(8Bj%G` zxpj19))9zaZL=V`^W%w>&YD-2`JDSuiK@M*tP)iea%{FuC|1=o&T(J4qsdjJ+#MNr zhveq3oSS!&M}jP)6FU;Xe^+iNc*Q$GNq*_3SgGlo<`u6&U1*a8)B9qj_o~^Q5Yj)N zsd0K^<_E~?d;s|GW=VAZFR9G5Mn5F%{0^!~bEINbBlgUU1@*L)brc~FjU8k7=Tr3e z>bRxJ39XzMH6=kj=T}*aRchXLoxYU2XoY%;oGSgqf~j7eso!R+TXp7EYUj=9!^l;4 zhErk$DW7K)b(rGAo4D=2aj1bCx7EMlt-hpUal`&l)cC>88IoREmb6a03b89-qqtIXkiFSzzT~4eLyd*61_noh7(t!t zjIf>XwT`69_XXK@R`20$(o_?Rl#>(R`F5P8R?9MwLLTJTw@O_-+9VF{|p{ts{Oyoyp(uyj-a%eU}p8 z9a>f*)!)in3V*mQ>Md%2ckYyZ7kfQfwW>RYGEh4Ooz+g-Z7C8edYIJ0SZGU;P+6J8 zrZXOp03=R1p3Mdfi)Tgq9SlN-ET{c825h?W)Sg?GmrS@mQZVBWkAAYk&(Ry{N5&bQZnX(+<(}KfObV4yMTn-5ln+f zhUTD$24qmSYSKmgX@qM|>!e+(vQ7Atp$F9r&#A^Lsk};t+E_J}P0oFP5-PNK*ZwEg)>kvVkhB2UaA9yay?=13P#N=S(9rOmZy37qo(yV%))2bPnH-ar| zNy-S6+gL~{SMETjjF6}s87ud2F)i&OG6i@NyKDs~e7Z{hrK$@$?j@WW;E0F56$a(?*Od^YzUWkWs6R91X6 z3)UGg8fSb9+_?M4+V3HEOaXHAwD}}*#}sNq=glWIqx$&2L?^#z$-n>jFQNLFWNClZ z$0%9oaHfq+lEb9Y$z#D$`86_%`Ri!(_UIa?BI0Zm5?yfc920Hdo>Zfz?c3AtIBEN) z_S>w0Wx}dortB42WwS#ubJ_>YYnr-jkzdH_Z-OZ1>y%4mfy_~m)8SY+G=0{dEQf~A zE|@AwIOL61SPM>(qttAik6jV0mQH=0ypBB|j+3G5pC~zv%!C!#OxY{4kY|S|=d=%9 zeu2D`z&%|cJZcBdbg3fN69ehawMsgIQI3A)I5KKNpyyWWR*9Q$$yx;W4yDhS#4|HE z5mM(=R7dJiVODR%O4AA!c5bfmU^l!nIP&2hO&*>Ni z19aKAK+br!db6}mA zB?oF*a=p6mQ$FoM5MO#OSHyy^m=Nen4=7Ov%BAZTm`x#|r1EP7z0(D8Omv1eI3IfC z$yU{1PYqP+-}84!G=nzjD$x8q-Pip@Kbhb@D2aZ!28mTX9gl|Ast&=$u4)32@IESA zkTmHbgPA@p#sz!Jr^L8wQO>8-Hm7|^^DAVz1=9Qq*=>O|zqZGur%=2u?bH0{X}Q({ z@zpDK^a|Z({)SZCovs;Ax{e;VyJjrDD4Vf<+gku9S2atAmvY65xVLRwk-s<^2`ewr;lbQa;;0vLQ}f zOVm0jeg#!qd_AhRvZ56IyAW(>!PtyKu%WD~lVC#&#)cM>4J|kuT1Ymu;Nm2OXg&+h zd=_p(39?UaLh<4mPC!aT=I<1PoZV@ORJ-G3cTyhyzRP&{`;M_dJHZ0&7z?zUOUgf- z@Q!4GcAN#;Nqfp2XMlF10opYNNK{bSH8Vvdx$pW(GC0+uE)5mMVAS`V0!{K-uKS+D zx9^!Hw$EwUAgk6RSepHu6VRDR0y>JjOG|fg+DoFP*>jd=-^`y5#J^MY=@8X$nm!#^ z_5+VTtlT(-IzJ>ljQ^1G81zF%kM@BvIEN|odB)fr=8}pECubrVn*(QT4wA7saK`2! z8k<97Y(#yD1KQOK1b?Uh(jh}}z*9v+{U4v?Ss$O~SyxR?q>{riWgzEAW=S0x%fc#~ zFj5i6IVUzUk;Fz6cbAs#O1QgHQM-hD1!$rOq9(IGw0*37BC1Pt(49{LPW6;9?nuxlBa`%kjGb|`pP6Oczv0U90FeJoG>CMga8RAal%;Ka?UA_OgM!T#oeJLtrAY* zMYOghXKhPoZFyXOiK5J+2u?q33-vWhB#c!$j}v8aPCtYR?Gm-!eV`Iq-&hA*~F6Csl8iC<{Asm$BMK?P5ZyriUb3x+gxRm-&KYMU!T;*xyAs^ z?;%asA&GhQoTey=2@-R0GS_eVQwe;a&^I`|7G(coW!K)a$kDZ+AQ-F0CddK~2b~37 zz%c;+Kxgm`@LDSy_zr2BTOAVT@O-yAG){X?klXtuLhcPg{W<`-HyP#+QgtjI_f`Y+ z<7fTf@Of93e4Y2x$G$60A}4mTF6iEk0UZl^daozP-m_SRPC=#bQ=qe;|2Lev+w7GP zb`bfC01az(`=Zjexg&Q-(p~R$O$H0Ay*rQiEUWg8aPu9g+IyX1W=Xa8rhuvgHhV{* zSW#B>j-8Vv)Jp5J{Ups!b*ko*|NZC32Rzd3r6SGdsy}JA$UHO|BF3g(IE{wE4vHi) zX~f7TW8<4)7>9)QVX{C?yA8ptzY1C~aWQEuaP&n8TZr&Q%CLp(+Zb7ZP+L}R!oX=u z%bWmF1n`NZ`M>zp-z+`RP z=BMt<3F*28SG>jKM4Es#>Q)GFxn-e9GBoyD?xfj{kA`5|6u$GR^RAZTfalCF;t4Uj z#dGIIKM1VbUz*29S6p()%h_uc41mu15}6pwR~>~4g2k?mmhj)fYmF1Xn|6}lm#nwy zg2zgD_hs$1q>s%1W=ebBY4R*ga;ce+?-HwlYqC&Dm-TlzhkT@h)JKgdzGdMRtf51O zYp=l#A~Y3M$Bt#J;lQJyUy9V=vIujG^+p)!I=S*-)TD_1Kpq?VACSbGAX09!{zT$( zGYM{<1c8n^q~T6x_N0!!2~vZ>CdZ^ftfu+zdI!TyIxAx`uuhOg01qw{w6YbluTyn_ zlSE{6dPs+Sif#miSVzH=&c~}g2ZZRj#r*(JJ-F%u;IBujSHz z9gf{lB1>vof6#3e6@{} znf^AV0u3HZ8u!D@S_ws9M}Nzhy@iACgdHri)_Hsb?>(o&38?f9)hwf^KE`KHdO?%9 zqt*tm9$r5aP|4pFS%l-IVyH|OiqUhB0(uiw9mvY>bOIN}2K<~A=x&8rHLJY*QXaAPX)e6g40RWk}S zrh;llfrBZMdeTl0Mo!)J-tDZ*msP0D!t3iNsH5e zWE~iDv&5c^DxlNz=94HjLX}bKS@TJz97q|>3xg}e-jzysW!zo4bk~%-YbJ=0tA!H2 zbHM}))gqDZO1Zl->8_l+YbrkfjJs_v-NtP;)KVJHB{!Z+X*`$QcrK;!J zUW?8)<+y+yHN+0p4%}yb%X@YX|r@b29CVc97|d z+#qjL=5=hj0p3ajyyXUXD-Q6M8{ndrCTU->158}uM!4WcxX8FWxX~@7(Ji>qEyU5? zY33<*+~DoF!P{|zx68RZxPjZT1NT$gM9xmZz@&%j|p#(!uAlFj>%lYs<*LRu*#VXtJ*Ylu__yr*c{1_?t6%pHSep?G49 zQFBR4Bu-riJsKP_WO0XvEiTf(8MrOome*)T*{txGl@O+*258%4@(5+IAT=B{UeRWH z;|Fa*3YS*8(Cn3jy^{7-zo_>BvL@J~QGpckdJE+01r*oFrTs=uWA*ANINf@9CGd5#u0>e$x)}k1=DX2f z4p`hU$(D_KY@S`ZQ8VuDc{fvX%Ops)zruXnCa-0WZn>qibpyxK9JkH;5b2ABV(5zi zI_{6-tL7j@KrEVJ6+w$d^P@zlv6UH>2e+UkG~P;|<#-6>iLr90$k=(Oakhw^xMg-iV<^xqPiPDUR%RIiF{_M$ zm{lgjaob8~LL`7@*^Io%Vm#|uNf$tU9S`W@?5rve9Xz8WhJZCab58G~K9_ZI(Vt4R zxJ2KKb8(ZGC-Piy{e#5Ny`U4aNaek%C`cbb@Et?n@imFJMgN+{(nx;IVg*`W^O(7e z*XgiLy4TrQ+PSWbf4*8e{l-`5d474P*HtBh5>>8NdNpP=-WA}9V<6;Q z0lqi@qgJeBov?o9dx^hf>@n6P^?M#RZIeK+j?&UBI9 zr?13k-DlBK`R~rxJj>g0OJIz-|46Euh70B*QYQBj%IC- z5DRc+%9SPsMew_?&vkW@KJm5y=YMgh8O1d_TR6>XrEZ$3sRc|;hj_3uO(MSConmZr z3LtIDRZboog@jifG(FwTw+nGFTFg4-r92Ghw6m-luM;4;j>l}AH6zUR}{o_@TyY3xi$v0DGqq*!8+~%6tXZ$X3{OX z=jERP3=Ji+4iuwu^<2fV`+H%hZDieJaHLV&sO{LcZQHhOn-kl%&6#*&Ol;e>Z6_1w z>v`U1zg6GfRlQcKtN(R%Rp;*eSm(8`U@wd*$}5YEOjaJj!f~5S^B}yKw8k1?PN^*S zGYK%2+p6a;FtuNkfw!n}bWX3>4*N}Mhh2~yTCHW#8toiX7SB?&_k9)@7wVAszW+x@ zpWLJVgZ-L<5nG)0WwWs~GZpo@2&PPQ5swFHNmc!DhH}Yb1l21DA+2`_uIxo2lI~f) zitv^aQ#>nzW1YtYD~MNYSbQbE+y3_$S>vEp7h8e*L zh?Bbtqw}(eSkSaK&i0i`^u}V$P}pd#FmB`SY3IyYVBg{mgS)&9Fhtd6QQnQr!(3^F zbkjf&+i8B40ZO|uhFd;(t5FXOW|@~kE!2Y6RkalnaAI{-DvD7_A4#lrmJaiNi#j^X zEj$Jj?AL4c%ZMPOAOYoSNl}2LS>sz?hR@r<#OGL1;nGfFrh_J>oMb~mIH6_$hhht% z=X90<*@2Kc+(mXDAT+B6UtiPI(3lRGC#bnOn2N}utFl;&y1P);11_-F=B!AM`8yYI zWJ16!c?jJlWVz~-t?us2SJ&y^Y$}<`A{3i7* zJiWwDno{^rE5>}*fcp)!_(fqN(^=#yVc*I?51s)HB%A#Mz%xV=$hrT;GbVOr*bq;Cq!-;vvzS9XABi{r#WP|zOrFUt z`=_iTk3dNNJ1F)03Btqq?v#(>XMs>QHQwg%U-xZlVT!7=)mB#Ok1E&bJEy^Lzc?|n zZcfmBCJjQ~&AhEy1Z|Fw6=#8kQa?3c_nk(as_aJI$!2D9{T6*u)E!g4NUR3r<$=KX!$96^#4h#>u@oPZl{4;>KHaxI;YlCC@s2YfLaTdGN4)w?f#WTzkwaWk>`lX<`MJ`PJ>BdM%da8HnT%Q5J+U# zB<{nZY+@RtidGM?j6vCD4o_!=_cCm(pBA8U8$F4eF2J+Y>8FEC5$3^K5bZw42$)@!`Q&I}NCox5 zKR&YvYf{&0m=;NN9g0xNtm;d}q^VCqWlz<){oUHfakNl-VYlITddzHr?~`Xt}n zw%&^5jZsYW3EprLDg*Yn@uWH2XUyTM&F{d#*~-UWwJn2h%iz(~rx=;&boX*Ad2h(? zIj$BJu-gNV`CYsZZ$P)khTz1408vlsGh!HEEO$}~rdBEFx#ceZ@yQ-}QJvZ$dba-;WH z!mGBOEasU$6F4P3p-xCH<#YaZPvtfK-zU+(P;8C=kZ5W_%PwAKKZ4rg<%E&ZbmHfP zEf(Cm2hUDa(IaHO?FVWMhOPkfovob1{o*?69-mVdaiQdG?8#Dv9aLUQ{05u*>{(93 z=GRwrQBbh$-|Ss`Pcgeu%SFPjN%`+~-zYr=^?p)D?n zI%PjuSs?mdr?H*qvZTXuxgR_d>Km*^r*nyU|Ee{+^p_?pY-4)>$rNf>ve|** zN3kk|jgF%c9WNWsJl{9YUJj*~Ji`49HD6G#sB*v5o-K&}lEKM{JRuKBD=JG<-A6Ym z9S_rm!nA-f(DD)((l-JU#vIc#5OX;@Tm|dvgRLZsJn0f!>&o|HydP!Up2YMz)HJYt zSubJt#aHq{C7W)BCM<`t3AMpdFA^u|m}9j_uq`dGIR{(UlnO8t|) zmhOT3vj9fZM_C)ahN}4V2dHvYv_tMex3gqQrA!+y%QeE-lp#0g4cRX+X&K6EvR;_l zO@-TNkKp9ZMfpE08=O;>ej(ZO6wtr_0(t`)4ZOsMaRRD4Ps5XliBNAqT6Qmd2%sp-d3O_dVB+1L|cHsxT{A~?9b!?!b~r#DMZvMH$Tg3RaE!AMGvzEZS2 zfKyBOR2VT&(F&gsdRsI+E%m|<5^NGRM2D41-r83lGAh9mbFBA5a@zaye4v|)u^n-1 ze|K)X4U_j;jZdgxF!q|^$79aX%8@?n>Qj0Nmn}kQ*Df0Rg~rMm_kpz5HM|gj3ll9^TXh4H*!LEx4n z=?tp(sP!|lll@*9JWItatz?Eh#m;n`8o*F}*ur=!YV*tq821d6aJm7~2;?2YbtDcB z^Ty>H|K(Cf1uCRD%@;@_oCmf*gxptUy#x~iP%|1+05yX$@=wiRKK7AM5+cKZ3)1-{ z)`ZzU8z6-LN6nZuj-n>;yuGWY7XPoBfqZVHYRw6@_k(MX1gIH~gpNRdteQp0?=n7f zYc8!;OoRVXGg!z=AN#xDFyOxbN6ow*^@X()wq`LBr?^OKcd(|8$d1CftFZ3GP1!@i zKr{tdFT%OvKxpBC1%(;INYmEpH-(&72pyPK&f7do_pD@WGd2KOBj@^Re>&CW?(+6=m|9H4} zYI&8mHAWSy0o(KoMyu1`gr*(Q>&*SrQ|kxm!+2_vi0K?f8;KT{oG;5?-<%7q;-?xE z+UtfbEHeH)xz?m9&rH^?IQoui{&7fVUp&EG{O!Z#XI!{p3Rrl2BVwm5luKpMpU;iF z3L-t_pB&Y%S$w6hSptB?4_JR^KXRV|Llb{*>Y9<&!xR!-yz-QzY45wBmAP}NBFMKk zjm#GSx4{11Mp1|?QvVxFdP=2Ed19JD4!DjmEIlzr%s4oFd>c_#(O~mZ&|vceEFZwS zA*SWI3h6NKk#*Exq@6*+?o4%SQUqxzw(1eUj6MVbU#H z$wu)y12Ve6l{h z_*$bD+5@Im>WgCSFFNp=Iz3I0&%S4E#!2SgCLr~+{Q09eR<$*{K-^)y8RNBDkMXpF zZ41~tyS-<~EV}Hm{OWq;0W&+qeDLQLl|oIAu7-b8=*?B&^TXcu`l&S<+=^+8DtUOY zIv8NV&fZT$g#}6@DlFd`bFqF1{0a6n9pV&u?^bkI=1;< zK}mC+0)ALVVRHEQhaEUNY5QPXyukqMwUAwh9;C*VYFi}DHWO)YhcTfW^$KpRovXKR>+3NI&WvZzV?{Z|wv`_CBMpnIsoKf6!NT#{G% zPygb%_|MS&@l!xW(T*bSo4-8CJ)aR%`BdK2*J+PYO+cZa`qjYpZt>-Mio%6mh(L}+ zDYn>`EO^^FJRYa&`z+c|3x%ihYs-K1bWVT?;)KauUI{}wcnW1%Ss%E@?9|0`(JILA7?dj1I-5a3dOXVg-EyIk@FHpr)>S}~Y(X}!Tu z7JTluP7F)qRBfmwG=+??Kdnc(DY99P^>oo4qOu^gxpZ+>cCyp!>C@}?IH2UwEHUH! zpJ3dJE2E`M8fSb8ri1l(I-n9rrw5Or=R0aC=1g zI{f|99{L{dgZ27XB3qo0i-nd3{^=?l+*Jo06{)ka#V9#0De`mjx4Ds18i5j8J4r@@ zt;$?vt314#s@3fDN zjw6SfKZ)U0^?HjHU@JP@#1PWID&_Dx$CVB)Qi26mu%y2E2cLMv_-lVbqKoqjlR1Fp zzvO(W{UCxuKv38OM<37%>S&>J-e!Oz8K%L8p@|qsauz;zgi{kql=lU7TB#uF7S%h^ zfSlm|y<2?-MZQH<2Kj}u{5M=G6kly8r%DLO#D{L-uZHUP0VY-JUP@h+5$_GFxBc*Fx&>IXiV8eutF3UgX&B4>VrHRhMeU4my?Q67ScSNdKz%$DcM=N2%W!x!JW3Q=(cp|4uBJPG2?iM0twQ#nV?u(E zrauJ$OK{2^h`@-FqaT%^U_8cE-f2i@SIt6UrJa-~iK}KPg~=trK}NC!quJR|HB!s0 zm&6J|n(1Ba zi1DVnjY>)`EiE+(Wp<^15gEHCw4v7jiO4vzYlD^W*W3akGRDw9cAD)*&M68K!Sx)| z%;a!>M}A~K;yrhiWmTCNg*MDEG&@#gWE*m6I5PJcufBE9MId8j=dOt*iQ zc=>LQkV78ic4<@rYt=I*E&O3yRfZDKlDf1Sf=kx}ou22pz%uSDhify0u&)7i-hp(d z9j~RcRitpd1onF8#NP0#9%~q!D6uGl+BtrLM9yP5$F?};$R<;nlKc(S>jww~kn%Q|uusa9B~?a_ zwBrL=Wbq<1s>fqP0nnp-VhJ3FAO(D|@KnGGFRsPBHhD%+Nitojr(<<-8vTLa&pLPj z!85%SwK!H?WF!jbg*kN-Ft`%v)f%CXhl0E6Ya$Jt<5yv>R4+o=1l@1zKVwbSF>tta zl#57?R#|upv9BznIu6e^?tg6w-P~o4J1?`N%uo1!K{C&qQ-;On_|9jy9SRTB{gPKc zrfN*}qJ0-2o$gptdt-J@?LxRW&+LEg4rr2_&VS%_%z<((o^39i(!Xq8yn0t9J10*YAf|!R?+y z0Fn?YO9ImB^2+~;%2;|GqI3mlrz9U&=YWIUVbSvot2o3U?$oExU`URcKk*BZ0nWN5 z4bqd?v&C0qDk`G)QU}cV+aY;BhN0uBVqvhfcoB~~sE@*v3|xfassi)Gc9Ah&Dd#hz z7xTm5$t6Aha`$HHd`C#XPsKek5)1LWM@X-@W`$?9m*LpX11n()SdF7dz}*4FWQr-> zt=PcVGP-b(JbP9cA>b$-mYY{g=Pvv%bGVm>z>eKP-z_Yl*Ad=_WuRz~A)k(1-$TB@ z$G`T_lgS{NUK^e_6+YYSO4$VC05O@{*_RMjSQdznS-3o@3_&(fstO!D?sFILlakX% z^qh>61;U&in)jG*ow6y9c=Wv8vur>*W? zkLtZPNGdyEQ09@`10Cmk4=Zj%z$o(O5>U&gPb|En^mbU^%0WJ`1EY2v7Z)$GMCIgb zjVdttP8T;n81%Dj|K3|0F?U3d%QiUgtf^hJ0knMH{j zp@6}RD&&x1^~T`$p8q8WbD}2bbQV`*DediJpM_c6;^`ZOS(LTe(GD|uyAzLoD@55* zIuOkMgRZ=;$<_?gauJjgtNOJFfzZHTn1gAilIhtAKAoQED1wae;JW) zKYRDk>!nGCs4K}>1^4)IRw6Jj3Fdep2?tmxwg=y!IG5fYpkSZuPp)ZM~lgklWKBe1)=RbAnS2Cf)snCsKyNnaqO#Mj6ho(3pY!0wt7-<_J&H zVWId|qbmolpV-w?F}2w20NmufWl6_C?N|@{vzz5Hu8%d~7KAOE?FDMQuxOUK$80qW zMpYZ^&D=KF!}i-A&(zuoqHMD$&vlZ#@ClG_aX_>@cyiC%fi zqm^DsgUR_M?EBs@{@7s{J0#Hc7?iM@%9>s&;yV_X;-yksP2I`<E^iVH|X7p$rNVj>gIi+xTZ* zZK>xMN1j;8p;}Ta;9{~cIW&|`T59~bp^So<*cK%@d#Lr$-Cbx9P?Rx3^b+gIe+;_U z&4UMWGLdKi6lLB^s?j#3NiESV6hUAk8yw{6M`D}207aRa*MCJBrakyNk6{WHTRIO* zxOT!}XOHj|C{~Qr2j^;~hQ{m+=DsyRQD(++?i^5*vCLSH1ol@5uw!cY!KV#ryG8eh zvPkCQKSh~rCGhnB6lKsIa@?fVwFG-Ufta&>;a~8As)d(#G0VV2TUhBPD4SJ{UE&TeFe0x6>T-f<00@HHkxMJ)@L1(~|!GeIa&0+@4 zfp2iHik+}jYRG3YvQkT?N5rC}fi4X1lHN*OypcZ-|M8MiLAlg+OHJ1zT&M{$IASzL zOCW5zsHY+rr5YuY5bgsvwo`Bx7xU;)W-n`f%j`=iEG~~mUF)iL3mN+J#9w$f+`EQF5FF3G#vk-3> z!uBeNHK&Ktq)@LZ5k0e%-7r{b_~dEj(Ew4~Yh`;{Vs@q1u%!V>1bs3| z#;7@L;5fPS3P`?lNnylo5RX)G|H1(ZgtFX=AAs5fj{T!HMl3bD;KK`RNoSk!q@qwF6(s}==P0fF)%@csy*fjTulmMtrNzs3)%>%_hYV(>HX7Z94 zXmX7RS9MG@Wc82QC@21-HkU`&)(m?LNuKHds13-`KWgLiA8G^bT&p!nCgcHLwk2T9 zmHJ<5lP`ANcFUJ&^vzZWpf;V;AwX*Xs10@YKWgK7m~_IUab-`|@sHXF>HecOv&sLc zjoi_HsLiQAfZA02m)hKN{-ZY8me{}x0BUmvpf*WI|ESHNC4kyU#Q>;{HePQDK4SC% zfZ8O8|D!fQ2LGit!vJbCz6qc$pC`j6U-!gp6tX_56}5r}?2uwz4W z?gFUI7J%9uIRK~)b25P1{2TyK8}G@Q*oJPM%)^T$u7A`$f!nx zgTta~2fa7JH2+->7>^q$?=BielqCNx+Lqf)>l58h6-?zzekc|Xc>n9dCk;St^f!7} zzR{dV0MsV(0YGhhCjr!k$nfZd)XKhRij??%Yw=KXW6~i#4OMmHW6FMg8z`*1ubWQTPLujAX{NyA2pW4d~s?1>U-^LAN6gn4InSt3=TZI47R4Sb2X;3#@&o(-9BqcwnDF>AT*wEkq}6rB&z|#Xew2UhAU%xB#l$`~#fI z7Iw`AL_d!0^onZ!L)riI096x{(EZ+Iwvi-FSDq<;o-$Vfy3exLM#i6ab!z(5B#fD^AzZQLQy$!5ucX7NSS zYA5kR6$@Xop;WR4D~m#M$KIT|IR(6o_lSmaCQgK*3ZdZF_3=g+7dC@y?Nn}n4UsHes+|FVI?xs$ z)_mYMugFP0mbH)Hut2~>Rl=#zobonnazhBd$Pe@cWF0wd)+)!fMM=7HzS^Xn7L`6Jd z>E0m4T;6El_W#JunDRezGo&0S6{lU=5~R;uMGGJ|7tsR>9;~%hRHGTjwTlsvNT9v6 z-bn;8s6|*tXZbXeTZ=3Rp$LzF0IVzsPFzVLfZXhUL(9ur(!9?Q_E?rb7g)FC%{G#0 zb`@AJxqiJ0e&-dXhkd7`e5WISr=xyzkbl`>JVU4On=Ya7)Dk>j$vd72Lk{~9JUee> zYVVg=CREC!pUHiw*~LVm|Eiss4?A|uMR-c#2E9)>IwDNd*ZR!+8=yE5pdtI2Cpa^` zl<){U9D+qVY`AA3oGWG`1S+>JIOeN2GNl&Pg$7I1`$P6AexG_e!cY z;G^~=EMdvYpIKi5O5MRf;AE!7M}Ypc@CYY5f;KGYZfJ+sys({g6(>PSye*iIg72fMX@fY+RGWl2hO{znMUoC1^0&pJ);K~g`KZ9 z0V>YwkN~M$!B$n_I%yeedlfFBWf;p)FIms$y!$bX(+pb6Jsn+=BRBQ;Cuhow&axBsC4-pa|wq111rJ zN)g$?F@Va0NTFv$8bLa}+jU@JFQ-xQLaH_~oo;5%VFN-DcOdR;DYl8O)?3O>d#sc2WdQpsR>SW4Fh6nzvApi$aH5e{MXp{Bq`Q@mYK}`KN#PqtJ?#$HXYq0 zv0pNrm>ce03ilse;7Gi$HnHOlUbv#k5MbbfcsY@fKhgIHH9`Zl(vBX+P| zMN9F+A~$**Ud{5r^(APVa`p=NN;kn;UT);DPrFD&&d(9?bqXYHP3N@mn|gMF;U+K< zXK!FuRrzG0qyUA9paI8Ke)=JmNN<8Et5M^_;1r7u;*?b1sZ!v9(q0L9d1We~uk%cH z^`gdR!fIF6V-xr42@>svDwTNy~?l`++Zj1Y5$>@qW8|+!QUzje-*cn$I!su zklt9W!IkB+&N(|Lr?2cU4A5WKTtJBQW98PjLj7W;Ta(-q(?x-->{Xb8o|BlnueqpN zdNBU(j4`+IkLnnz)KwL9Azp&Bv-g?cse+cQ|D^&Ctf!W4ioXGYf5E#+P5IW zwBGN+ORHY7@Cj)xznK{tm~|-7HTtsK{g~I9Kg#Cd+IzB!=t~#(YIiW@Z6P*s%&0eC zP#!qCkrOU(vGN>t0l4nKKQgua+8~m6`AX`!+&tIw@0)MKeAAWs{6Rh;`#qR!{^q4?$0-!WK_FOVyTH zEsuG-37D(J;934h9=!Qm7sfLs=NcCnE|gY#R<>B7U3n%DKBQWtRxw0Lv5T%MbYINy zZW@u^!ieCc(41iOQNOJ3J1y$Iw^ys@J1c?WP>J^HrmJ_wh?W8g`|RVs5>~N@Whk0{ zTe9iUiJ6^0FI5DekC?KYlw07=3y74I#n>*(XoBdv$cCPwq&Mt2qe}xNyPy*TN3v#G z==O`KAL$-Rtp1vl*1y81q?O$MLF0;>9uK=VAaRaRwZt*vUudq_EVkC4zE=I?gq{gZ z`{gR~vrH6k4CrNR|7u{WxfxCkeIuO}UMPS8mTkiyg`V?xV{Z`y6h=?HdL=C@43E#kf4{7yG7cMpI-P} z^r|oszvBj*9$+soVP3G=-<_6gWTj?dq| z!x&M-ygP%rV$l~cin{!xJH4WFO;Cw*pcRuEhVq7D8CGZ`e<%W5{I-*ZA*Uk2G_q)x z?r~QYnA=}(r~t#_m499Vt+SU&9PL-N>bpvT39m<0qYLjclvcGzy^M9F)so?p zShis$_1;bL5rZl24)}302YbD#N`&Sqk(r4-Hq(Il)6E7l+yDo}O}Du|_^&d5;55g#B|fa{WUttKCbSmIk2`+? z8@%}-d^NU{k}-WX$kKYhERhN?x0%`zx8!%fY`&V4dY0##eQYHN43Dix;M4OL>2qXiA`=^a@Te_q<_cR z;I6uOx{~n&HIq^*eO+O?6JZ<%X(dALn-f-eeEOk`yD!_*^@%O7bF6=dK!w4R^mMlW zY#Nak9w(5}#5==es(*sq_$&OQ_p{!!;;k(nzp&7=XB0=YY(4uoq(zHkW{bD74Q9#4 z=gRs8swh8dJ30xER8A0R3pUp(R)3><I^jYO9s@cXGO#l{#ouLkI29erW`y&Ou-fWrzU{@}-g{ZTOW3V;)0P`y@+) z#jht8S>>}dE3_9MwTVZjni|KpQ*Fq+{U|r|>?Alq#fw=cwuv0eyU}o#v;7N?Yip9v zpjMK$^6&*TAe0aw<~2Em%YL#+oK8#UPd&?)3sqAbeRxZBk#;YCQccYlzvt(Wm= zCzQu73%)%yqb(UQ-U)UJ;VUZ({6G*&)X-JHJ#+6_biDFV?!k&eLRRR=9p) zZhX0-!HpruKU3Uf#pqRPC??gS9MiC(hz#UjKJhK9wLqspSpfq^p~z(yDV-3YReth8fy5pjP+araxM9QdE4oF7^+7&SGk(^BV8&(!NT?_ zw0?F6L{BD%0OJ)+Ny&wu!e-LmVY;gVooq{S>7aT`@kSFOIb)s1GK+yA-K}6^oqj%` ze^-@eEqh`Dv;U%_iZ4_3){0NK zllZ2bL}aMMG7^G<;Z&-n7Ho{R?I0g)>CRGj#p-|$Vuy48(fwnKXDM}4qad{zrbPe3 zno0w=n2?>}w>@=tDoxUt*f_ry22Al>dHy*+{;5tMH+kOi0C7%B`U{J7wir{RfA;R5 zpT6l?D6)(6H`q=~;9wivqYeD?j^n8c_OgpnuIrkDnm#C1&kgh^KNPL1c+(Hsr-_EF zi6aykyX}`A|DM`?f&y+vXBTSG4O|neR0#D?$V6ZHSlUKWq>}UOx$*W*U{vc&xK)G( zQn{;_Q0g%}*mn_Xz3p^s&k4$);fReWp@6m6c~Rmj286+Nd#7jE$j|~S6K|bk;B^3#a)@MK&H=i8KQjG zX7FlkglBa0Fl#A(SvK>;K}kHvcQP*ab=YO_<<_mIXd4ftZ`kZ{w5gakPm?R97~eUy zR^iSre)Jyjizxm4W#$$QxVW-wZem z8q_BP`;fhV_+?=prBF)GFG;HV!Ym>=I~-<%B6UU_Gi*jLsqqmEG*E=OF|;iK^Fb*n zeR|8zFDD}w7oMUH3pH7n&2{%~*L@b-vpbWNV8BtM!5;PRMJhD!v1}d}q0_O(izS8! zB|@}>YM4CWPuMre8@|J^=?{fJN`v*HyGZLH@Oid&1WOfV`I1jx;Gd#cR<;>M3&wG< zp7(_jqIELVUjt;tp!c@kA?315+Xkt&WMr{tVbP|B6&~slyI8ckjdFmI!WafhE;CLd zSaK_yDae}o4vI2R4%)=W09gUGkSoS|`jON=t)b0$mOQptCHGsxVm1L`7uceIt@VS;oAVaX$myN)j(`a?NgKV&mwG&?X#dQvXvxZTjx7llv4OWllHH_=CY zN%C7%vT91Hk8nLqa#(T#v~zSKtV0c#S|XNUdTj>2<#zL3Uo#n2AT%=+egj@NuaZC( z&2bEa@~z{v`an&Z6v+J_)d8;V^u%&0thTEA6|A;bN?PPG%^g)=ci$CqH-b07)J-zA zYAXQ-&N}9$Ti_xqdzM$=#T?CWe^HpY1k)qtwRzVsDEE84BHoM$1~*by8?^{nR;mrJ2D7L+zL6VJYzHP>)Gc1sULQ$Z#%M zoD1DTdch`}3>l(dyApH&Erzz%5R%(ypsh}%N>)_lqbE#Q024)f+&jT)T2UVGYN?-J zgr22coyHz9{3di=4&-Jho?u%sel35xv0j}BA)I4PCbuKQh2}9MlUyS2Cwt%N`R0EZTgb>ewC2zGOQGlzNRa}iCXn(K z_fU1WaR9D*0-97+v1yenbh%c!h6f~`5R+gDd=Y|NqmJh)pgOVFjbCSD!(+~_4<=!sFs3tLhYPMJ=zB+GjYa)aFYX_(|24wCPw79zf+XC-}9?U z7U9It1U#)yUs@B3s7uZvy&3c4x5kvVucsfb_^O5$?7R~2=zqZ8IS&{#)_Tv?Dt$f4 zX@uzglOv;-z$0}B5Z9ea(p%392yPL6borzE&WRKnKp5&RF}PwS4WkR7D!+W_4WB6T z-o1t>4J>=(MdsSXd~Mgr%@Rb0bwIC!I;cSEo-k@$>%-nZU0^4i<-vk|L(9S&a(Sy-W{bBXU9#;JZFX zNLa()92ushyS7i9sV9z8eXaJyK_w+j+*%myBp$XK9nB5de5|kB*H&2QF0RIC4oR6? zVrI$bQR+C6Q0$=C0kpwf=BciBg9Vj`F5?S^*RM~uIjlc?k0f5tGlG&adqNlB+Yj8C zCiJGExh_JN&@P}SD)i*M z$IFs|);$q}x&v)HaYMX3xMICW@ld%T`pb@vR*53Gjh-*rrx18(-?{xrSzL|Dw{@T6M^iIH22p7yI(XSYkNKuel?WXFzEJuuaGJ_^ zea|e+5Wf3~;q$!)!-HvC9FAt!>G@m%3hZfJrA7$03$9Hmua&81mTfXGIKhiQNh70>JSO9MiRv7>Q}?ur&6UU4%CfgTKtg55q*t~x6nHq0O% z(KnhE0K11YN;5U4Qn4mV(=)30+elBtWkP^r>BILM)x2&P$xjMKiKJt~F_xIjBxu_= z*i|$3*E>I7bXoQf=SgThEmIO@VVJ!kG8(EuZ%DFwnu1;8B%RN=pbv03GXioq*wu)< zAgA1}R@Ds=$Zx*Y2^DbCk;ui_K4Yn&n022{e5B60FLR|;ldtyhH*n8NPT*DyDbG+4 zDiTXp${L!a?I#w`eJjA5?|~P{+A|3WVL)F>IFR7WjYX)HkOy{L|1ug`pvi83zcjj^ z&A^Q}%8CtBnKfKsS678tc1HzAcL6^X6KN(iju$J{{3Fy4OJWw~Mg(e>ay?85>x6tg z0th@81}_ZiVv?>Fgt-A z{Ro@F6*dz)j@!ioRbs-}XR3oRrBjEv-tCa?zc{-k+M&U?=Ro;<(}!AZ+NwaPx&{_x zbGPRup{4+{aAFYF=L`WX(x7(xZA7;%F>tr7Lza}J-CTRT6EdxO8D}(Dwwkd>w8q0=<@uMT4t_iws>$n-DW?(i+*dn?hRe zU~b;O)jtT79BALgZ)u1y7c5|8U~?4PZ(!%+E-^+4G8xEnfxRU;>9($)+~=5_@o4Lq zjEUd@<2QJaFScmc8}Yhj=OagtMphG(SZp2t3jfdweG1c z3trfLwjc5|_FJG}#~gmUg(SGmk9J+t-BKY^+eJQot4REKVy_{aZMB&zy<+&y#fGxg z9DfXSAKABHTL){*+4J-SbdZ1?Kjg_H4yyb^3*N;8O5rWK7FGi1-YI*YMsV!36 zo9Lv{E}AY;{@%5@BMVx+y!SL$lb52*Y73HtB0C|ZM*LhNJERGQQJ2V^OOMP4KqiP6 zNhF}Z1j0pd1*`I+l0cs8f*ERs4EZmGy`laDMKm1;Aapzdf%R=1*%PEeUq`X{szJ0d zj^8S;?R7gc4b->E333%Mhks1JW|b5$_2J9!#WbuuSSL}95qVD9uev8R_k z5lD3YX{_Q>6N$Z(50(RB`~3%cMko`0Vp1i%E71{?d_MJ_csIzg z7LPyImo=a8ks4{xaLZUYG!^_OMEE-~r*7MVVOBZtavu#+TM0%h3OoJbpknr+Mn8u> z_y-YVZt;I1TO#)kh*&%U@bc{t>>Fugh;MLurz}ty8u@85mPV&D9keo~UjtilZpbSYN#e7B-yDOR% znhefMrRjqrN~8ty)$^RaP8w^ab0QDOj^{ugsLW8CB4!5|-&#|=R>dh;qfzelb8`La zrkv78QE3g?gL6h-S_maR^c-xpq28L3WUSSnY_z{e|tsj6Q3F%f=%KQS_phAwDEr%tPF) z2foa4wDCY3rvP%)EOMM9Tj%hq6BdmuxusG|1CvnkoS18*atrvTQyhykywpf^S4 z|KrZ}M!z7d|0LKUf||$YoW>J3?201xcC`d7=Vpy!^yl>kn06l$FK)hj`Qo3(2`sPyhEiHJ_eqt_sh5InW?Lu9 z>Y<;yG2C}L?0?gs6$#ec#HHX45#Y@fT+qgrX@GEt`x7A7jW_9`0{QVw9j*n6G>3jM z2fqKSTE1MJe9)}B3_ILtzz9Qbk#2C3*HD0{IwW*rI5DHnp+OG0IpaOn*(IlUyp&QY z7=qgK6f-wB0wJ(iWcCv$B+mO}A}s2AWp=f--80?D&b)dXO$)EH;VJ!pguPR6W>MF+ z8|R5_+qP|YY#SYQY}>YN+wR!5ZFTVH{k~s&?}J^d<~&?g>u8O-?rV%8DvE?I^+4JL z+7QIDZ$%A6ijYIai)24h4@w^Uvl*V(&*+oX2fa^EVr9_x!y{~mDHc-AIZJ#F!X*oC zq17WxLbym^-KWd7X_#ORUl-*|NXDjw#8J-a=UunXv14p<0Q4Krvju|#y-H&c))ODj zn_5D*+#jBR0et;-Q6E;yyB>4D;H>DeZpn_Ewq(f<%XO~8!66YynA%53VPenbz=qT} zLSgc|bZALd&_uK2t+pjjWNR3s1zuo<3DKdaDlaly#5@&d# zHJb|YkV8Z9@Uu28icgWE=|a{;_ggf!X#8fa_dAoq_d`BUB0=X#JXYoS_2m1*HwFy( zOI!LwTl_;?{$nHQwbg2lc0gS8ND+nF^5&V`t&SV}Lx`8(5*QM>7MLzh$cEsO4%x5@ z&a~v3I6UqjFwfwa%sfuYAfqiO`Zc5COQKj4+^7)n^#P0zUQ-Yzb z6JecJ2^}Fo|2IlQOn-h%JO}g_EG;DnP9K@wOKSC&O!*j2ZY8qr&UQO(&b=@3UOtYk zV}iY(C=WG!wH#V~0J4$&F%f(1YWdZP+cb4KWpo5zM+@f5YIb&h{i;kcK*qWOGW46) z8U-IN=y$m6zo@!NmhwC6aM*uJbEy8NY>^u--o=@bww*oF8F2{piJ|ykzsHbQ$`e>A zr$kPeP>V_sxM>CissP_Ww#Sk7^i+`czY=d{Qy|P6iVQiMWky!J3vCI$Sv6=LH)&O@ z#fo%(-JZA}gZ;^;k0s}hQ2zsKc6i#I{D&bv5wmS*XTl>i^+9Wnm(?EAwZw zCv>|ATW=p8Lh~QE>Xo=h-i%rmdbZ};TYMfen=@IfVI4zvZaHHpYGawC(^?!E*(PRH zhO?95hgc#j{bttW>9LX_QdVliO z_7Ag4a%(xxgeO*HlZytW~U8XTH2!rJ9%JkmJz zixKEwvSa_xkQ6Qr$4X{T{dA9t>tUvVqQs0d@%x;4zOuyO>Og#%TFe|b;EO^W za`;IxUx?5d)%+#CmU|V9_aHlNe3eSWAEts< zjq{;avd$igdkF8O;=@~+^!?UqBws_wT$H(O6j5hK47!8xnVdSgFDZuOlxKJou z$mEXuqcc#dsxd`7A?VL<|Dy12!A>yxkfyIK@eww6bs4pNspu*09cs!G-GZFN=jSfV zWebj#J+hyxxq!vEk_W)$s=qTMcMW__^yE#iKDa)Vp3UGv{33OtG3l-R53fM5;=q{+ zVGjSI8#D^IdVhee<6e&6YN@og_*_3`Nd`2Du$7^Mi75LGJchYK7my=L)`ENd3<^HN zP?=yjl;tXq3_JPsP4JB&wMWWU%( z$ekYGXWJ*wX`)@1%Id7IUsmL^m+&qo?qBEBn_rF~I&!_%v@IUC!lk3~9cZJ`!6+m| znELpPrf0Ip816(mYG7`7B{5qFgK#0o`E!#Jn0^6kx6udk-l&rI*`0I}dRVlDFTjHrZ1ojWqmep+IgDg3?ni(rx^w^83gs>3SO)em+q zPG~~iV9BmcNkbdO%dMGjyjq)c7VIKmGYck z^AO$hn&vKDKMvg9(M++wAwryA(&@>${gIqpGDkCcSn_V(U|<^~|^_U8<+0r6rn{Hjj-xO1)2le8yV;@~$Ck3$X2f*jRt> zyQ$Txpje+PNs(*JXWEP)O=?pHfpcnBnID_qY8ESSkW3W<5j~G4253(EgcJ|eXZ;U| z)JaByT}aThI5K~MZ&@%MPI+_a4o+$3#P~eOvBGZ!nED-aY)N)$7mY(XqcANKV(!2d z_H5Q^xD8fJ;h+QmUKQV*y03=>4T1ClHKY@)5s$*U{pwJ8;$ORSb2U@X-_$LPuXDZO zKu#g#-29X~_qy&U9(wd_!`J_Zk9C^a8Tn5U#rD}wbJv_;Uqm4e&*QgGae2`k5Bm3w z#z(L5-FM9JH&56%JMy52+OA9JEqRg9hfviD@1^=vZ>-d>ozQ<3NbiP#(YJc2mdx^SUkmocJX>0@A&#S|WdkL;b*kQE`qTYJk14X{-vkFv~Umh|q7H;EQDAK%72n3cB_I zbx^G?<`{!q<3WIRy6%A7w7hI1->nEb?F4QY0d53J(5?qLNOqtnyW;z|U%DXPz02jnbTb!4mOh2aAjmM~BFVF`y#tWp&`2Gu_PQt3F-# zqR9GrV@Rb+^~0CaM76S66M}jRVuSRG}G;Vnmpo|(kErL~i zV{^KDQc)HJanM1C@s^=hNaVQrIT6EJ-#lpiGeEVj4L(j@-w<43C429PP8)zSfJRW} z1XgQsDgGJ|-!fweIn9z5!OkUMGWo=ldXUehE5j7uE&*Im1KziEV`|g*3*o|JU%0%y z7(-(9la({p$k*7I&EH7g(>q}kcpfw+osSm=sY%!ym?3cE#Zd3OCE&}D%6OlMQ|J`( z;u=pVg~HGIWmFKv!_Q$voXPaO`F4ar7j$PH?42=2M?Fc&emV;C@Y9C|LDr zf;g;3L3dk*l;-s$EsZlxQdY5pCzem>az%ySFnV2Meq4 zfyK0I7F4!2x;c98n1X6I1_|9@%WX|+WbDh5vf_$gbR;i7LK-&Sc1W{{^gv5o5|3L( z&18pEB@6L+wv;xRW;%lTOBtYN7-d^xFRQML=H$--KH(V|ks7cMjt=Y(a}u|;`cQtU zZO_^rAl(a|>Jw=WB)E429tMQDy=87t3zQz6#oDG((x=SO!ruRPI6c(e-2o$@7sle{ zLnjsnX1N=2?NK<5o*rqqWE+Vgub~V~Eps!MvTgYS(GiWp(^hAz7>)<B@0KDt-diR^RguVH1Emr@#~CXpd2ynMiYr1u6E;<{C!^3LY%5yvP0_% zTy0GU)u~*mU2$TuXlIWUa2*n6C8H?1At`>3rNZLZMpAY>kx>&^eyJ|XvP2psb<`6z zUBRo|o@-P&B$(E)J9{C~tFlLar>bfKHq-oTR%L4UT$;RYDVT66L%J?vv|f$(y#wTg zk3nPg2`kJBJjSzwQ#Y5*WHAX)TB2D2QW{Img$>OYvHQ{rnwgU4shl1P;`$pqsd*b3 zt%5zALbrB0QSF!Cl3euw^ewZmmK&%Z2B;fsUo!*|n_vwDY~Ry_#&FFuSUS`Vs305& ze(-=@-K&$N02tx-KQHgC!$a#P{OyN|g~pE&EI}r4FU(CWw56GX*<*sG}Esm7=YH9a-}LJ95C2xD~fg zUtDVh(!z2ghhWO9D+8s7To+}iztq8V`LF|0;x#8sU?d;td3Fzhs zo9)xYL^|&!GoCbXDaKr2VH`w_ci_7YFM^wnAwWV=O9Utx!5A6}Cvn;}Lv+=1u?Y?0 z*j{kt+~K&1??_^&7$EmR>M`lG1!@fd`ND4|Gzkpe;X^}|g%WnDuNnWbztKC!s74g^ zZ5My(9#f<7uYc|X4)BK)Y6y?3M3-68g0*VX{Oa_hx7zKc=rKc7Mec%Iad0r`Hel>Q zVU#h#g9}ljf<2t4G!*k*gj{uY-lNxL$pQ_}$jcD>tf)rpZv8#X;k3O?H8Dl zMBnfDsQJ9MhqaIRz6u<|5tIZNz!|_m&l6CV>Vh7QlS`Mu?6Yp1J$u%b<{+O#eisdGK zLo`e@JICY>2%Z+i7RP>RWQQqCn+YR9HlJaQ+DFQDf`yN5!xwtAKoxpy0}*;Wr4vB} zuM&U-!(@ULvL7X60C$BQKx|S6vdYOy_RmQ8+lsEJO!%a@c_bwUjcb9?@Yo)fzuw%- z6;k4qLhhBr2l_9TNS#)+%or(}FJYGHlU4?paG|duiIf>dGbKQw1$(#7Kl}^~_gH6k zY$MPAmcucQ67e1*44dC^$*9gNco=vUIuncp+CBw1OV+=6ejqxii!7=govEm`;B$`m zus|$u8;nm1MM~*5ahZe)dOE=@p}>HGXmJaMqln=u?itBUe#ozjKJOW48}I1YTQeZY z7&fL(jGu7vAM%hM!HE#25ObByf>cQILuYC5>NBG96kfe#Dto4P}MgB6LXUsPRK zexxelFXCF;2g(7*a(#pLMTUAEFb<%b*y`@JJ+%VO)aRr{16wQ10joNZpjni@=hje; zf4{Em)g^F_@6M+K-MfArD$QMX!X*WsFD=D1#^Y7ri1wlI)xz9zi-A@_nbcmea2NKi z(*Wo-D6Y|hQVoN8xZY3WIDV5iG*~Qq-`F|Nty^&m-mU$y0$CAdO~a0EL5r?)A%?crD~`gipKi ziFArK!6zKC`52~GRKRO;yNZqYKm--{zN(18^~4<8{En!a0AVp961=+9=7jKzrs^T&t!$V z2KXOiCi^?mFN0cy^mtg%c%M^Yc;7KzW8&-!kq*@q!C&5E;Z5*ReW6ju0)vL$0M@?q zl-ReQRShC>>SWgLDR}m0}^(!>jH^hUF6vn6&}|2SbUvp;s;24;dd?RPaUc!r{cw# zaT z%-O%u3`ryXRvfZE_023mfGz~I;n zEVE|HvvFoB_5eJ#L z(L`;GoGU0OP((T?*a!9G!`74ohMvK~ub_}OP>ke>%R?{xvNE;~z919t9;?g3mNS7X zNw;P>V_FLE=@nd^NBwl`*tH0@i+4jI6fwOAS%IMd513P&CP=}AVofk06mhpQD`XLIsiI4f4-FcKvGJR-upab$QYSclq8*)DnSxV zbPnj3nDpgGm7GS=xMf1mE4nnM(g$6{yh8Fl?pg|J)@pFKB5~is?&>133z2pn3GkFW z*P#uxR)Z_&Z9NABi^(3R2zm^Qi38Dt+OSVNczRG3JC;UoPuOwO6) zC4A)a+!vh)ns_>G6sxj6%V$P@6ezO^ZZo1iBU2Jt7#!+^Bk*KFH!Jo{m}n&lay6Lb zyb0{zIdelKi9^bv_%fXs8cV2HYGwlp#TXR}#19z}_-4Fxt-Ur}Exk#sltf?LTzYM= zY_Q!@4N3r44;6p}u(QYvrSH`sXDFEc-yCIJJCo8&nB1&%w=+qrZSoVko_z?REjtd6 zXwEHC6m5=Pe2CbA(=7!4X6DxTo8fiF2Xwn)YKNjCi(B(Lg1bL4!c-;=NnugtY!QM9 z^#q5RQy*~%F^hp&ftzIb5({h5+(a=qKKO~{P9huB)}n+(NhXU#H^+}fT{o-ze4kbc z1Vuibbx*pbnE@7?pT%@!&9Piyc!OK%ep1dHNN8O=#Bl7^0a$OH=ypD1uZRno*^$)b za40qxC3Me;)cC|79!6fi=!$oKuyCw=p72CEP-g_@Q?NEm`lLO$C|T#Z3a3_Syc{-1 zAXEUF5%km+wg%3zE%u<%Q(wa$cI-c_<8{BBJlV!`vrjn;r*7M|F@+51P?_ z2(hS*lc}-*DEjnECLK(TB4wFye%xQgO6Pkt*)N8=JzWj_XTn4|;3r(7)WH73?l93_ zjao)EhG%Dw3veu-0NO7&yRP++bSPrqyW=}#KeYbi?>0v6wwcpgTkrm13SFR7zeGU5 z9i({^U&Q8mMZb*Xx-R{kbpt$;P^e6B;~5XVO1ZzQGV0O7_pxuO*6&y^CMo{bpj5 zsudP?V^TQK*a-JklZg@30@O7hWhRsc?xM^lZ2B9NnPm;Q*H=2{A|4B4<}KbUt;3LBb_?f2!)OT%-9tgd^wg-d*L)8Kv6pbioNWvf_%s zbjjR2oeZ3J&CtmB)$=jHklB=~5}T^n60>s+oM9zh(R!^aTks&$1$kG`gl;)Ffid^$q4*VA#!Y#*TWf_}*v9~gm_vgYoe z4G&gAM=-+2Dc8XWhFBH{(VX!l!%6~)V81o(QmyI=G z*)=+<*h>#>b`}hLOjQL{Kv;HgLHpYuHI+YP}h) zDJG{oe4v-Try##57}L%m(f8|aJb%BN8+2GsEt`+DLwesadFt%GdfB53-1F(go_b>_ zmu#)}Qh3ES;$<<)`cWA>!yZ>*WgmHNZSu8lt(mrj~FS?HY z+QBR0$C1+C3!95;E$0sl9vuCvH#j21Zb$8;&qmAN zTlxv!dtK^62~)xA4RnGmpjsgPxnaYlpB+7N3Oc8o`lfLS2%bJL0n)FFQM2|t3u%pr^c2@BhdVUiF~vcEHT*h@ZI$NUi{Enl&(5NHjTT9vw!pKHCe;JD%k2_5`_Q3|=6@ZX}oz3!gO&KNhIkIqlz zEjh$E?rVRsuETy|^fW4f^c8(Xlttk)I9(eePv(b$$&u56N6c|EyMO(3B_by8=T+l8 zThRz-%oNqK)t*19FVK;wU|(KYCbhz6ZPbv(rh^^LrKp@Q{SOif44lEi4NwXk{3rqU z^t4@@;%l-*j&CxnnjGVDgV20{@9`1I>FexCoR#vBnskYY_~Hy)@j?^SsQGFM5P7(7wM?=PDWfr(*kZtdT&g7)gxT^@)uf`-&^Q&MZdEcuFX zxi=dPJvEgT(V{?RDv8IlWR=XFI!aR;EQvy&4uc-lg~!k2CqXJ-xaGkBVY&`G@N$}zaI zx~^YwNdeyntMJH|;xC#T!i-khjHMT!CO=MF_>P$%s6tJ>PtWnc{yZ`Y^8DMtDo6zWqKCmQ*1BF!}gC`q6 z-1B98p1K-^5ELrs4k(rGs!|C^60B#v>>gK{H&aNj zLf{`KdH7!%;zS}a#SH3CnNXjGmybU?I3ElG7_OyT5Qxke)4H4tna(hX z=kx)Y^JE3GpgjBFDgmkQ{%}vV(3bt&w~k~&8aQ|EmW6~M6J35!LX(roj2d_I^Cw`` z6ph}}C#nfTXFU@tl-)Z;ZF^vqkAIl;g6IdpN|X=$-8i~L+jXntsNQTl{7^wId$F(t z%jc+7Ccvuob0|?sLL`r57#r*3yDnLTfef&Of`F3QwrbSYYTY&}q&D*>ys;kC-L-)@ zBd^#R&prln8>E7i(R!#TYa^n7eAOdrsx@mB$2Tn#I4iZ3A2shVZz5bdRCZ4v!6U!; zL3e8U#w{__$Lq+;Gk#4ku?A|l87ux#HC7SwX8F?IKq@*pibkv-fPR3Oz4o9fYhNeT z6s}fH$y?;9yf_T@JTYw#sC($D*}21HbcNgZ@za6BWPC}EkJ7t>@?hHT2=wsaop_i{ zGd`}ffufnzg2vvW{QSW}2yYc=)U?C2zD`(Msw2GF!pGJWAJKIpwKI7f!FV3v{nO$g zDKiCW`FRi`Ogmv$wHvH*`_cF1>>XGWnl2BL{?XqB{7>i~5cj?~V+>Uk;?Q+I{}e3< zCYUG2H!cS@v^gm6C;#EVMil|*fIFOER^|d9=j(DXUSt@mNi7a7;r2=uL_`LMg#=7lgUvCzSBwH;G(aj* zz*t}_P+*C3{ocU>#|UiTU+7o68kHk_BmV-ixZ=6(?ro`%I1-HMIHVHyWYCFll}TM9 z>uBX3vEb+ABM_0|8?1^*))HP4IsXBs-a?1ejgylTn4}LYwQihV5ERhs(zMl_DvPfH zFOfF|u3Gy=`lYz=iQ>0$PN=vNHYj7hemlP=emkG;)8%Z2s>l7{UPB|SIjuF(Ao5EK z3B;+S0}@fv2LhREV1I0#H)bG;BxXE^4}~kj(R*5tGwH%3>#$Ji=gj?_R#*zGI2ooY z%OOOi{_c=2)JO6F%2^{R=)@{;b%uHlEUP_^Z2lA2TII`+(n} zT08azgmF)ra!3%oy&O*sy9`ON>aSlhHVf_fIPsa{O;R)ViVd|G`56GhH)Or1U=hZiBr6*+(Bg zk1^x6nZ6lzl=@5lx`z3N@?{T&$|?);Jr&Y)Nn;FXBNNHgbOgVTn$xxzD8G!_3XDM( z-2vnDvtyB5eRn&$rLx*HOtJ%W2#7(AlyZDo`u%wZ^f)31XroQ6Vam@ih73QG za8r?3BvITdDV(BEs?y)2F>8q2Tm8CN;eT$oqYW>A`?*u~sXy z3DILm*s4hqEDh3_PB(alr+|8E0MKc1dtdf^xRw{ET``P#9%H7V z`F(i(Gsh(Ad@*9)9_>o^CMcsL3eM{DmQBD7{`5wGY80kLdEn2?oUnSA2+jaXrd9bF z0(jd30smZhl34DnuHDCvGey#Ss1FzVffcW2<0l)1D-GMa(n4@-Zq$OheX?(P^6$TjUAHJL;+wHAzj9FEc;MZS$!UxEh9zrzaKFb6Ta zUyl|0>HU#x{ZnV#%+6#?^6(CcH#k>-#B};t$Hf!!ruygT3BSe1R8#ko^##ASh^m~F z+rEk4GpxFh!M-dVL%6(Piz~NMDdIjMj5TF;G`@tfEKKQA_QYRZOp8JZ)hi%;jJ;5C zS4zRw`o(`fF`x%*oJg?71D0B$f_~YbI?Py@#bu^NI>ly&;n9}pXB z%Z{{IM-6Ru3EA3A+BfR2$`C5&Bo>Xr%@7Ft$6DWx?>krDtFK6)7~GuBLzLd-wBxqde&Z9pF?9)VK0dFA2_I+uX>lFp?`1fs^X@0T7^ z0;-E~6NXj*-`Df!`#$^Gw;(fj=EgrtO(L4-h8t5L_N+(}(5G{qj_!!rO4p4WL)g(c zdZG=Z_E0;vBDmW0P#^L8ncA{WcW>@H6s$8j<05kA9tJob z850!_bf=6lzZyKjlro^-u!O9@{sN-=E@N!z{v{`xytgerY=e~T)12RJ-WIs(w z3`l=v#-apgMSc7^b#)NNoxFu?ncKS`Dhv`J)%Ne!7J#M5AW4$}`@=oHm6~+M)9X(Z z9(KPAPI#G|29;w?kf^25Z$@&_qrE(>84Yx-0-r8+9+7~etaJr;At0M~8y&2E2A~iR z<})s)oC%R942LH{rX%j&(EYA-+4^)BzcF~4vw$w1pJuU5=Yr4=WO0b`t@Dbhb?^i4 zhzwefyMPuDG%Sxs`ITYcDI$Ce-=H)^BFVX<>KA_hB>DMP2$!?W3qYhAy(3eDXR_wn zYMz`faY_Vvc5zikZ|dHs>L@p=IItigMgn*}jYxEE=&oW>=e?|g{$Xi8f*@Rh{#%2duqw(TnqJM*?_TUs_w*$U2kmiJq?-`^Yj^J%bJmD=LJ(_hba&J@Fml$R4c-dKKAPg%7{%)PW={y~cAbH)-t4BPvN zCBU?68&dUUI)?oxq)N$rtU`=j7*Q?CdB$=;oB2{cN(|Pq{vpXu>IthMs$jT_dcV-) zAS5{oLY++_Y$qTsgK18h5L~eX#idipRE_*E?NnErEV?1Kz^$1!8P8gEN+?jJGoR*8HzyVUYl>});IMSE$pCC%9 z&0sQQiQJ=Wym%*UiGpP=@e2)^98#tv4RLUIA*9S|D&Y_APJ+MSv9j3?Dv3im^Wt9a zVF@fAIdk`>KM1zvN0rn!d>&M{V5oL!Tu)tmoy^vEF z9O>Nv{_h~LMik^p`36xZ{k7Ek%j@l$SM=)XV;RW#fRiZ{<~JU2mV+cQ@>>eOH^J?sY7$uP6XlVzK0P2TNZv;3)e!bB1watgb!tXYI($?e}jQMtW~t8-fR z5Jhh&nKKA6(=G}!?z_)7AWZ+PW4Pi!9tc{tURJL4fAe5OSJN=S zhWZ2fL#<#f@C1QJ&|KJz;yN%c(ELY+b83#;2uYM?Z@!w|3*j%WuUW|}vy1HzQv++h zAVY%xeaz}%KyHLCeV)l)1)3WNzB3x&lYPfRqjDfBdvRvNDnI!@2N8G|7e-RW7kG3s+;wpMI7@P%I{ey!g13n1*xtiG%njmkctlp z^@;$-bS1!40!_4Z1uOMYk|q2|aoX=o@>zNrt6!w{CWi!j-Lj@A9Kns8xl^TIIezG| zNrch{m(5}R9%|@k+ek&M)7{EkLF$zm<6g^)AP#F=(AJ>MA{e?}|X7Ab|{G zSnf7#f!Y#gaPvb?F!+5r1CasZX*1d{hDglcQp#zHC9{=sm;@Rzm}-Ff6QHbS)$*b8$R4PT zrscPTZ4XDYxO9=<0^yf_JM=3w_7URTFdFNG``A)ged)I3+3{3~jvt2>nYYu9h{d7+ zHD~Jj=`r2Gg#||XF_Y`27vK577ttmbSxBn^9E*e}{RL!9Os3uPDcw9NQCE1B3Hi}u z2vNPA#(taOLkLa^z1=GN%YW&fBQ6f0T!jD8J>A~EIvT(DHS@h)(VcUeyRjJ7X0ETv z0S8wQS1?s~ovoJ3ZX1C7RBoS_W=_CA+h>_|z)e3#G07G7Gwpl4XIoClKK>ax=!=4? zj|h?%MxZbX;Pb}^?ZGClQi#*{{_V3=-gLo}!hWN%-eqk05K}zGBbmvb@GiXE=oyMA zD4O;~m_kqBlK6|k*Q-R92@mgh;Y92XT7q;>-|hO7Ecb|gM*4mxb>h!Szf&&8FwLVU z%sU-wEezWD$Ql zv({V9PO-jKI&sa2e^M5k-7MglJ+3ANOL(re7Zuhnyh_zn>hK}WkQabJZUi^U-G=XYB7b{ zpLG3a?~*B&lrD>p#*$k(K5{QW$ya37$`y>xd{wbGP?fS5dEt^9sXNb7(%P1I#I2Ep z4*RUpn_!`HHA!3k;UZw#+oF9#pD8T8wN7!j%tbh z%OVJzB)2bVWUSbr7rbz@Z<0i8O)Qu*$u*@I)X4bw|L}eJ6E`n-@}LDr8%Pv(La${o ztQuJz+ z*gYtmRnJbWPsQ~}WXNC(Ce~MhQI`-N9s~lRr>`ZxS~W3lQ9AFACa%;`Ys4gd!=V_L zxt836g-Bq?$^`SUR3^Qhiv6nx^lw>GpMY)_l3~_rRB^##*#x!e2*)@H^(5yK)KE5q zpga0E^~7}nXHTmsk*D@k&CbERb_?`k16sHmO+V{japdk9P8vU4NC!2QW#>)<)82i$ zDstd5>K9WrlOx+m9KE;91_=Ph>g#jcFf}uXgg(`Arx}?f8A`2GLz|TxiQVwv z5zRL9FMs1J3|hHYSmYj%(sf;($f1mRE9o|k1rxV9+2D$`3~;^0?89$4Ui@Dgk12vi zh8!L=NnYJ(oQAduyM@ctuZqm&_LpN+Y3Y9&Y`*Q?dwXG992E8a9`M+HIt;q$lkPEf zyx{Id{*y@Pd?YK~{Uj37eA^_!8Kt}vzveOHj^oCmI_I>g$+iMQe-a6&e-&uzbj`xO z;8ETy@l<*b))dq+f)=$i8l2$5p5RQg;`?bc4ZZn)pp1QY!gRYgSdCAk=ixZu$)u-U zA0%lKzYBC<(LdP5CJiDG8}La!?Rwexn?}sBcFt{u2p+3(DBbS{;24Mcbt+WJ6c#oQXE<1Ssxh&(2cRA*qRFg{_sSwoY+Z!Qbcy-c0l6KcKLP^L` z)|@HQ4o**uZ!gs2RWSoQe_4x?F)kS(Rn{VlT96qX5t0lsK`{@D0PR-wP2+5Dy_w0i z0RDQ2H|c$xA$8e+)_x)eyGW$deb;?KY3zpnC^0bwJ?x2EgYoya#Ta_&ChL$x3Z(@d zCl#LX3J!D-1L)gEB%sN|vtbf@M<`ki#1J-04Ms~L5NUK-E&DpIRKGqRhRD7zx<$~g zqd$HLp{@^`V^?HO!HyB=HZ9>NdF1UfjM3gHYwm6%LO~hseoTn@V1bxn_8;K0E`xF2 z!2Mg(NZ!DsOOW#lpr4oTX6CV9kyid34~hX z-~1<{xZmoKLH{f$gZ{N40b28L7@+nb+O(sBahNc5?G=a_z+XrM=9-(C$`xXeWUZj` zb#tZYUh63--iwGa<$uFzE?Nx{>TK|UAJlPQ2sO-X;|RhMlCy{sW+2J!B*MxmJIn=C zTVm2{4X{m(h`}6|03Ys#B((!O+D{L6bVdIG{Go!>M9S9>FgPJmr-N|N*1!#Fs*@V4 z0}{g?Za~MB__Qz^LmIL#LIM?{Ti=-%q1R#sRTcbd8jJuxo}tyK7lgnDr9p4v2W#@( zBOWS_M&t+4i^Qxu0$-dO?5yx20WQxg#~ORL&F2UUD+Sxz8V%<>6&lwL7_L=&3!V*c8IEElW_8SBuEe0$fVm(-D=M#0_mt8M(Suc;W!<(yX zRHfU?j#iTsg1OP3t!Cun>x4T){;wPQvsG~;jq8T0dB9<(Hc_ZS_aKSj;4X+&8QzZ| zJgbawVH)u~m=o~R!AxrUw3lGB3<+-FUALblVUXhShV(0`PvVgn=Yoi2k_WV$Afc}+ zR`@k;;jlVynV=wP0cg>qOtL08`@N2rByA5Nop}-ngI_duX9A)sRBRQJKy3(kkU*}( z1B?G3kh_f=@BSdM;4XnOXB`15@Lk}3pU>;Y!>Ugg)5brNB8wyfX8#_P=YNBOrv0I^ z`Q-Z)0!3B7p=S3(b<$^vgx}*VEuh8@LJgKIP;q@&-A#yNUkb;mmEF4tO;hze4*tbVc61V}*tpAU#`lGJ?*s7+BGh)r$T3Aoocyyb{ws?5w0i#~o z66e3U)`kRJ9e*^~2maEywpTHaufGmoM;pFx%e{>APK|J^(T_IMKm99FHBGDD3TDmb zq?BsN19B3UkY;Ag)67D+_dj(Nhb zxg11p^ODO+5|wLIe<_kQ>c&$1?FoB+HQTfScKC}{(<3VX&_Hh8lTVflh;(mfr58BnoQP2;g~|Z1N9Kg@h9Ar&>+lG_nySHLgb#TM}=d)0A6z!{fZ(#BY&euI9fIiBoIr_{kL&2NQ>5>;IKVys7#EHvJ^EiH!8F@=47d+3U-KZ!)& zQ_phMg0sB=9Gk?sXa;9q%!1(1mjEFud%!fOQ;lh3-YT=<&s zSkWslIBU1qRjpgIX2q1%-m>9v@!L4p>|9n!uC{6vM4R6 z8QQ0kG_Hbz{DY|3O-@tyMf*ETm_@BqtWKl2z-luGkMZB?d4Ia5uOh_n@fX)JEDBxm zZ_tw(B@*y>?8Ol?1K7OLi39Okx(;dK6T*d%sN~6cIn3cXU;j zA7NCFURF$0miOZHOTS+a-g+U-+rT!L=x52-#!z%_LP+p)W-V7vbH9NX=;pS>XUPdR z`|5cBE*4kgS0@O=@V7NP5%X*z)E&u-{{USd_QmL#?^zmx=2+Hs6Le)f@39Eoqcv7v zj)AV{3B^7hy>J`NBp&A1k6+n0ud5;5mLi)j5RrecN^jmI73%d+2@INOm7Tng#Wj5V zgy2wNpguE-!P;J7I&}N)^7${f>FcfR>r4=;*QBUlg%>jmj%`B{5f@wzi+1*HoA-A_ z0_10}`>uVkU>Nd%;qj38b-gwCt2i#D9RK#nMZq6j_hj+^nfKqB#veoJcs0iSdP+-c&>$tqrSIL5_ z>V;2|ue=GBs)iGC&uv}~R!KAbR(Yc9+IF{{Ra`v6y8ba&ZvWc=3KHeXY}*0ZUpX6; zJR47)>gz$=p=NPGXo~4Z1Sn5545CoAnmIEhAl*O$MDqOcWBMSNs1DU#-iXWfZd<%A zFhsYF8AkpiPkxVIK2@Y&;o?$M(CA49btppD^mXh$wqj$H*B%imM7!Ith>AT-!OA`x(T zSLElda~c3&C}Z-Woiv+Pn<{#4hvgdoHNDqy3-Tzu3R;r}-L^h0?Z^ ziALakn@em+2-v|SETKB_u0oC3V8B3pkW821k+sy0YW2i<6p7@30r4Bb2g(GKn3*@J zM`F(KIbCkxF&GF;7C{7PEp1Qk9>)H<`?wp4mk)qi$$|Uzj;w1|0&%r$_iom^gzbB<@)MK&6my03%%MWC|u}jvqT}fCk}hZ$;=xcUmL=6v3>BAFvkDvr|mS zwxbFW4%ypHni1}Feb4YXnj0x$(iYAn>5me_@znAx)91<> z*f+crWmA3E8A4Nzp~z6yWiPmjZmh#i7NK9Ty7u?rKmM|mm14tZ2##mB1Z3jFT>^+x zz|YH^nzGqt{DLtAlIA{AQS`d%uNYO_`aqFI0oqRPjrXvq0zYA<9CT3M3(OeS&W8h& z@3DYjR@A4RNfiGRyGsW)pT@dQxwV}rw|87?4G{D5I185>nSN>49^wT_(e4HP$A*n% z(MtZ-tCJP;>3MGNwhJ?VJJ6DXx4iu%SOhuq-F~q@S4%r*@S-4 zPS)*R>fW@Mpl#RD%bpqq{(Xkb44uhTL`G*63zusZxR-xM<~2IrDqqOIRbfKrIlfh4 zA^uk}88`);398%hzv|{546#NPrJ0?>;&@FH&X?@F53QGE{J!XBq@;2+ zVWJt`b8zBcLmV4&kT11cnKH2)&ne^^`C~iQ=f=!%2xV4^vp9APK!Wu&xxQYb(>5yn zda>nsX^r0%w;u{w-V|pZjdFc}U`u>?@-#;P%Rw0;xgV1d%P+%}aE*?P>=|n)Q(tHC zPqE_Ttf&hB(cnE-<(qcpX)#8?<|hQ<<_oG94^Tha6^f<%+qWhxHv+vOBVmr(U1g;Sum^RMfEHwUa7rM%l^;>+pHu8K0FXOFC zQP{QcDPh3>O}R5X*WRqvo=j5oZdwH0X1h9=`bQmiu$It*;G!EIoypK>10cVAmK{Cl zPgJNTGE|b4%PG{$A+djPri9&{;Kn-bJ3GX6{`AugU!rVY%$Is)mz~042+`oXY`3;~ zH z_0_L_cV;qt;DrBMJ4Ix~2@(7#<#v@}!moydAwcfC4tf~@s;)#p{&IePivvKZeg-&x zieIxU5(DxD(BaTAm6=dQ^r(fhQS}fx|3$_`KT$pRw=x~`l|}S zXh1V8)K?-2Q~wOMP(;x^xnLy{6nt4e+EastK?30f;kg%b$^%sO+^<&1HE#mXH1;bkgduD+@llX7?5PXbY6mvKJ`JNm0r0OSggN7uE6-W#Gj-V5%=oWcF z>{PIP8Yo(aNin0Rnl7MsD#u{7d=e^Nm*#%ZF?spfLC9p}urNIv>S+r)qc~>GaH}90 zF_>xRHKk4(9^5NbL)F*`tLfUgCX7cwX+Q}g)Te|T*g*p9DhYO;2)#s#QYKBMkfxJI zS1zFI6xd;NjgJ31EQ}6~!8oM^6gnuYf>uggX@RSGgv>`H2#?)bcG^^;!Z#A-j7on6 z;nTL8RizLK#{~^qEd*zB=rEQOX(pltPESNTh!LNfc)^+_urJCAdP^+j5{5;9Bzg&b z!;2RgWF}wyw>z5Ex?nCM^Uoup_>G5DZ|QE=mA!g{nSw~A}F&2+{5piSH3UK^cOPFqjHWpc~^zt%IBf) zrFq!>D{f0Efs877FY`$&*W~73<$$_+DC?nW(+z^tA>xm{mf_S8ByN4MW+NnK2cy9D za|2HQfb|crRdSNp!jZtDeIv~+wOcBSXXzZ6zX;5?=3W1=D%F#PMZ6P2uQPA2%S$#IUF6kU})Q#r1dG( zXQz<$t)R@4d}e)N5#`+v0cD1MS%;XCN}zgYX5*Z`;h})ld`obEs=flZbIM{HB~wmq ztzm0P#0eD&O>+$_1hthQ+wmp~$DA;e&gzVw z$Qem}$^+7OqClmP9YJ>N2tPr@^?IhNg0%{I;R3X?)w8ir zsyRIU4pr%uH}Nm2QZ)m%cQ(Lqw`-_KFGj@o9tpGwL@EFNH?UXqNp!Ac7Z}YT*1fiy zdZ7cIvpIdws^fTJMkzX=b=Y#8P+q!6lz67+s{ig9>m%qI^TUpaH#cbJqh_(?%S1^V z^CzcOa+2*^@#{oZ3W;m9BJ>id)dzw-!$-VX zmbo+2PBsy}e63&UR`$@U-N>@=BE7|{0^!f^gcf;_q6fG`TL{T+!a}p&z$V@;|IVnU zzlXV&n&?l#JRe;YdWP(^Z6CLb=+8q1}!>qM*SC zF+hW#E%3~RZ*a{Ab!S3K!&kUZiqM;Cc7_|UnF2eb0z>s2$EalmXgX>C{Of}_@Pi2B z#eC%EnCWNODWAOv{9tZE$T@hbocSxew;pyF)B5 zqx6g~Kc>H3$D5f<_4F8LT;=>u*WF|fHoD%EZ3T+s_7@lJMewf>{d-rrJ8fCnzF2zI z%3}iWbc1sUdl$4=EVd_5CO69J!CWu$e)s3t^+xcJxcl!2c_MZfsnw8UAN{cm`+l^w zgTv#ru%{;ZYdW{Mv3UwJ|5(=@!Tm(=6g5JMIt@*&%HJ3zjo%fs3*%U5Im}d#Ch5#n zEap79zZphWA;z${53NKroVWZxCwD$q-!6I;S2LZz8;;wi=|)(r;h)-=Lr<0;0R(W0 zjts|JNR?LE%HlHLtq{%0=n0R43k!sIu_O|T_BOv#NK)5!bfy-UV7*v4TM9SR2)IsC z4b`Lca3}PGkGgqNsGes~4~?8xoRjGR%ZmhXHSY#82`Dj8c3!W)y#F-!P{=|{qB9mt zLXGc#2%ceTu1BC?UJpS{o5R3dk7q(R`8Iyo5XpJaH^%yz$4v=#sM>maGXk$~uh;}` zvPU?`Mu4PIi?t!NY_SA+!-JNVX!=j6*Yup=_{J=x zp)k=TZ(;gk1kL9PhS~ZRk;&N*o9xekAoVE)3bzJYnQva?STMJ!r030OQ#hB16m7KU zFI6?UZ1)D5d5Y6urkUz1WYjBk96eveh+!YN0YNdZV1X|PG`m$&2YefQTv7!oTJq8* z7LH;fjq?Pv$7GEuIm-d>35Bi2)FnH(TF*@eozeaq6Uc5sq z>_MGu%3j9Rdqt!r1qr`CohXf!r&}xsh2*n(ICjYULy2t}@jElFME1pTLo_tmw<0t& z@?6%;>^_frM9|*J-F~^lT+ie2FY}yB`nJ6&suQq=clF%Vf>^$QX(|UiRDBXcq}5q& zNM*Rc{cwlG>f`pQU4c$H%Q^Q|PuXL-z?)UGR@u_DyHU+3tp-+{fF$-ovjpE-MP!!P z{Y|@9XH>$kXdGCgkZswoCC*Rfr22w7O>~dFIvR(50P9wxE~uGTO_W=gHqzZ72kd$g zfqhU=7Zmgz8DjRPt4}_LdJ_G^{snu5u1!{dYmi}_f!4TwS35Clh8ft&@-Hasvns2Z zL>8^WB`i~eaD}oa+COwK`y26^iVNA7fIiLsm<)wn$Z* zlL#OLu{xu5>xiyzCZ0CGpf5x7K7oOZH?&<}m(4uahbGnk{9}i^ZKEkUF0h0vpmdY> zu+1f7TCVNK#UNDQ{0X@=ab%rYCKYf6mk_8)20h&P6SKGKYdZ)&;B@|xh$iQp2~c)x zj9I*eZd&rv%H7o200Kf;xJGVoZk#dfYir&ECHxcUjYtWwBS_bw!O>|5V!Q0g4wH0H zoNB}eux2b=4cSd~!#NLjIoc260OJL;rbp?3qai<8DGZWG!|v`qS$5tbG0MVk8)W$(CK7S@5eGhmcVIX0-w}Z<9^p4}r9gTXY24hjeT%<=L z#KS=kNHnzmp^(o{%>;4eSB2KwaDHU8lBME$X{(G3H8|Q5GHcLewYpUF8_mlOxApIX z9zGyq>*3LYMxk)jkJ34F0A2(x2oHkaTTxnuApC_twl!SdKfw1JyS;7&S3LhjE$;_Y zT}3NZ4nq{Hv*^M8o&>KFmAtJ#ZDs;T!;ku+vr*^aD`Qq}1ES%J7k@Yq&T@&bN>sW# z=kUeKz+1$^OH?Fgs-Vz`l1qQto0%clswv zx&5PDz8N{n?HR7`^gv}Ab$W4NsJzLzMp7Zxw6N68>-GfVwpqh*U!}$jyS(E4!zEu5 z{7&O(speqjy(-9U$8l$A~2YVULBEYop=tkv#1SqEw44X|(K zi`;xLqG^yfLNG&wlI>V;Q=>OsifG;dx}HPDI&&y?Wt5Y{p=_yJSxhivQot@5djFaa z3@F*)NWyXhhSsfG)RuTpGewYh6i|asmsn!}z+0cmkgcs>Ugxe4X3`mlgGC!8#_Zj< z&s+$tr;nfyVI|>@uk^o2{DZ+&-L@f9>u!4GF(&cqlxdC{70+er9~~VNxYhJYzW7-{ zlR6@v0;k4!JS5)!UMn7pj&J(#S6cS-6#*I|esxowZvdCvn**4jQcVt6?`^pQD3(3h zmv1wtf+EV2LQF=Pai7=}w~oR)8jbsZWQO#Ji}Y|lUU_GA>?&dSoC`_l=CzHjek+#_M!~z!AJ8p?qftksTca<6o8sCW(<0Eh&zJ7pBQmX`G9vblJ$P!DgF#Wx z+;BY~m29O+3rjsvL5uTM0bcYpW{uBd9xVz%2xcUk6o(cQySC?OpG0q zuV9coWp#4MEt_{O0B;?*Hn?_%&agiB8=_arJ&^IeV}AVix7E@nbTiZH|vGB>B4WEH$KFpqhcN}xbyrWmiHN*&` ztoaq-8#!XfuW@>kv(#ReGUR?@NmJc{leopoA(o?3WCjeS;nJ89+=BgVgo5;er7a#S z$IqjTiLXQ|tQzd^^Y)%1KZ!mSe!dFFG{264I{9GS(W#UDEIZBA9MQnYu&7A*pfGx1z^H0i*b)zpq7S56A_;>jpiQ%|~7Ra>YYY}8m=#4}-py(CtNVxcS1+{9k( zURU*W+rb3mL@rp+qML}&!zH`n-ouMIf z=cUO<-on{O84?w886RAXE6^vdV135CdmXRPL;W46)<=pbxG*4B5_)W%Wxyf@piReJ zprt@k;-ZfbV=qk4wHzy3t>A5JuzNmc9jqqJBF=a7pi=N|G48Tk;pWUxKBB^}T8Ddl zfM=>iN2&2M*Pj!#g$s*!Iv^CcHpyLS5L;fl(^yrO@*G<*pDM0$o-K<)3|KUu8U_`} z80P9@+9pWlta_ky)-+8%)tD#vmlumPj*j}d9TDx8YNiyx5fcx$jbj7l7IkT~ur1vw z?kllLYt^Zr;4%*c&}BWU#=6*K<{J?bR4qsNVwf+VJ;J6d&ZQk5ZLZoS?&i&((6aahD;z-&Y`JLp)QpDqBu_u0GD=aL@-`Wn8-Sp@U-UEWl+A+Tq5I7W?u82Fmt>)6_d`C zu?vwT`^(`L2%Q*>4zJ9kRw{)T>x9$)Sn8gyn~H9kgH#8a?{D%$fNMO?h^V^9K6LWT z>I{p!wPcgx&r9r1XOsiarb>T`Zg(o}%xuBF!VaJy8wrW+`PdC61zWdI&+i?zSmv~D z%@=YPXw5nm5Xz;Gowzj|1)BA8DcT+bK^i*=F0ISr-yxUn22tn0RCv%GI-PB#PXv`m!C?JOOW;Q(!kL9AqH0TQv5?k6 zfQlj{wxbu2z=g)6qt`sAqn9|Ri>0(1iL(B)`?zl_66tX(={-ZrkO56r23c11j%;bb zpj-C)rNGJnblxGM-bHe{FEkxw`BnLh2{8a#|K zDbCOQ#$11HcQ7$F?B!pd;A6Y>(bcbNBC8ZQsPK!Mlb!`Gra32dW|5vusv;{a1~|t4 z<(2S{LbYKuJB;$IxpyM8?h>kk-#92u2^#21^wz?=Hy(Sco+ro`cjEqPuBv`_y7VQw zxI&hG%eBd!Uf|GzHD7Tema7IZJ=4|}AyS{eZG{Eh(ArQ@;7rsNNvfy_IwMoqKnwkv zapXEYZS6RIY)aMeh1Gp2rBbpsFCXi+S6@)LF-*tyJtHj2oINTL7hogx%dxO}k)4r! zIGTqW6Twy^(zPH`HrtA}^Y)M4S%4xzbr@*sOh2W=)Y=&#^2Xm-DDzOe?FF;Yx{;7#|MA#FxG-ocktY*)OPy7DwYKHVhebBVo(_L}q zdIX*{aF;vV3MUr<-k!%H#EG2(^5*ehC$hHXJS(6YgGSuly5aCtjx2&ZgXGF2u`Nk* zA3iZ8MhA>TF@)AJj6)HW?v`LB70)e6fX?5C46>e*VG43KY9B3Dg0uHV=3bg_(l#gM zFqb}MGBEgrk3Le}gKSI?|4R&D6K9}WdL}&7YT*tb@rSl9R4PA-#kcw$RXTyg7Y>Eb;@q``K?aR!H}M;5zIncMcL;&;rHDg+s0LVWqQ!=WM*U3*O9mXtH19G zJFfN2$+Z~Bp*_9~57oLpQ#-rpBdn`xq+t%xw7 zaLhz-W9#$ZqPGIEKx{^r%CS>xciE8Zz^3O~>@!fmPL~XUjgPa zFm_Om#{j9x9`$PiR8wgn<&)nsA2GYHO-dPYzUV*MHXxZGc4S13_e8}j%5DVbnETSG zRQM{PM@0)KuqoRRt}6{x--rrD%O(_A1lIugLC%w%2n|yPu;mT~wd1K3$r557-MIxM z#zXE9%~G8#AU@h7q_USLmX2DXGr8vrsYPGFUdWi1J%vfQ* zesq2-6y0Lm0GB5ls-M&dyYad`7jTkGuroSB4gewaHkp^OxE)m`DhOQDM4)MxiNZ!T zJPIaDhI{&e|v)oA}y--|6m2g4&-L-vG ztd#b=t{?nk7g4_=^;3Pnu=W_W(xX%(f_oS;*6aA3+{Ju*13hz!T`ngbtg2GzbrLc` zevvOKiYV}Xl5|Ty1Y^pqhO5hp3J<#frj<4w#W&%nzdQ_e5!4NY`7- zMNkD`CUdBV$Rz}YU0CMsyM>7FPqUA?xgC@JtJ8V>FXA@4sWhAMa9_?(w;+>S|f*a zkY_Zd3rhc8l9Fzhl3x2YXF;whPiRDMF3k7`@V%+eG_D^shYv$kixxsw5l+!O8tVZ> z57KWeAb8XmG-(c&GP|vknXj+9XC*LZKNTlPcuo&wJ4>MSk8~hx4dDanGz#ZflvOMTHk_vz5AinXb zF}uir>;kg{bMVj6SIm^TZZ%R2QjM;^rG~6vc=2NVj{re+nPcv9I4^%iNTrWH^^@(T z-#wDq;LQa@gPL}Jh6?fp3x+lH*3%8rWz;8Sf|LcM3?nAxZ6M*k+@7q4RFt};XR=sS zqyrDbhd9t~hDh;xs%^iREet<+{20WCl`;5fDBRP`^Ikht01- zb`Z`wy+2lTUqLJHOvHOS>%XU%XhoPQNJvI6#Gk59s)?7d>X7b7jp*{D=knpLzAKK+ z-s>eLxaf`>%T|~=1F5d5napl$_cb*MNAh)h)7sTVAS%LhrZB3DeOE3-llHRcEAy%Z z*<2iL!)C3yfn(YAgK@$=ImBGCDKxWN6 ztTiTfXa&eYOYr{CDO{I)7EU+gn~C|;q|O98p*<$B@o>F>rb|B&j`GINqz;U>jn(2u zxdt~0bOv5sRtJ$#Xj4wEQpjuG+$rEXxnik#inU~^WDlWMt6Tx3Yp#Pj?>`_lws0cd zvmkVAJivS1FX$KC`>WHh?i12C9(Qf-~X3S%I9@pzPnY}(9dX^56%A~UX zZDWV7Pk#O>g3m(?1n@w`p_}Sf{So^9!|lxdd~4kWCMtcd%+f^x=yte(h>Qv_%c+bQ zANVv&x6dFD9$>r|JQ`gMSHEA<*Yp&w{N;s6rFP*nqatvbPT!z^%e^2DZd}+jFpG-V z2NNKp75%Pc&sVudzjMr$I;|IY4Qf{j?SAB=pNPFtC5v5CBE%SQ``5ONFSkbiEx-o% zoE$G<6bfd6MB-gm6}Q&&7~P$$JFldzmu4LCs;H0~HhM1cAhyrFuM6g{vPSR$wFddV zdZ;1*;rqSvQkKlSv}th9^42q2mVsV7xXZ>B<1tX%34T0DF^J#i)u`$b2-+EH}Hgidr zyZ8F;;FmPTd7zCE57iePD&_s{OhMQ2YH?*%+KsoB^i|SR>@dkhQ9Z zkK_JS2#(>z`ThjH(CXh)V6_7;^n){}Z6PBK2gGT97KgNH40l&s-Pe_~S$YA!3JXw$pkftfJ z!7ii*h+Po>D_%dvU2iM^-uPuBds)-fPFF=q{V>*PBi`CB`mjtVJcIGqCs`F{GSHjK z_UbPs!|L(W69u4$dRk~>=ea+ci^Z#+8NnwRV@90IB+2uW5$s@h^}2Gqed2y57Zz11*^*2X zrzNMI(0z%75psckyYbn;*7$S{B>AXJ0g}6u(4&*|bu!Yn^jW-?m>Ah&H(hzjl3+%O zOKL+IdvKn#>~d##1&XGV?J68b=0uUa306xJ0juSVQ5IoIl4~B4R=P;4_XzSOiY9nX z?QJ7Kl;bhNHZz>OULEn6%&m?p=UV_R8Nxl1<#{(QLfe%Bpw;yLYrf`E=lamQu>TI? zsDH_d8||0^C(0iYYSd?aLeT72Fe)Jgn%Ao7`+t5xs3}FuS-SMVQCy%&^{Ny8z(R`N zrM!Wgz~mR+6v~*fFX2*ulk+kq?HoAkK85kqAJvwqE_qbS{DtYh*9pjX$ zaLW>FcxRGgL{H4{fhk1~k-^UFnj_hH1=MxIF@Bxy6~y}x?at1Uiu)2eIh6ogS@s*g znvu(^YmsC(dUmwz)9dGHJKNbYYIx-GQGD1^q!|aunbzp+Yt;NkFmQa7?STNch}e@E zcRcIt$2iEt&<TGBf(BJhs?i)U~i~TyFck7gA^Fuk1^!V$%Py(*tP z$jkmj>6*oWgbx0O00q2rY(NRqJiU!s8hA7CgPh8Rqvd5rK(sXoU2gr;%hJ=byLN_$ z54jF=mT4W-^>T~e6Q_^-zi5P^?Ej$=mVd6%BR@1U|FVDa%&BLS6(|yH7}uBgKWU`B z4or4~LDuEW!udrKy+v_9hlxSNR&4`)um$|qPC|^W0u zeS&qMLY3C8xpHGXAvj=3cf?aG!QI33-IgBWNoejo@R!Ta8bDF&M%aY?BkD@N-x@$Q z6&39kTEP~P02IB=j7S=wrQO)5_{x7jD*z|jew)Lgu8D)7il|Eoy4Vhm++6gu7=jRn zyZVhon}^d{$#kucKn;Rz+3@zS+0p?;{t`QD{SDa2IAieG+L#Msxaj)~Pj+NS)SyF; z&CwJz@X()uBp+it_FTKl%#Lw48a>|r(`5+X-b#qjPuHhCB}x};1?A0JmimWvW3WV& z1I{rJc`w||A4Mi0&HzvP7=%XLdko`P7(6~dG@@45R<5SEA3i)y*wRaw!V+7!!%}m-&}Ot= zTf3NnHmX!wM^(n1+WmA4&0$mz)5Vw1h%W4j9LN~EDHDbnzK@yxd!T?iJBZMneIK)k zI~oOzeexp(%i@c71O-iELDoCH& z4bWy;^!0Pwf#sK_@oFO1oZ}n4h=mv&DX>hRpYq`wG(9}K#S6g(<-ordY!ak*mgwZD z*EgFPjS%+oIT#`?s&+(9r{;)C8iRF}%vO-v&~S_Rn%YI1ESX?uFd1%mbRg6>rrEr9 zfyOqTM;OJ#J^)>!B4q30)mp?PcQ^y>oFXhe0I3F!MYyuZUMAqh|7Z;`7%k|&Xg%H! z%Zz#l3`8$!cEl~FeS$eInzBt;#46tp4LF`x7d6Bwf9oPGJN~v=`9Lh) zi-fP@i18aN&D{w_CA06}#wvBv)XhDhL_Z9J!z9^PnI4(GR~#;9p}E+PA8k0%sdm@(S7yP3Uc>G*0kiPmxVU_U!y9&1Ru(vCYDdE`*0#u?r{;RVdJ;m>FUS>JU53tx$Rz~{Ungfq3##nCiWZf1&c@s!u(tL|X zu5kO217>?r5!rlR>?pIIQ*G-LJCCGu2zK6+!<-;j zOSX9TLzWvcy}iwcPYbW=I_4t9-*mIHA@K=MBSk!FYPT{NJl8;KWXj-^1Ua7CN-3F zlzs{M!W!jZ?K1y2!|Wkc|9>zHQ^WtsFni1YG0d*j|H3dqZifHw3{zmJ`Tv_?Omjc% zZ}hMAvT!aF;!Lap`2NvseQ_k=QYNQ9Scw$kL#rVP zR!5rGZ9HZ@F5-rRZtjAM4R2#98ULwpEF1k)nhrqft+g0gN0Uh~fLkiFIA68#TIlIl z=Fb7a6?E^3WYe}aWwXX*Q7P|~c9$p~T6D@*hz$6_FepPBxMHgn$WhUhC)9TZAsP;n ztMn9#TaGK={UoZ;5RG~Xq3(?l3)g-pqQ$XJN-WyJ=J^FatCHe5%~2%^=7@GSz6_D3 z&3u#;m8tquO&kFxpmi|8F;aqd0?78@$0cm_@a;CGuL?@!!{9+rWfA#{f`y1dp9QF9 z!%zzy_&`Q2(|M^5+Wcsau#Rx3-x{z;wYklfi!}`lnf9NJ;mFEt88uhiNfE;&F!@K$ zk<}pCa%~c0@SG$EK%hRLr|EnkU+_>zop;|Bu7UeVB(#?%S{6MmP&v&@fFNTsKu|Vm z@qOZHJxe4__Md2qh7D%wTQ~by=Bta-AX5b#OaPl(4SYWiTo-7Q!P$92hOvs;}tPuNAu4d%d>~{ymJYpf(MY+0d5& zwK8pUU)QC*;jRQ@L$>E86}G1%);3%ydtUjca?{SipwX-pYWjTdF$9d!7x_e;`srYKsM?Eu0XyQ zi3CEk0TkD=caxt@Ci^}gJ9Fv|1yZX?kP~5Fddk|JZ-0r@KGJpo80vw_Il`CA4Qyp3 zx`#>QbN`e!?F7xgWk1yC%2ji)uY-|IJwlE}rhDaWDa0=+OW9Jx#)jFFx!Wi|@Be&6 z3JM2vSX=XPS6#eb@*P0D#bKAR@uKW}aWV*edXh!>E!ro@cSq)Bh2S}FX72Y;<{ zcLGpA>&{Ce(?W>e`E!J_ZBjaOdJ-meI?6aw=V?FFu&l=eyS_uuM=917szqKMr7TQ0 zeF!A-l9UOU)ivMhEUKay33*s_WS6uU2ZL-|uc&tj_HKU|(eF7F<|2))s#C(kZm=Wn zXCtDen&rII4H>DST!NB_jlF`M@?NpNH*tM?A!T0^d-16RBcywG; zS`AkV+}^O6O1Q&?nz*sLlT_V3RRy3qaRd@Gw4SI%OF^3!y<8kA_cr81%9>BVnRiGW zSPUoiAKbXypvl_XD^V1FRZ|#yleVY9WAG;LI#3}^sJGG zM1=IzO8c(Cb%0aVG?i~qAQL3y#Sr~> z40!3dnKcktS3XH_2|k~y*1wY9hcnb%kD~=`QQgnT9qobe7h#LmP3a-M~}S&_^a!mz6`} zg4n*EM0XWj+8|20x@o*j)g=BWmOgXnTcm%d-bZIepT#qMI(b-^*L8k#`x`YCd~N?q zQ@1*ngf40sg7rDuLf~j-*n$k-%KH1&CAwQZ(;fkgUZL&UXAQ8kalzI#RV13NU2mmE ztVsNu`s5x@&+73p%Gp5w!m#R5@T!W9dQE&!kl4c{{Og!4amRniGZ#i3%^u|x3b2{r zcXBq#=hQLojA-W|OWx=guo=9oL$S5lUvgZJ5q_9}kA|%Fb=f7yT@mudrOf_#JmvnY zY`;sJ~5~?w`g3Z9Umg-GN`Z5^V8)!0mzRP;$B78RT$= zVIywn4$Wk3`SBp%Y1u<6=LakH$^E6YRx;oS9s^^~T{1azVyt7c_CvI|uKgtSjjde* z_01*3{|bZ7Nw@X@+Bg5Vy7R(O9E4r^ch{GzWY>GgrP~ zjg_W_zLPCN9S#6RTCY`f=Da|T!wqJ(v-7=|_xijNahy>A8u4;!M8*sp;0YI<2?HF?OycLZD^5v%DCX{x?*L_h;E@N_TEw%f0{#j2WBU)aVtiF)B!+_g6m^_5W;k z{_C%)>%aQ={#A3;Z~4MOc2AUJTWQYRkUVn`emqI^WgCio#ntOJ)QDEi1TXQ@h3Z-@ z)t^LFL;66W)N7iFPwGeSR?uMG&HO;Cr)!3ManMA$lWM0Ju3~$3;Ct%kq$&cOC}}ji zM#3Fu+)|S$A;2W*vaE}KYfruJyL!+}oKr0@_8#C|D50AQ)#p*Zx^SeEfLERmR|xNOAvA&Zq?igcy>7q5Xdq#&|vwkPS^MshmodK)3BqKMVYD}@o>iK?!-$5kS)Y>xY?%aNhXN>9g^d}OV)yEn5R}msK2oh^3N8kv%hUI)H){h zSMHn0$2iye<%Q77)k0$Geejlka;_7DZO@Ka`uB<(?9e_XDkkTX-@rT4Lq_a&N=pZZ zWh!;2o8C~K{-$ms(J9+O z*!WMd0!>{NTmB!xGA2DJPuxvE2$KEZ@v7x}7t^?+1wxI9yNXQV5*_wmp>Uc}1fOy$ zL58q5A(MKqBfjXU7JM0yYLr<`Jd!{%^8t zx%GeAo^^vjjg($Ln57i ze1}&d((qly(;Y1xlBCW|9{p_|ft``>P~k6UvfLvPzDeR4LsqjMA;bvIlv$^rODcSm zs(gcgLd9Gcz5GbMIaQMxiIR4lN+q4hLkP4H*J}uHyhKGjW8H>eJeZO3K%l86(R5O& z%V?fUzzILM@zjGcjEx%zCORFVEK(2?tmu*WhWrSI1@#XZ{+lfF%$^!9)oU&~0%L8D zK1G!Z+x=qmA)abf@N)jaHBp*$$^4(mAuL5?7$SwZG7$>h(ewk5PC}{wF+rrK(HqDe zNR^c@qRw*H=mZtu*DRVF*qdlPk4PKtm+sVzh9g7DsDn)s4uud&sl{fh$2ep~V?ry< zDMW2Kv}oapY=i}_N(CvF#KE_z)Uj5!FihbrXv^@RS#@i@FSwG`h(a+Pr5TxO0sb5f znvX>dk6M%Au8<+gIpZUBre(&iaO5jGLi44{LtUA_(X##MUEwY2k{5Y8?y#;^(dO#y zY8?-!yY+l<-;*0~FT6wmVFaA3D35S%)Rsv1r}BPNiS4GbZ4*NUrf{B21WZV)DEG(@ zP)BrC0W?I#BDOi2MKzru22{6%HH`Ax^!+BvV-+h5kc8`CYi)q8<9`vOpWWtvwd07}6L)$iyJ`>!n6BT& zBq_^Xv8%Px%2}iPInB*s2LrkT@ZtR3)k()qK(YE|9#tfh&9;9REKNu;5(hcHem|kv z34n7+1oR~CAQicPMGf6zk-!h8d+`-}!KHXf7QcxQs8ABY($-f9iMtjN%rmor7RT-X zb%=f&$uqcF&qGms*WW3RbY932ats{ei|wt;Bs*!s>^4V{SP~9?ErUI(Jboo2R#*vp zkAN_U`@P00wen?C7`xdPuOIu|0YvK5j%8KAs6WZW5{+1pjBxrD;Edr}f++Y7&3g5M zWQap|uiyKxd$4G=Q#XwFa8@4b9cJtmL||qzN`Rhq^#W#I>(Tip9uD|Y5r_6~u>~d& zyaH7}Zg4?3sDmH!RJNNsFmNFBbA`O;FzLfSL(lTnwRRqY-T7cm&&55YNOvipk$)*;Kz{;@Rbc zc$Rl%uW`gP>h)}lFd^oS4dH53brUa5Om0G;>3qv`3;i1A)BP3r4e{v})p2#8^aOHn zx(M^)7_~0?cns7`W{+mj=<(aH(e~E^e;jR$a+OogyH2w)a@@Gf}~#Fr?5yhsPlL*5!o?(*I5QI!CM(}RGtuJx8HO_d5|RFyOpQV` zllP_y&t!F1P{EuFLg)DyvhcjTjc)r0)SVNz4@BxMwd|ERc)Ya!-10%wLBeXh7EKA5 zYsZv6k!Ef@MM4~vxi!)EMIFp#aUW`1%VoV=?zG)~~FFFg)kscN@XMf;=U14`i7XeZ$km3>tKXnsGqrgwg zBF=lMV&v>)<8B(U>P%ry6Fv^}L3BicB3mz*5glntYPV&zBUFSdt(q6%lwKAcPfR$NKr`mWyVea#1TBC4S3)PkOI2_Hv9%) zt<6@B#WHNOu~-Hzfxa9Z7h>|!CDAf1gQFqPH-*{@+{AUD>9*B1$jNOdTakO$8FbB0 z!{cp^#HsqRI=YEu>uiH)h@UHqs48vQt+8dd#+Kb0T5|k8#OYoBAma3{d^}lmCuKxQ z8yEvZF`NCxyB+x;R=JkkP7LF{&mP82G=kwtF^~3DBH*~a6cGV%VDCaXnLWSzS$lU7 z32^GV{gW1sQVW~k6YqP-lK_$(zML6&aL22RP@B&q^w|Tu!w<4_125DE!8{D1GAy5! z(=lI{Fi$QUiL^>_}{*&S0uOLBI0 zhEVwfo0Ev?&cMp-1TEHc2jt`B>lk`k3n)Eu-Q_`)%L`L1x;Xn6I+TmEe}qs4++sPg z3_>UB(;##T1GcN=(LtR?1&0pO@(3xg6R*|ha7C{mk6jQqDvM}*U%_vb6RTxJvFi$c zq40a(IH1=XQ?7g~p9C-W2I@3nNbu$!iIP|>A_8ej-2^UF>IQP5QW?WhQ(fqClk%GC z`t1IMI<87Jf9aR~sD7C;(glyCj45RR6nB+2S4MUqU1W*UMdkZzS}Of0kJ7AE%6U41 z*`yR`SfZ>eJdY8=SV{qRM=5KmE(cGMoK$xYDC(e^W-%D4(xnNWi>anjI;EP{4}>DA zse#ZvCFDR&jjZgWnS;uVtUn{m@BP}#G>AS*kDia>#=SqUlemL49SQ~OVCIYBt@@AEOHOpA?v6>YO=2p$Bbdhjs)}#S@Q8NzWtISmEA7h>= zGX(kqOfh9fCBKMpsm!?GBN3NM&+kPTmud!Lm703I3m$B#W-xU^EyqN<)trYXt9kwx zzbkOh^YSHR!jk5X<|X7>8wQt9s(Qa%J`rdm@5NuHegex*86tmx)t zvZr2WY)q3*-^m_QZ%a?{YK)?{nQXrg%Jn@GocsvBOtrQ#lcuS^uS>iBkuoOMvpCK5 z{T*!B%a6<}er8@RY=&bSw3(`f=>RaHmF*(Y)ql__(2dcL0ko=xwg8i%c@;nU=#J`J zKkjk!DmFzU!sh`^k!5Z`6i*nMasV|es=DMfNvcNTh?YSBC?j#L>jg#?H+YGFd9 zr-zKIh3RAXGK!j7*k~jbkc(QF@FXQ>+51IRkH)>Lg^2}5pdWPkMi7IVLWVt3P;?2L zsU!>x!qdRQgaRds-UMn7Mq+?)FqaaBefM)>Jg-J+k&;osn)ml+x6{`ZFK40_5l_wz z`Kl#XJzQE3-yID-2j4gM>B-9_k>r5o8R-`Qqpc$S!BtCY``VgNjlnwiB0R}TaO5bw zp*U~bEUg#+m+&q$uYtZ)OH(>{ML4%wTAy?m%$Zu6u9?RGG}Y1=em|^1%`ULV(sf*c z5()dCYlvIn<^IA>nk6iN%J89sYTo7?b<=N(EpME0`TlM>7ILY0y&lC2_NXO?e-Rw{ zOQ?)nD7XdoI~w-Oxo@9JZXxFuN^YU%7C7a2G38Xl#LOIoXFng?a50N57O_QM{YlK4 z$eM^uOp3XTeC0fkEtdRu&g;mU6-%WTBT^Bf6;S3W3)f>ew~gIgPKHsm+`eq1w{;P_ zt&7-gU2uDJ!R^rnyGIw%yU9gHV#z($OYX6@8g5JCC$$Q0RDC(GO;@#EN#fkhQ$4X% zvNE#sPrxkAQqgTT?A#PEC1$KG4NQra>HK^chk{INqFoI@ts7#siO@=EvGu9E2_>4{ z0-K)Zx6sa}#ZBPR@+R(R_52uXJ$&~y6w@X}6q%X#dqsS<;ozpk1Tpi8sk2nGd$UxH z15BKyYJB6}p;S}r2OrH&6;bWGDe#+=&Y5QP^6FV#{&JWND#yT^W=t|6Eh~aGOHg8#BA~1c4zVw0MOCK!pYYc^Yp2aXSdiwTDxf=7&<7(K_8bP(0 zSIGdY_0a2c@pW{^?3XaM0R)o3B8sPG7+Z*C`kX|;1e|6Z_U^Po<5*JSHi|OFA)CX) zMNXLPIwl@D2L_*zo@{%AKOs!Ht@O0L!JiOr!6wDJ+cpA5*XGXv%xRy2Dbw}iFx0K-SfvQLS| zA~OJZN6L09iYSq<k9MI4{NZ92QCv@df3oJ z=^|oI7hHdo?ua{lyCsE787*58@`}n~d3(VHq-F@H^)rxwVhszbIL%O^G=n4zHHtO7 zLy(#FX&djW-5IjaDg@~+8Zvx-6cRo3o4~VD*sNJ@HRVCj4AB_u^w zL`RpAXl`i_^SO7bzP5A;+w8=!2`mWG^*Qk{4St^9I2OoC>VFkfsWT|AE=9>hQJ2o> zQHHCIfQ^>G=!IwQl}Hl=x=N1`2hr4VIxs|2$BDzM;&GfxjKvP3q*e7WVx(=z4=$-m zgxa{`dfZncGTx)d1^$Hih7}j)uC%G1`vol*=awko)&DAS@!gtJ(@5#Xy%I#7IdNsi zpyym|uR=vW{jUl|Fnx7D2wcLhofUVkUpWI$z+_g=!q>#2Gw>PBp?}|yABHC+v5$pX zud}hB>~-E-74j<+gu$+v-(+1S083pnf#SM(Ji2)u3nJMmq_vSmO!h^HHw8p?B%JqBFIjSOy>LB>saSM26S6TXX~ zxe?H`<`kd7TnKJOEx@;8oh-k|v0-A^P4f`m4?C5)iAAg%W2#e9{@HNBFQxkpbLrapk5r%O46agmra>IVV<|2x&!Et-b^jsxx%=1Jvr%@7Hrxw|ScI(`}Im z4tiVCR-v~q~lM2)@)C~XWncfqVdKY3RW^6}vEm|(mcEWd|j_%;@CZ@GwjYtpv& zmUZ1m0_d%=)?Y)T*=qCrc~WTGSnRuXv2Q_`NoQiI)h5Eu+uZ~v-QBPLz)${AoX>p86JyU`1?ygBfoNLF$(mNYV6WSd+V}rjEW3r3b+npi4 zq@h*0OGNQ}7c=WSXV!DVG&{3i601!FGqx8zM7?uK6oqB4Ep`!v+njmvV{gJXBd`Mn z3fk+*h&qN!ml)1xjTW}9`yz&8-A7@o`|2e)VEdX6-S$n|oZ@{f?%Z>6=ia0b9;nf~ z=duNRk+ZgXZ>`hgP=Wos@8+zdN?mHJ6fh8X}#{I!4g=R7P zVG+V781mq7UTd`OaqokBMBozw9}x55l0mEkO!V!oi;PE&RA_mU2go|8p?tp7M8`q(5$_&i2rB#&IY zb~J`J5enu}3_yR5Hio0ALdVW*-^ds^a)H+ov|viY?$zAKoVg5JH&2$iITO3@{)w+U zLVei3iD&;#)-XzcAw8Vtsdx<#(5bv56!KI(8|e6C3~5dx2w+U@EFE~Qd#PQR*HG;n zRSU7aO&xf_Q}Y}=#FLiWNfC#5(!t8ZXox4BjwB!iCy~X-$ER-dX?KxP?&4(q!ENxm zQ!J1^fr0qlgt%lk5ML0hZXQ0&FrEcRS366N*mBNHpc&@a&iX7)A-E>c5K9;yB5Na= z#^gP=LwsfjS_H>y4T!E`EaU@R;o;9y0YWWspxZq2WI9|aYDCx9Sr0yyzVY`AnIw#x z42)Z!yYhKzt_JC9^hjrg%oLr=*I@LVtEWN#p6dsLf6vVwfj?*MtI`3|orQ?OLeHHA z(tbcve&DRzj0q2O7CF08uq!3I;(S9!tUA|F5v$HMgn8b}#|>DY=0E?f>vZ{k{h7pz zzOR2Q>5s^fDAG&!NYDI0j(W6A$++G7<|DA&_FZls5Y|pW^~n87m;7l7@|QwidMtwK zJZ}aZZ$%x?BzTtu@5;dInSGtp1R;}J$TXO&mLSKRk1~)4!5vElo~;vDawVoA6W86l zXwTM!5las4TMh0MtOwSt4zk~lg*~6_4@c6IuJsgjs`$wmtCN5m<1{A5&%0ia?DcCz2hyYlW`v(5WQO

9Z@;KNQ9LPH`dYp$O!HbL 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

9#fWEZi~fxAQ{Mr@09rzjL$W@czW~d+1Hs0FP$t zTzv|P9t)ru8Dh06Rz5f{NWLyhBpQds`>XwgP38Ft6i(!c>ibC18?W~R0Q<|ZzVVWX z2)XVa0+JMjar@3o!v>=$g!sqE2NWHK1f4n}+yghG(41H}U_Z?cT9mpE_C8<4$qqS_ z3JyV_+C{~Ye4qv2QGD@$UCR0KfX{N+ZI{KnSi)U*ZRk?@9$#mMO-RRG0&I7{r0?F0 zGnrTq)H>hGga-4x&Qkvs>x(NGCc?|>QGl@XRqq$qeAtbi`{2kY`vyX`S%o*+e%8f@O}uc?9KUc=Kl}ve>MyM`?(t8 z$*GjTYY?W7wIfVk6Yp3(Tr=#ok|Y0ok#vm$z59LF=~0HzY$Wp{BipSAdh3wTDa`LX ztwoJ*eq8Vps*CsLpUqu9m}G8_9KECH2v4}bvd{9fGOCI_yBt zJ8ew>H_PX%GQAfmhRezuQ=4XKljV#h2$K;jeNQXI1?-eSKmF0QV9J6^AvEYldVHh1 z)10vTN-()VT*LzYlZJ{$E$>h)6&5Cw5iA|?4+F$YTRWCMJ)JP&G=H%QRKB3@GW(=5 zoIS7oFo^$k;jlXm?&!3DObB*hozvdQ~b`p4oYlP?76X9jL@ z7`+bo)*`bTE4zok#(g2{8TRW1ElmaSKo^<&ZwS4)%ZqFx3QeYq7~2yXv%qG+Z~c5V z2OUL&0CePkGDSW^v*V4Pd#Lk!qkY8i@j zburpI;aKN%lEQb>pf@t`8z6jKULLA5nbxK^nLaH+%MTB{iGiOGECq8O zZA&YJFROP5hlk?m;sK++!X-z;&$6}1lOjPmW!)G|Kq{Zc)o|MH*C(;ON0dc# a+ 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%0AX*(;z9~>`?X<%ag zNuPE}ZusdXO6VFoU7``f1o)3rx_@7KCST!i4^M5BTwkBgw@j5(XS8Q@;v5+eqwM;hYUW1QI%+$;C$A#jo=*BStD$dElS#yP8fKjLXpEWrF)y1Kog( z4-HjpRg8gF7`D}`YH2$2nffrQCSjAU$@x@$8F%0+vii1eU^JO5?)(JBlqqQ-t#Wl1 z4P_dwkZc@~KhtokP3aIzQ?drR3gysvRvpH?suOE{i=447fK(-oKXxS^NMWSLzM7NVM6JL@d8pT43BPrp>*f&Ur&n8Ob6yd1-;Pe=(deA)mUmT4`me!4s_OO8t1|d^U(k4 z3!Dzdbr2`8TmW5iV>*1OwFK1oruyY@adbOYIWwM#pEZzVpw~)nZp_X`-U8njAcfP{ za#pZ$rnjzAO5bhuqv?A1#G73Zemh&+?Xp*%R@tjh%WT(B2%uy>FZ`tSM8xs(t?L9= zp20O|uuh9M1~(jumS!oK+mG^Q*#o?O4Ra17Iy6e!G>b>st6p5&i~x4^#So)4ZU+I1 z!kXf3{WcFSNShC@NbXe-4I>|gzb8M(7i>N$<+<1UMw^3uQ$$X!*j&Pgx2=j?01{Gs`Pkas^@lli%=N)| zzRc=aDgy_04YNE8oWGYvo_8Ne87{eP>dB`8;*%dBjz)<^@CO5)AcdZ*0xy9XX5pNM z30uN>wlP~6Ja*?0xl<10W8$%a-74gJ8pQi?_Cv0$Np=w(_XkSeAPTz}tbSZ8{)qo5 z32%rdEY-&`?K0M`?_(l}3N#-*f$Lrzmm#=9*;`dGFzt26E zoA<|9KEn+#VRRZhFulaTZQ~QkFgA(g2zkCrjU74)D|5yi;;`-GHD}cOz7)g-ulM*T zA`FN&gy?5ql59@eRYNqUrlcRgsgxHzFIP3z@+6t5`|(R{TJ=!aR^u19Pd4J!2FtEK zz^`_wYYRV(WxcGxVBE1(I}PG;rH$mQVHl<;=J;}F z<)<+G zRKTWK;k8qeCe5ZxaKR6$ zeUvc_w5RM6%9tX;#+1aQae^cp0TnGK#taW-5n;xriAyk{L8--=@Nk51OblzhX(UYu zN_LP;b%lK=)d&#gkq8ID2PtZek4Jbb6^D>Zc#)}wAP*G)3%x-Lj6fn9&R`OWzy$)6 zm9YPzA{2Fb5{IA+#tsy-_g=+MvRml2S`yGoE4Y?2TcMwSc91DE0$X(kV0K9)Jb!Mv6wF+DtUfB()N zyVgbZOy1zm?D=owX7=``Zqdm5jz~w7N`CdWtS%WnD^+c2vGlSmltZseM}rC|_O>k4 zz-UcROZk21>*YTOxpkX;qS0-2DxKv_@Y z5NLHP;1+*?Rqr|$gS^ z>QRg2!)X~@c-H7qdSA`JOdz30gI4d02#|v@j_XV)_ z9*Vj}2s!jpb|^T;q}hs&LSrsG3X8e*G=}5Q@hXo*L%1{lI0+CYUwFjHmmPufWyYmr z;QqRGSOZhml2pkwP5(CytYy-pOXoFP$M5S$(*NP`H6M6}p~L6D|JYQE=;_j`Ykzfo z#lro7nqIUARKN^pJdU?sWkMKx9LUBp#5t$Na(_6f!KCEO4rca4C#_&qb2WLJeS=C{ zGqxN`W>hikl%ITkZ zQ__i_kglNIDlmWOf0NMFNDoO)_qYMdf(4*e)|hJIkM3N=qfv#&2&uO#kUPRms&m}C zZ%&;3%O%*}&J;GjG%fwch>oKN@qE#~1%@dsw6R0OZLU_;|IYr)3t+=4#VoN%N2cFa z+oM8G)V5??EpPBeCu>utOCbO{+K8hST?&P-J-t@kgKK8n@A7<(9`Yoyg}D9L^>f6+ zk;}lMK8t;|;=%2^eh&=pZnBkAnFsJDBt|{7YG1VJ&$hU(sTqx^qmG!Fe zs~bQxt?s1`-TQt<&B5t(c3clUiHd{!A5lP2&sgezD`GtLvXVcDwd-jT%GLy$wgShm~~JrOMyYHF;lK z##oV4*@LywLN0&81Jm(MSL21wYyBhB@mc$_E-^IJpr3659xg>6-p}rn|2`&@ACt>p zk{|R~YY!~gg$?mHGgp_s>)9_~HP_&EJ*?O+W1oCdUz@Hk(+8VBZC9uVZq@<09s|#q z{o&VrCQ_I~H~hYRUfX)C)TK+-Ojp$JF~4HWhTHnc*1!JV`#Q@Xl2`g$s783|Y3sUS zmbuiFup7Z83=OXBfm*LD)>ZUkFVa)t>mJpIseL`OZZyA2+l^+wezPLqU7yF%4IBEs z@&&09`J8;uK9Frdk7AX29D|ke z&ZH2Xe+VC2UGUaT_7dcBPrJAj%v>Z!&9MGIovLn^wS>K$rr(ptKWB>;X+ETzzw$;m z>gE*puhk<=t)3N-C=_}1ZrOUG8`SX)C*7xtz)I_4tHc=v?!o%k)cQGPDVo3>QNix& z&shuM^art}>*iqOgu~i;l#xLCl-6`3_UQ_64NuSFRGzPD&fJao>tEX|X-_Tj#HxR3 z+KvTE7H6{bOe5`kmCat2HvF4`$96B+?y2pr|G(d}5GM(Pib&ujv$KPyI?*ys;K=22 zI08j?$81_>io+exa~aIq`@rQjh<-ZUA;`L<6Zg#5sb%Wn6HJ}OjhbEBscG5;Gm~cw zQK_@JsX(_P$9~jmAv&dWt%raCp%iEdBW#0>_rk*v1JQW!T^~-6WI8mhbkn1e2f~u7 z%iW}t`k~Od>6(fer{^{m*>PXll*|~UHPavR^x)^q(ss6 zXL-oCj@WG`>S;gPygngHf$D7u$)fmA^Wx$vW~H7B7uD{VE+}i!9St$SVH8CZ2DaeV z>3yletcZJ4_a=Zmt66~VndzZ6y*h}SiBvmEY&TOa@7b;v;M}U6Gab2t?O4IGkuIw( zr99(m61Rs)RK?j%FGQ=c*4a}ybVIu(^_ZlYFD2hoXl0f~sN zo?3`g?2?#@hwTWOs0WnvddptJ;6>G-jsY7jrG~>Qz@LGm;T-9KNY_B9?Jdo3s`5q9 zZ}vV2<`)?D25Ho1YP55vKW;Vm$(Dy{Aa_(@Ie`y?JI6f|Oj0#v@t&`AY8PG$<}=(!(}fQ)GzEY^&iaur%+&uoQ-CKR zyE)*MNU9Qg&~jNd_v$`VDDtjpDNTl6fcU8R#A5vmnZq1sEaEnD=< ztGxBvwTtYqHR0=FLo8$QeIr$tvA9ZWj@Tk=4}ZRwDE3`eoqgS*#9ARj1J&2o+d6BH z7gKHQ(%P5w&c<>TDI)8d1r2uxub!T_72E;MGu#1Ba@+w?Yh05o8z8zPYoI@!RzSNp zQw1oDiww4feM-gFkFnUgOLz04Iw6$E8bI+6F)?i#ZZj?it_l! zZtW&b1eU>FL6ScHNI2vVj4zPfD9-vv@S`H95Gt#P z89?57jm9BXch);W?h3WAvdMdQ!z0tvhR530r=^r^&c9N{*b@%lo|$gLVdv8=`W+Gf zXJ@9$5_9`TZ(9jFZ-0zPVMGRUbBeQE7v(0au5IxZ2ge!4E2lV$R$1{i`eek#7?ypP z(~@87lv*9cUF{gil;boCR!P-Nb6RdGf-vI8do9xIy>nFLB-)liC2Z5D1#@%dV$gE! zp#FSk=r?p27C4QTg`4D+g#HyTb?UjXW)6!~a z^VH@GqO{gplF@`heZ5U}xK?p2pL^3K<~V?NNPSCkC|5>HHDW>UERflV3Pl@79Nkej z?wnm&0TR?&ZB0qdkVM{FOO?Z$AcZq?wwja4pZ+L0tN20dDXks67FWfe#uh)1>P_E6 zwU*D}T8&W0=v$plzt^GdfewH0IMl{G^>HsfLh>1@x?F$;GB{eqMbSw8X1L`R+=A#X zjgl4(5`{h6lVA^piuS=cq8+~0i%Xm(kJi`UDI7ef%jTaBIzdjSnguPJ?@(>nnnYtK z+Hjq^9x<=pT5ju+rdc8z6wjhAhpUySDi^(_prJpQ?Z8MB#_vqY>wvolFR-X4(ji{M5?LF9St=n5_ckA{~ydA7t zunUUZ*Fn4a2ll%H+`x&c+{-PGH#%H1=YlSp!&6>&u`{ep&7Rv`JWG9{CBa_TPt=`R z9y?>Doim?b9k#Rd1E3b$_2`A(0xE+&>aM@ome|{-u}kscWqqfl9e#5($GAmQ#jA_X zn>+>kb$atpE*p*88R`XUV@kG5X!J%H%+{!la*mg8Tm8m4@}Jr?Kkbr1dG{Xt0?Yd} zUwZXT+J9=YC!#4k-K|dTwq|WmuNT{8?eb@ApL$~PTZbai4X!+vO=mY~HMBg-Nqv3Y zWOb09-roRN$L*!Zj46bpdZBNolM-R-qC|%%{L&?d60CJ$GW7H@lbwncSFr7%J!QLm z+6pt4*SozQ5&MIhgVmi%k)4a%ID)H5pGcwZrBc@JJCm1_WR^;dd{UQI{S>v;)Wz)| zjTW#Wu3$mfz`4~;g_n&bzPm$U*Q2Sv2QawOVYz&!Bv85qx3$RZfU^t_lDm~v0V*c* zM);zA>QvgV`c~AsHQF>IWX5VlaJ=bB4brbEQR;WK+$N$_`|6t6QoK8ZRE=jyDB7w!Ou)2kkKPy zaU?uk(N0Mb7&MlWMBdIPq>)yeCK)7@RxnaXAO#512cds$YUQD}4(ZPsWSx$gL%^Uz z?(GfC(MKw5h~x7Md0T2pSZsQjBNd%oz_K`zzz93X6ol=FQ0IT%eTiaxTG_%v z9PPF7QyT6S+T$%Oz5~9_lWGzCtHqK*tWB%CjFoAo_@-v5C*gSqx~YLA*L`Im%`w_U z8^m;4b&6vlBd;{l{CIpI+cA3NPxq&Be|=}XR!f%u4vGjK*RjutAL%%b2)?d8G;HL* z$tQo6kN*6ec$)dj3|*J&D8&h?0p9CRs(gI^s(*?@O|K9PCa4sMe1I<|P6oUR3MzeS(Z|u$3y1 zsu(LyH^5aiq+EYD?2r`Bz0v7DI5Z*#__Lja`u40jKdbD=3w&1XURLVIneF=lrY|{Q zc|jjIJtw~YA^5$D@5jqe_w&{jA4;%ok3ne%@I!AmA|3&XTYkH8{58Lt)i0Wd0 zsB6UyZEY}l=9Y6Sf7=h=V$_8Hvv89h%MA&@TYmPkhJ4+D$IOY>sr=Cq=6YnX@FuK> z;7^mzvbOo}MT5Kd-&VNk{hFuNr=ywC+Y!1(=){=P!?(TN?SQ|#vPw#MAWxkS1m@2q zlSHybU>%Zj@OV@Ss=d8-H?RHB-&1l}(Cm{n>aolH)7{+ARd)=_(v|~)C0Q=zsW!!W zwB+ZL{Df62D~!| z+@I4mVx35Tg!{1kUgFwUROX~n1er7 zSEO$%N6K(HYB1i9IGq?M79sI@iXdB%&p(4G>Yp3e23>t@O=G%vL}~MOLJjJS2deNs zL(iL&qhB-6cwj=9;`MQH?9sjy8y~}>LHAbqPlO8I+5IQm#Z(L+J;2B6T zENBy~fKkXWvT~52eq{Aq@YBq79^k4+KzUO8cbIPYjRyc5t@a@Fto&0Pm%IPu(&HaNmF ziF06oGoHt-$z=z=W617BPAT|uv1ABl(*oHU47ooQf!pa! zRqwq+;QZdCtA_SavEJ(D>upBv>upqtTUw!fE(6Nd0C6M`$b>g7?nZNQqM}|BDr}G#ZX>$RHX+tt4 z{wX;p%s-u9FK_wD#Y#)-c?Hs;Fs80*%d#F8!3;UQ>*}&7 z3zcfBFUKy-Gz+sa#bhl;p+$U6PdPdvy1qBongJuY&ndhkCTj!*QF?S91NkcGg`_k- zfk+BDAiXhukViYWD}f0VM&SmA^QFeE7Hs3=7#_4ITnsOabS)X})W~%PtqAxEI@f0vop+oUf%^<9CiV)1ej^DEsi<20 zT}nGhi;U9>)|Q|Z)OLWbB(so_2~LBrhc9hhTYG&?uhZgVp!%vt`KeV=^-;d~hrY6t zyi1Lh2Afj+R~cfyFwReuzA|28!h_|dXoxFZTgAsAdNSEwo8q>;8pU(lm27)&8M)tv z3-#81v!Zjo=rGAP^wgi4yK1Gqt~#l!PLa=HPyAgVYjKUl`=5`uE8&T}h{xlZ%OlD# z{3d$xKReqiJLKELHoQnS;zM`rd=UTR*W1&2-1rsO)#45tr_HQ5!E_eXW{_mUU_Cp0 zL2*V@mS?51i8p>Y%25B0+EHZ^$VAn@>U`bT!r}WowD+&Zkyr-&n^cFRRyH=oLG{U0 zyn-tlwZS)|eW#}!VI0C~qnAg}hk%1rSch2hmjQk-jh_XI}5pIM*y5kk%}^Qe8Aqhz|j{d%Euz~@A#S8LG8xzz(GtS zAe&0*YE0QiMl(y6w`ZH4w`W|Dx01cuxQ!)f_{J@+-;Deo4!n0{ z29q1!Ribl*`M8=66A4BPVSgtK6wnCP^>1!civYzJI&fX{d;4Me z{^9$RH7d-w{aN##pWcQ`&gn7li{$FPJqacduy!PvlLaaz*w4o(vw57-vb*sE+Dc^Q zl9>38dY6sWT`H;k7B_IB`|ySeo_!ibPR=_08Dd4s`l@cxExR(%G)B88codAK%-uLx z7az2=*PQUve1i75XO+R}s50TDc^w%drn&$ufF_6DMj2?CP!5?a3F+}s;2_E@%l+<{?pJuey!s1kO}iPs7YyFn+`*zeL3X`*wy2W_bR=BOL$cyYmF zw5OfEvSC!;-;4S?z&Y>18JdNOevk1Lb1;((odM(bGE&&sq#xJrIXuH*=LUC;C{j$o z_5Ou`|Mh%BTMJ$^2RikasD2u#uxUxvN@Rt&suxd{+X&+7^a))e=w^5SOst^&93^T> ztgyWkE~?yC;GqVT!Y(9OR^Xv&vNG*#S;<$s|0Y7XhPOzkJHeYiXwec>${f`q8(aue zLyH2a5X|PCyXbGL!iSw00L4KbCF0P_W86f+luTmOcW5Wy6ayYmdPpUwY5{&ECZm5~MFXMjQ~`S9Y!IoTLJ$>$6n7nQ%6hc{ zE)xM6jrYC4Iu9T`o@ud-ScUQaz}xDE9^mVnxh&nld(utSBFtyZwqo>{cextbmsb9RJ_MWAJbFji#d#GK#-O{u1wn~v&-G(k zl-S=58rP8>5#LhS%7o%9u9$KW>#M3^OfyOcY0Y6v6*PdQi*q%TPP9&eW zM|@T&k+4V19WOwI2EwEl2q~{ct5$05as8yc*{3kC;RG8zmLsL z`0!)C$k!*l^U2x4-SvGrcIo@fC7f%ZI`f`l*1?+Z= zBmA!OUjsmK?zg!*D9_6Qit4>_zUv9wb*??ExF}n|JomYy&>4l{&F!>!qO)}l< z+_&{1wf$T9;`!=y2gPlpzC$@9#`pLxNV-tB-yVhyb2dLeof;>@1s@)_j_<#Z4UDW6 z_?c;JX|3qR>6mkBgQfKH?=ia%vEenyqrU+fIEc9&*t>oX<*ykeX&iIg@E0V_pxX zq_7nvJHx3gr5D;SnZ822Y$u$KrL1!^nX)zK#b56WLHj6CtaDNFp1=>49K?L7zQg5J zrEkku4r;hnWfB!x`Or-aB%}mkWR~sCfY%4I`bZp38mN#5YGO?PJnpYp1AeTy0CE-E zNhWC~Nioa+>KX7F^ncO{?D83XbeGJ@#g{+=8kcui@S$g8ihwn8D%VVB2|hIi^yQn`(Ed7h3SJ+QMfWB?WWLL}jbLCQlUSO(rg;XNrcDBC#Czc-e_=+; zc9*lw4!Y2HN;KEM5(2+zQCkbCx8kV5p=mRI<8Kb2jeJ&2@jo}T}(S=Ea+V@ z1#|Nqq%fMA7z0XBdT;g9=|y-?#rqITx#!L$CzMm*F|gj=mm3K*>h8J+1QRP=F?uMC zWC(S>f=!o$tTUfMZZ#`ZpSvQIK(6+t9WL1HE#*?K(nB^d{ukHzhT$}P1}_H5foQCl zxYtvYV*u1;={nX?_9?zl2m>iN)zcm0!&dm#4^Fpoa{drS9|Ra*PlYg;`i4detCU9! z-znHeJ08PEKW$(EOWvmgqqc8Nrs?i3itMw2+^v&bh@`|iD|r5o%URy$TnDE0)=bV@ zy0qgSIkTzQ>|ni-_SS(VkwF$(^-vy$dr~(J^BXLy*v%uzURM^1h1B3`*3hERUt;)eO;4}wSKOr&{ew>8!w?Ku3LIa68WuE#PSc)Kn z!{8fGsuF10EG)aPF;b_a#truv7t_zLfDyp(^4NAX z!TqWai9+dPOLqq368@dCW*K_b+9Ndwu1-a&R^r^pGjdmNZK6}ri{puR+Gily;8!yJ zjMm(0#fc-gr|vFGZP+mh@+$fi`7^lmN#vC$1pFnbCdgW(XCR4@dQNf4Qy z(<6~bWj+9!wwZc_QBMt*bzSubSp7PJx#gd632rpQaNP!O~2fF4Lnz)!s5iZLQ0~IGHUqQy*J& zUdhQ%u1cY&@^tXE*+=AYeuqo{%)EEG(!_X~uRWqljlq+XE{BVbO4B@C(&!f;o;>eo zfgUsEa{YpnL5tWgJUgxwGC?*9zQbF)cc+-n%lUd}jXR=;EBuV7R+0HQclgiXT*;6v z;wLosS_{@IZuY!ZnRm?14O3q-vuoK=F|4=Z4l13uyFR_e@gJ@%z|2KJa+kF+-mUyN z7|Rl_mW=dFA0}@@mZW@rG<|kn~1UM-3_P zI#V%v#hx-)wlFJk&2sv?7o|NguJVLs>2+0>u0(2ErJjA?k^UJT3(P(?Vc#FR|3)*x`GLWFiNcd!-+HN7cF!d~pzstZn()4~W{- z;T8}BP$4T2@k7KI`)06Zn#td#!=nzOkr%IqU+%ZYz)j(fK+uVie)#dL>M&kz=|IJx zWKCPb0nCzxU5VdsmB`>E4js5bCX^c{akLv=EqSZ^^Ksd(&age#!}xusD4Mm;+S8N5 z{1^+E55j-FZK4bqTPseEKaRq-shMmm*A~GWYfFnzC}AzUL%z6p~W-fpwi5MB8^yU>!Oe1kOl^xO2pxF?kOR94!R0 zjVCa_bb&3_j3X(g$0~rQH|G{6?^i8_b^BOb^OFwRY7stdxPIc+4|;2lT8L^D+B}`I zY%Ln0xd1U50yw@qc*H0(H-O!xB<)1gAw~QmBG;`{|EtlPv*|vZx7DIGsTsvXMRg_% zqajC$VFt{Zs4Z=t|NF3Sj@)~Rf6P0{sG0s84AouHBdcf5M2_8;ZrZ<9zKsu$7SFeJ z5#24_d#w0eTo$Oh?$3Ro-n+Zs<#4wj#Ipt2_C-5DZ>V3siJRjBpwrKqI8yC@uV9mq z!r{2TDY&P^_GIYO5;$BkIzKHTunbmMjL5;*{_dWm2PSTBnzK>8=$xwMocepU>;uN0 z@L%@vXaJlhRRisChODhWPe&qh|I$3YR_rhF@^!MTk^(PD5l^3MpeH#zz+a z#Lj<#)MygJbs_On>O(7qr6~0 z0tD=)-rtNPKvYz&Dv-$5-Hg{10y}4|(G_RG*E07vByGM=VEEtHareLD{mhiT+a$A{t2hYzEM7jfB99cMjA=rMH$2E%?j!T|OX`omjP(LpuVY;}_xG1STU zg4GIlYa-cE)PLlxh8gge=+7FCm0$K5se7bZ=Epv8oo8J#0qC629-%^m!V2R zwf?O5@Uds{3{~dR(+!Rt4ZBZ7y1{MZL;>xN0wp7h1OG4;y0S;e`m`?4khi99L>D{00LD)vVCH6`4KE3#?Q zAD40}yd>F7F5*+7m7{Db9+bStCxtnrmyJ$jG-mNqz{e)RO3ld7$R3LDA--l=h@~sk z#}B5V0PrZX#!P)1UeG1Unxbr9j6uiZ%ZI(VZ4KDlE$w+frj?9lSf*v>j2XiiCBbIe z{IorFR^*oLazx5do;9Zj=V69Fgw#4;gM$BTLQx;>kx#mm7>C_J++=;3AK!XchsiQ9 zHo*Flq_P>bdSiD$pcK1P+L`3WET=YaDFyFZmaP;7H}-!bF93yf^T~RV)>TT%jnzQz zI~UJ@^P-&Utmnz|zsit=(k^?7`$Ra$2vT9<=T6k;Zk}S9fLd3B;SySYHMNt5PsjiD<`JfkaB5!=9E*(y?O-QvhmN^v34zd_J=*%Z#=Dk4bcdg`q7@px8?h-)l z%Ik&j#D&&j4O}Y_n>=__b{%;q3*o82Cjh@Sor!=AIg0Z zl{2~@=$z@1y!Ak@&XkXf&k3R%U7fa!&(CbCvt#6>!M$i+!Qx96ZGcY_x!@2)WS8KL9yu9)k_c=iQV@l4${DiFWivKJEf zl1g5z-oW*b(mxUgjF6U5+!48o5;O=O1VT(|e}D!j>h9nmT_4=gv0F=X(Vk#snBF=3 zP}Fnl7q@8w#n@ZVfI{rzkA~e$u!fXNR9VSi=8IZ|IR&fVqrY$EbeJ?>nl#*348cGHEg25 zFiKFIF#T}P_L_u6=B*oYwu2^6lhoJ>P&_%)|Mi3;;Rd}(@tnfmCXUW?lrV-EYZ@0F zHE#Pp!N_$rg9iBMka>8~xbCHdlUKH)KBopR#0=i)#N$dqnW#U2{63Jb7vUb}X2sE1D zj@24wI_EUQAFkL>bH%HVHC}T3KbzVD%afAjHCR0i-2T}T znHCY9Pg2^$f*F7tnR#5MJ}p^DZUpBVH?KN5mX#(aZ3yjv0@v9K2-XtuiZpXPj>@W= z-khQsdnA@bt<&K8^wZ`a&JxZ+t18n<&KF!(v3weQw<7nnR@_4qJEhPST!!Iv_d!N} zr@T!C-o)Mzkx>nhC+&>9E6AFKka^J4Edag{QW^HbQd_R@jtgbB9!9!)&{}VqdVQpT zXgwTi4rzIRv4Ua`bxB~Iu+M_VDJ1Rbm_a9W>0a`v;(*9IAz0P}sjsh$04hdOg8a8s zoeNZ6?8-%$Cw!IsqMXRJ@0QV6x!PV{EV_hIGY8y>h$sVu?Ub+9)8b^nSk-}Fj2O%kIn#*Tv z0tM4CHcNr~qbn#gyQK1d7!K97ulFU`%3c^PnTw)Qf<8#F*TnoFazXjFzOx6Es10R* ze-4a?3 zUcon`=y2d;F!BS60}zBw`++Y3WjUILOHfSXbp&N*Ijm`kJB8yeuqBn|N1W}<-XjHx zVNL*yVrv8(xd`VFU05`92MCC${?7~hUb3-DR39V$W+}#V<47Mmun5QmZ_JSbG*mKv zAO(@~!87()65vK(5&#bzNh2HEl1%D~=k)&_tDEnH8WH`Agh8K}RAXcWgV`yh!}fm{ zB);^IKDn`^u5QN^;!vz<0m72SCii!Q08CtvzM~8O!o@#tfZD`=6JUk-4!m!6k(){F zFBj}U>ptW_t9^4LiN zj?EP0U><^KdQdq8j%ZH93l-ey0?emR$dseX?x>POeZ-#nXWP4Z@_nw;by(wLNG_i( zF7^H8{e@lbcoDh=CqnNS?2kaEGvN-T5h^~Xk99JWCL!H!y4P15tllq1CsWpWPGD$& z6`*AyPd%J0%jF34+yzzgFM9BOPb5yuQ63Ta^=fzm1}(VamsK`z@N*Uqx?_c4_Q_X2 z8>y006YL`Go%X);yEwY%_9&^ieKXf7Fz0^ZS=5+27a4=|G%$Ij-^&K%(AvN00{T!9>Qo}Fzy ztyWfHY33+ZTU_i^n58cEfy+qrHS?kxl@mYbV%K)9DkyNGf8}25)nM_TLGFOhQ!uoN zZW^ReCRg#no9R7u0cv|3aV0=^PhXEFrpI+)JkmOuo4_`eT0__bAxx^us^XxLGqmGa zk=>a)$UEDXa=?3kKqkW_0%xed33~w6kXI3de%H!=Sz@Gqv))g`T*`a{I!GF8Kwg7* zLh!i_XYfDmT(S4WYyDnJUzztPUVG0}rYE{O2m6@F$yPY1>%J~@7*3H&xNmMD=hQW_ z&A0O!J#&MYW(QFV)IFm^?&H|(-fD?>|1Sk$$NYF3N|4&LoyBkX>Cjvm*KBn-TOe1H zR9L*udKzi*;l&!J6p5`C8G@HE*AgmO8wS(;w$7psUr*CM;1qM5Z)?692;Q>%D$WzV z=$@s}%H>>dy|jHQYlxf)5~zp0(aW>v%bi5~;7d{bd$J_ceWW*cd%!L}pjwZ?;F`+G z`>jmyrUR|=q}07UBI|{|Zz+%`y4rKZJp?jP!*ov}X3w?7`XLaBX!f0mGzprwF!hvz zpzRz|OHt<-^W)@LQR)3YILlqZtNG7O5@5^kNHq0JSg}{w162+)?}SOYgW&KqL7ZMe zi*I&ZCGaPR=d?m+74`?RrQ`*Ze?&X_u7aPf63|Z_q8jOqsvW)ZLlzhL_+w%GCODP~ z>!e&E-SlvP(6ITohav*C1aqd@;P-l9Pdy06$mX0SC?!O=p;DtCVA zA+K}M;z;g=1M~BK4(cdDVS=>b3&?Yy8og%+*cbfyO<=F zMwD@f$efs8)-Z@p%pTc6bKt2}Ep~*St*zo?b@~Bg=lu$;qbJ-gk%Yj47Ng{!Oeiw+ zO&`Z?Zus4MCdG(mOM&20+*%K@3tve~bvNHbp(XQ4-DATURCZLj-;wpS8%<2dAz@{I z#9OX=tqV`~&XyV@g{vAIe8S7mvRUCt?Jv)*7J%b_aBl(w$6MXp6D^Kq!xa&BTvw{jA13y5XrX!<7t%jjO) za(7+4Yef^JIm=szU3sZcOw~E|gb|r4!6wCNw!DI-Y_%wltF)V>LRPAj$GUF8z*0Wr zNQ_Qq&iI$mb;{7DDS4QgoezI@)n~K@=(>7Vx26y5`d1!Kn~zX+K*i#PoeFk~h1Se3%b)7Sye~(2)@tkz<@>z0Sd&XuKo&;phF%J@zL0R;X?nCWzk58eF5SJ&yrPFVFMipq_?pd?*->!kn`3B`pqOs*Mv9uE%h!w6AJ@e-60^ z)73Po2_f}mA)K6Y?`9HoseH&dQ9@_7zS@|aE?8nt-#6$;oeGBe`?Xw_D?RKQ`OFF# zr3jR?X6nS%pB;;(FHEVW9l+*Pj@vIO6eO;B>sk9PkVb<-4+@!34!eWRM+{`XMhM`o z>1!-UN&XcAkR;j_vpVF(!e^=ER?Ef~^CckqRf=^pBish$XS|F{OW`~eNTCuuBDnop zLZbj#<$`hakkj_6W>u5Fu64@$@%msk<`zho<7SbTI8y7_5c-4k@aHUQm7z?_=qJQO z@bAq%Nxo)I?P0oDwU$BRn66e&Ms9wjcU;{KRmJyawgt7Cn_t$Al|)v3;;nB!N(@;( zst)i#Enfj%5o;@blqha(L^0Qj(1LS3cqP#D74bPE7i+@JHHqdYrc#2Ct@__?mtN^KTrE+F=nDv$no2I)s}`63vhQ&+R{XyL0UELTQUPX_RJHM$*Sk zy5-)6H6ZWu?!)Ry`&W$ba$wde#?ZL~W)-9U4*^_+6$$XC*#KWw1H%6wZFe^4dzkVy zAs{}hr94@{*_m}UlS?~Si)+?#O?4=NO-*D}ytse#*~Ef73IL63539G&VO!8yn^&0F z5#*?F9qqiRXZhQqR|McCiZBn!5Hr&zfXf>ugvPqG@a4Q*d_mb6{kGiYT=E;r_S21< zWQp8H4g!mH2nQ;%WnqRKeTlW5$iZAH6*`x=w!{%7DidZd)@0JOv@usx=CyP~>tgMJ z!&=+0Z^4w-)6gEuD^pA+=l+1EkexF^(QL%>KA(T9fHE-%R9tTZn|q=2bF0%`sK2a6t*E~n(C!$yA*_g)CBqi-Mfd{#iwa^Gmp)a zS>q3|fs&eQ+upwzzym_16Vep_fj@B`UnpVxsIL-WZ_p?)Wuc%pnW%La%r-U&L!?p5wacLxuU^0<8L^ei#gdFWp4!KmnMIKYw5ipWJ5<^&B%PJAg~Z4+ zf+82?U(Hh{Y9kf%YG!}noub?}lFM^P^{rbC^k~KH^4XWQ(3(p=DXbwd^2vjHm5hC4 z<2!m)fIgUGf4uX8bT?C!LAtTksqcKNZun#VvfS7s{~`S@pac;zmSSM^FCydbcS-!n z6Lmb348+Q}Y6SJPl{o%(j2w21yU!DWHuiUs7rw z`t+97n))??EQVs9*{MliEYuBTY^InETS5TkgrW`uX-9T2g>(}56Ch%QoB&w)0r4JS zMEF2ONF)Wv2QNv2gH8q%6{iFcN4&w3;3pJwor{rH7SiUOBdY6Inv29I-W&6y53wV*w}cTz;QEcdU+nhMS_EqY$M6<9!l9{Cijf z(GjKJ0SicfzGGhI8HUdfUf(}gFAnZHZ#KNC_?4ed<$-;`-h=!!-M-4@Mna#dzypS< zlEuFEii!(jA?}&|w+i#Cza&{baK86se?7Box(q#U08%R&xPH5@_!rw(W*o2Q$G>y+ z<~#PQcb3C6YJSN5^=`?x6bOB!e<@)72Y6w#V$R7;d;d|UKdvN>0u51SX`C%kc(aXx zDkSa8U9PJk@j39YTQ$W!i@~H4V#1z1;#t<4+N(p)@~cDaJd-QotdP9m_GdXmAr%Iq z0F(JDsczKWu@kIMLO1aH%l<$dJg)7ohf8QVqpUNI1oQdX`{rYLa^A+4uXunbX@_eP zjH3OHlB74#eWQ6|$ZEc3$`gXnn|u-}yGqL83ZLPK5OpC_v&1b497kPa1p(SQSLxy?*yeim-p_wj~0oPYsBdF-SXyy7F>YM(pG7Rf7M`C)VT{8B0pyfUShS#L&SOB|=$FlySs- zuKzhz_=p@;Ex`=AF-NTOSqV*D1d~)7f(f(z&SVDa#@`W9_+);{G?dAz~h$&94#B_Fxr8pLWmMJ)&913GYh{7EuVj z>XaBd1nWcbC4xMh2)zoM1SABDEndh~c=Sc*UF2m3MiYLtk73?oDi{7sl^Pbuwt~@{ z*CxFskBDO-%Ao`6GxZ#cXN>(f5(B9Ueps5-0Ms6GoSgtlLYmPaxiG4Jj;p)}$+kX! zAz(EOk7|sCYHS?kbwnL8pwb3H5hOQ+kJieLMUa_E`SVI%xmXDzHm?qCUFfAa*B+y22=S-u3p0 zk^ZiAm6Y{!{7FZp|ZYA|8L|ID(1=@9a1uK z6UH6_u>WYY9?`?de0oj)>02b_P{B1fy!cS7r7YzwTj$Muu}y$~dKj;F6{Od+Yk`O) z7ZMUzHeUaSvngSG#iE^Pil1bn`Dk_%GPqG?!kNzVQsm+DpTv;my25NW;*rqUzH^q# zn3ssV8SL>xcG-S5U*lMm%FxR3`uq6$_|Ns&+ROjB*v725!5a+|{nyeoP4px;_V6iI z`pG|A+F}iFq=V2P>VF%5!OyFVFD7A0+pDzXZ^LS%rLD6I_D7M2M)zlkH3Ae|GES5F z?~q>D^)*mijq^>MZz34YUPg%du`n||s?auBA}Iiucolk7T#{Y5j(~VIyi@#w&8Yf1 zs59Z<^Vb+wdSh58caNqBy)*9>{w8S=+|KOnL}f@!mlI53h)>6mj4`MQ4J2?fJ>Lg+ zs|+K0pHgfHcJwDTV7)q$7fTB{1N!NSUT;g>goz{yMJsw_PlqT9MK~JSC>VKCFdV6` zPPR_t(NCxsW`=se7ew%11Ivua4oPS)gcG|grxr<2vu;x+(%aEm^$Kvpm1@h>c zi>8$hJ7Qj;(n6@xe))PTb=TLr)LA3FbL*+3#5d#29HgJC)EcMWE-a_1u+a=W{0(uM zw)T2>IN;5#a@fLskJ>Ici;}RGUVI~`|7wA>=TuFXwCvc-y9Ej%x4G2>g9u=b8BV04 z7~qSUz6_-tcjosbDgU;r-JVo$RS6p90Gn)kF!m+y)-TciBeyI0l`yWP(-B6M3yk){ zKs?JhI!ml14@{dkpnlE>s37Y~^4jxtco-v|Kti zRki~v9MnZZTDAukExXajPjhP}eCbXhfS*&z=dR`>PpS3Ue9or{l%GfI_nmG#^x^9T zbm@!rZ9N3L`}(8|bj)%;+d-gGvKktWsdxqivfr$qn z$?|;V*8NZy(1e!}?s;+W2gT;+GXGm%3+ce(|9^jIp71{-PaMtd?`;99nG9oUqHR@zVJ1+ajScwV+cx=wB zUz=;c)pF*pOR#M-UKOtGGK)hGn0?`-U5OCqTbgw{|3b_{RI;zT5NTFD$;-#47Md;m z(GQdf9qjt6{Wr#6&*0lDIFV0E+YyO)0hXj!acA&Iuomxh8HxYeRxxXyu zw}BcCiuS)E^Jr59;_N7|ZpM|6 z1(EwbK5SN5CE>e6lYG^gbOOB*tcF#N&eJs;o^-{9D1-=~Z__&pAW_l9t?22UO1)e2 ze6rvz=r9gczB4%Jp@bC*+P|BHtiz8iV|+ZPK5jTXxNwpf;gTE#sZFNlN&f730F$fx zu|bjej+sv2oX`6v`XSg46+dW&2~5S~quKo=*8`Pq>)|6}utl7nPa>3j(!pB7v7Z-g z7S^mMGiy&tf|rRl=hZ?PUch`X3~y1@eH4R}Pm*d9_)yhh`GeteXW-(K#S}~|aq@qW zL?zIN)6!LEM;P3TPnGW2TB=>jLg|ChvMW%wXO`_$*Kq9EuW{wpWftw4cKVkDf&nqu zbO(1)W^ZUFSFcF4*^2RkMY5p9vmGdds_TSMibsylC$N>^y` z1Pg$(`VAM?KJvWIB?Rz1)UVB$|CNECNE*KSmin5*RbohJ5u1qlRZ#fldpDoeOTg~s z-uG_cS`;3!n9K~Ou2KG_^(*};&ph$5#pH`*j^nLQ-_pH}cO0$8H6q6pY$a10>5^=r zApF`vVc{uV;0d>G7Gln8gmb6FcQ>g`oYqUOnvk|u}iP)kSg_t%&2!!Y59F6 z%3hb6AI@6UT@bL15lLX1yfcr?s5VlF0gPI?VaeW6q_qjEXD!H4Xja${6I&HZt&8U( zv*w0L>B4F7Yi54Wp@zYXr9O!P@g(x+et39zi@a%_A@!7`Od{LtrO!erA)G??&QWyFVp8jT$)t2 z*j1PPAorev=h!iiQvCUj)J1zY#-P*J*QB>Bus3Z=qpviUz}H!JtZW@_P3xRaHBN)0 z>=jG4=PV~{>aC*e$hkrlm1^wzg1!y9WjgdJnoq^(8<#% z$FQMP5wRQ^Ad*Gx;}{@LXX;Ln0S9X~_H&^I$D`Gg9F+catR#c%`ct1hMbat1fLm_Y z`_Ovk4-J%@a=Kx?&?`+Wf zMn_IsZK|-Q}v|&#`IjhYLJoJU;*IMhXAyc;?20{|S+8w=pBG zzE-`kXMH}i%D_iMbTb`Fb)=|>38C#P+N^@E`a*ZRIYi9{?*SDxu*unoE3nFs-mPbE ztET%on9cqW0X%W*9uG-$+fA}U|M2U`&tJ2Go##%oOZGGCna1|t%bj<9v%EF6G8XRJ z?L7=8WytS=yU-KThdr%y;~I{yNJu4L5YsO`lj*j7gyi~7L&;0pkYRT~?4B009jpzCf z|D?0NF~EkMm7j6wBTGTPEwXzed#OA=C;`R+FBAN26&NNgkI& zG3zL0!L_qsTWH@V1ht8%I&7B6q1i7Q6~W>`>4p_gaOcI3l5T=1xKkJuJv4iDpmVjN zXsHUg_0#*qa9jxl_2^VYTG-(v3lRd@QNjBSsdgTvDTed{@7#v{5}IOno4!*IMIC`g zN*M9uLpfEsC*AvfyukekmJQVNd*1Ew{KYbo$NILv6+b+B@xm}9UN58$E)1TLJuWO~ ziOVVgjq}D*FvEKo>5+CIr$Y*wL2D@Jqm&?~LfAMl9arr7N0Xl}qju~B$!zHrm4!L) zBflAg6US9GQI#jqg@40tN*~{^;gm%k=2eNIP34h=AA#^TJp88aS!W%l5>!%nmk*Q#@{^&%y}?o8qbrvwe>QJmbnAE< zHwh#|tGCJDaouXy_z4H-Zk;mBmgF)>jc>o#+vXGsr2ipOIBo!AuWFqTh#>0u=;W1O zGbaG7>O^szI_MfOlGRucDLg1F6xoD|cp%H2V&5{0wC{evhkOiWXB3Naj)Y7>dP-1)}YJ8g2 zgjx1Iqg93AfV#58iPzvmq)3uXb33WK|C9KE;fD&IAIoPeuTf-Khrx4thI(VKvkdO0 zU&-nXV$Z4~bgtGw^mMdq@1Kc3!h{Ta>FojaS%m~k4d22~26c6q(NT>LSyZ#_&_n0uqg zW?|#h2=tLsXdNh0x3L=7_wW%P@cyzy0=?$_Jv|R;2~5@_8YG4b)y;aJ6FhGheKwgD zZt91n{WC|c(qc^L_eU3Bl1+O%`i?CM-VaL#6(_d+y`!`ES66$fBk0mYLg>@!p)yzH z==0Mo**y(T#k7}!Q7V`rO6r}_mUUSHUXHyNJE$nThLH1Xy=)z~BTe6DYv zzrw(VnIs80!>DfoLmA*~kY@DT_l5l!f;E#jbD}hYGhp74T%fecm1?28Z@Kr_H|$;Gh@s$eW7rb8x)iBM=_EJ)H264%ufNh{jF`6oJc=j z{dRLpFbXlu06J*DY+^XY_`VvE=-7A7srFow4IP5WlGEMhe04YMnmS@yRsc<;MQPFh zl)cdt<(1tl%M|H=qmw1QKSapyO*~r5^53fR9`JT57EPU&(KoV(lkTgW_;p#6M-S^D zEuqM5W}QOkEsb-CQ9z% z=E?qhN%+OxbSRT_OZ=xT?0*`-{+ky}cqo%(UoQT(c*H}+q=Sli3mw}&GMYo|Kex?B aJXlORuvxeMJ^TN!BE) dict: + """读取并缓存一个平台的数据文件。 + Read and cache the data file of a platform. + """ + with gzip.open(DATA / f"{platform}.json.gz", "rt", encoding="utf-8") as file: + return json.load(file) + + +def stm32_candidates(model: str) -> list[str]: + """型号在 ST 数据中可能的写法:原样,以及把温度等级数字换成 X(STM32H723VGT6 为 + STM32H723VGTX)。 + The ways a model may be written in ST's data: as it is, and with the temperature digit + replaced by X (STM32H723VGTX for STM32H723VGT6). + """ + candidates = [model] + match = re.fullmatch(r"(.*?[A-Z])[0-9]([A-Z]*)", model) + if match: + candidates.append(f"{match.group(1)}X{match.group(2)}") + return candidates + + +def layout_stm32(model: str, package: str | None) -> PinLayout: + """STM32 型号的布局。封装包含在型号中,给出的 package 必须与之相同。 + The layout of an STM32 model. The package is part of the model; a given package must be the + same. + """ + data = load_data("stm32") + by_upper = {name.upper(): name for name in data["parts"]} + for candidate in stm32_candidates(model): + if candidate in by_upper: + part = by_upper[candidate] + break + else: + near = sorted(name for name in by_upper.values() if name.upper().startswith(model[:10])) + hint = tr(f"; similar: {', '.join(near[:5])}", f";相近的有:{'、'.join(near[:5])}") + raise ValueError( + tr(f"Unknown STM32 model: {model}", f"未知的 STM32 型号:{model}") + + (hint if near else "") + ) + found = data["sets"][data["parts"][part]] + if package is not None and package.upper() != found["package"].upper(): + raise ValueError( + tr( + f"{model} comes in {found['package']}, not {package}; the package is part of " + "the STM32 model", + f"{model} 的封装是 {found['package']},不是 {package};STM32 的封装由型号决定", + ) + ) + pins = [Pin(position, name, kind, signals) for position, name, kind, signals in found["pins"]] + return PinLayout("stm32", model, part, found["package"], data["source"], pins) + + +def mspm0_family(model: str, data: dict) -> tuple[str, dict, str]: + """model 所属的器件族:名称、数据,以及型号中器件名之后的部分(含封装代码)。取最长的前缀。 + The family a model belongs to: its name, its data, and the part of the model after the + device name (which holds the package code). The longest prefix wins. + """ + best = None + for name, family in data["families"].items(): + for prefix in family["prefixes"]: + if model.startswith(prefix) and (best is None or len(prefix) > len(best[2])): + best = (name, family, prefix) + if best is None: + raise ValueError(tr(f"Unknown MSPM0 model: {model}", f"未知的 MSPM0 型号:{model}")) + name, family, prefix = best + # 器件族名以 X 结尾时,前缀之后还有一位型号数字。 + # A family name ending in X leaves one more digit of the model after the prefix. + wildcard = name.endswith("X") + return name, family, model[len(prefix) + (1 if wildcard else 0) :] + + +def code_of(name: str) -> str: + """MSPM0 封装名括号里的代码:LQFP-64(PM) 为 PM,没有括号时为空。 + The code in parentheses of an MSPM0 package name: PM for LQFP-64(PM), empty without + parentheses. + """ + match = re.search(r"\(([^)]+)\)$", name) + return match.group(1) if match else "" + + +def mspm0_package(model: str, family: dict, rest: str, package: str | None) -> str: + """MSPM0 的封装名:先看 package(封装名、括号中的代码或不含代码的名称),没有时在型号的 + 后缀中找封装代码。 + The package name of an MSPM0: package first (the name, the code in parentheses, or the name + without the code), otherwise the package code in the suffix of the model. + """ + names = list(family["packages"]) + if package is not None: + wanted = package.upper() + for name in names: + if wanted in (name.upper(), code_of(name).upper(), name.split("(")[0].upper()): + return name + raise ValueError( + tr( + f"{model} has no package {package}; this family has {', '.join(names)}", + f"{model} 没有封装 {package};该器件族有 {'、'.join(names)}", + ) + ) + codes = [name for name in names if code_of(name) and code_of(name).upper() in rest] + if not codes: + raise ValueError( + tr( + f"Cannot tell the package of {model}; give it with --package ({', '.join(names)})", + f"无法从 {model} 判断封装;请用 --package 给出({'、'.join(names)})", + ) + ) + return max(codes, key=lambda name: len(code_of(name))) + + +def layout_mspm0(model: str, package: str | None) -> PinLayout: + """MSPM0 型号的布局。封装来自 package,或来自型号后缀中的封装代码(MSPM0G3507SPMR 的 PM)。 + The layout of an MSPM0 model. The package comes from package, or from the package code in + the model suffix (PM of MSPM0G3507SPMR). + """ + data = load_data("mspm0") + _, family, rest = mspm0_family(model, data) + chosen = mspm0_package(model, family, rest, package) + pins = [ + Pin( + position, + name, + kind, + [signal for signal, _ in signals], + {"iomux_pincm": pincm, "modes": {signal: mode for signal, mode in signals}}, + ) + for position, name, kind, pincm, signals in family["packages"][chosen] + ] + part = re.match(r"MSPM0[A-Z]\d{4}", model) + return PinLayout("mspm0", model, part.group(0) if part else model, chosen, data["source"], pins) + + +# 各平台:名称、型号前缀和布局函数。新平台在此加一行。 +# The platforms: name, model prefix and layout function. A new platform adds a line here. +PLATFORMS = ( + ("stm32", "STM32", layout_stm32), + ("mspm0", "MSPM0", layout_mspm0), +) + + +def layout_pins(model: str, package: str | None = None) -> PinLayout: + """由型号的前缀选平台,返回该型号的引脚布局;型号或封装无法识别时抛出 ValueError。 + Choose the platform by the prefix of the model and return the pin layout of the model; a + model or package that is not recognized raises ValueError. + """ + model = model.strip().upper() + for _, prefix, layout in PLATFORMS: + if model.startswith(prefix): + return layout(model, package) + raise ValueError( + tr( + f"No supported platform for the model {model} (supported: " + f"{', '.join(prefix for _, prefix, _ in PLATFORMS)})", + f"型号 {model} 不属于任何支持的平台(支持:{'、'.join(p for _, p, _ in PLATFORMS)})", + ) + ) + + +def layout_to_dict(layout: PinLayout) -> dict: + """布局的字典形式,用于输出;各平台的其他字段与 position、name、type、signals 并列。 + The layout as a dict for output; the other fields of a platform sit next to position, name, + type and signals. + + pin_count 是封装上的位置数。一个位置可以有多个条目:STM32G0 的引脚可以重映射,PA9 和 PA11 + 共用一个位置,名称写成 PA11 [PA9] 和 PA9 [PA11]。 + pin_count is the number of positions on the package. A position can have several entries: + the pins of an STM32G0 can be remapped, so PA9 and PA11 share one position, written + PA11 [PA9] and PA9 [PA11]. + """ + return { + "model": layout.model, + "platform": layout.platform, + "part": layout.part, + "package": layout.package, + "pin_count": len({pin.position for pin in layout.pins}), + "source": layout.source, + "pins": [ + { + "position": pin.position, + "name": pin.name, + "type": pin.type, + "signals": pin.signals, + **pin.extra, + } + for pin in layout.pins + ], + } + + +def print_pin_layout(model: str, package: str | None, output_format: str) -> None: + """以 YAML 或 JSON 向标准输出打印型号的引脚布局。 + Print the pin layout of a model as YAML or JSON to standard output. + + 型号或封装无法识别时记录错误(写到标准错误)并以状态 1 退出;输出不会混入报错。 + A model or package that is not recognized logs an error, on standard error, and exits with + status 1; the output never mixes with the error. + """ + try: + info = layout_to_dict(layout_pins(model, package)) + except ValueError as error: + logging.error(str(error)) + sys.exit(1) + if output_format == "json": + print(json.dumps(info, ensure_ascii=False, indent=2)) + else: + print( + yaml.safe_dump( + info, sort_keys=False, allow_unicode=True, default_flow_style=False + ).rstrip() + ) diff --git a/tests/test_cli.py b/tests/test_cli.py index a8dd492..07c47c3 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -175,6 +175,7 @@ def test_every_option_reaches_its_argument(self): loud = {"verbose": True} setup = {"terminal": "", "commit": "", "git_source": "auto", "git_mirrors": ""} toolchain = {"run": "cmd_stm32_toolchain"} + pins = {"run": "cmd_pins"} for argv, expected in ( (["parse"], {"directory": ".", "output": None, **quiet, "run": "cmd_parse"}), ( @@ -279,6 +280,14 @@ def test_every_option_reaches_its_argument(self): ["stm32", "flash-info", "STM32F103C8T6", "--verbose"], {"model": "STM32F103C8T6", **loud, "run": "cmd_stm32_flash_info"}, ), + ( + ["pins", "STM32H723VGT6"], + {"model": "STM32H723VGT6", "package": None, "format": "yaml", **quiet, **pins}, + ), + ( + ["pins", "MSPM0G3507", "-p", "PM", "-f", "json", "--verbose"], + {"model": "MSPM0G3507", "package": "PM", "format": "json", **loud, **pins}, + ), ( ["stm32", "toolchain", "gcc"], {"directory": ".", "compiler": "gcc", "std": None, **quiet, **toolchain}, diff --git a/tests/test_pin_layout.py b/tests/test_pin_layout.py new file mode 100644 index 0000000..bb91872 --- /dev/null +++ b/tests/test_pin_layout.py @@ -0,0 +1,243 @@ +"""libxr pins(libxr.pin_layout):由型号给出封装和引脚布局。 +libxr pins (libxr.pin_layout): the package and pin layout of a model. +""" + +import json +import unittest + +import yaml +from fixtures import TestCase, run_libxr + +from libxr import pin_layout +from libxr.pin_layout import layout_pins, layout_to_dict + + +class Stm32Models(TestCase): + """STM32 型号按 ST 的数据解析:温度等级、分组文件名和后缀都能对上。 + STM32 models resolve against ST's data: the temperature grade, grouped file names and + suffixes all match. + """ + + def test_the_temperature_grade_is_not_part_of_the_data_name(self): + layout = layout_pins("stm32h723vgt6") + self.assertEqual((layout.part, layout.package), ("STM32H723VGTx", "LQFP100")) + self.assertEqual(len(layout.pins), 100) + first = layout.pins[0] + self.assertEqual((first.position, first.name), ("1", "PE2")) + self.assertIn("USART10_RX", first.signals) + + def test_grouped_file_names_cover_every_model_of_the_group(self): + # ST 把 STM32F407IE 和 STM32F407IG 放在同一个文件 STM32F407I(E-G)Hx.xml 中。 + # ST keeps STM32F407IE and STM32F407IG in one file, STM32F407I(E-G)Hx.xml. + for model in ("STM32F407IGH6", "STM32F407IEH6"): + with self.subTest(model=model): + layout = layout_pins(model) + self.assertEqual(layout.package, "UFBGA176") + self.assertEqual(layout_to_dict(layout)["pin_count"], 201) + + def test_a_suffix_after_the_temperature_grade_is_kept(self): + self.assertEqual(layout_pins("STM32U5G9ZJT6Q").part, "STM32U5G9ZJTxQ") + self.assertEqual(layout_pins("STM32G0B1CBT6N").part, "STM32G0B1CBTxN") + + def test_remapped_pins_share_one_position(self): + # STM32G0 的 PA9 和 PA11 可以互换,同一个封装位置上有两个条目。 + # PA9 and PA11 of an STM32G0 can be swapped, so one package position has two entries. + layout = layout_pins("STM32G0B1CBT6N") + at_33 = [pin.name for pin in layout.pins if pin.position == "33"] + self.assertEqual(sorted(at_33), ["PA11 [PA9]", "PA9 [PA11]"]) + self.assertEqual(layout_to_dict(layout)["pin_count"], 48) + self.assertGreater(len(layout.pins), 48) + + def test_a_given_package_must_be_the_one_of_the_model(self): + self.assertEqual(layout_pins("STM32H723VGT6", "lqfp100").package, "LQFP100") + with self.assertRaises(ValueError) as caught: + layout_pins("STM32H723VGT6", "LQFP64") + self.assertEqual( + str(caught.exception), + "STM32H723VGT6 comes in LQFP100, not LQFP64; the package is part of the STM32 model", + ) + + def test_an_unknown_model_names_similar_ones(self): + with self.assertRaises(ValueError) as caught: + layout_pins("STM32H723VGT6X9") + self.assertTrue( + str(caught.exception).startswith("Unknown STM32 model: STM32H723VGT6X9; similar: "), + str(caught.exception), + ) + with self.assertRaises(ValueError) as caught: + layout_pins("STM32Q999RGT6") + self.assertEqual(str(caught.exception), "Unknown STM32 model: STM32Q999RGT6") + + +class Mspm0Models(TestCase): + """MSPM0 型号按器件族和封装代码解析,每个引脚带 PINCM 和各信号的模式号。 + MSPM0 models resolve by family and package code; every pin carries its PINCM and the mode of + each signal. + """ + + def test_the_package_code_in_the_model_chooses_the_package(self): + layout = layout_pins("MSPM0G3507SPMR") + self.assertEqual((layout.part, layout.package), ("MSPM0G3507", "LQFP-64(PM)")) + self.assertEqual(layout_to_dict(layout)["pin_count"], 64) + pin = next(pin for pin in layout.pins if pin.position == "33") + self.assertEqual(pin.name, "PA0") + self.assertEqual(pin.extra["iomux_pincm"], 1) + self.assertEqual(pin.extra["modes"]["UART0.TX"], 2) + self.assertEqual(pin.extra["modes"]["I2C0.SDA"], 3) + + def test_a_package_can_be_given_in_three_spellings(self): + for spelling in ("LQFP-64(PM)", "LQFP-64", "pm"): + with self.subTest(package=spelling): + self.assertEqual(layout_pins("MSPM0G3507", spelling).package, "LQFP-64(PM)") + + def test_a_model_without_a_package_asks_for_one(self): + with self.assertRaises(ValueError) as caught: + layout_pins("MSPM0G3507") + self.assertEqual( + str(caught.exception), + "Cannot tell the package of MSPM0G3507; give it with --package " + "(LQFP-64(PM), VQFN-48(RGZ), LQFP-48(PT), VSSOP-28(DGS28), VQFN-32(RHB))", + ) + with self.assertRaises(ValueError) as caught: + layout_pins("MSPM0G3507", "BGA") + self.assertTrue( + str(caught.exception).startswith("MSPM0G3507 has no package BGA; this family has "), + str(caught.exception), + ) + + def test_the_longest_family_prefix_wins(self): + # MSPM0C1105 有自己的器件族,不属于 MSPM0C110X。 + # MSPM0C1105 has a family of its own and is not part of MSPM0C110X. + layout = layout_pins("MSPM0C1105", "VQFN-32") + self.assertEqual((layout.part, layout.package), ("MSPM0C1105", "VQFN-32(RHB)")) + self.assertEqual(layout_pins("MSPM0C1103", "VSSOP-20").part, "MSPM0C1103") + + def test_an_unknown_model_is_an_error(self): + with self.assertRaises(ValueError) as caught: + layout_pins("MSPM0Z9999") + self.assertEqual(str(caught.exception), "Unknown MSPM0 model: MSPM0Z9999") + + +class Dispatch(TestCase): + """型号的前缀选平台。 + The prefix of the model chooses the platform. + """ + + def test_the_platform_follows_the_prefix(self): + self.assertEqual(layout_pins("STM32F103C8T6").platform, "stm32") + self.assertEqual(layout_pins("MSPM0G3507SPMR").platform, "mspm0") + + def test_an_unsupported_model_lists_the_platforms(self): + with self.assertRaises(ValueError) as caught: + layout_pins("CH32V203C8T6") + self.assertEqual( + str(caught.exception), + "No supported platform for the model CH32V203C8T6 (supported: STM32, MSPM0)", + ) + + def test_the_output_fields_are_the_same_for_every_platform(self): + for model in ("STM32F103C8T6", "MSPM0G3507SPMR"): + with self.subTest(model=model): + info = layout_to_dict(layout_pins(model)) + self.assertEqual( + list(info), + ["model", "platform", "part", "package", "pin_count", "source", "pins"], + ) + self.assertLessEqual({"position", "name", "type", "signals"}, set(info["pins"][0])) + + +class DataFiles(TestCase): + """数据带着来源和许可证文本一起分发。 + The data is distributed with its source and the license texts. + """ + + def test_every_data_set_records_its_source_and_license(self): + for platform, vendor in (("stm32", "STMicroelectronics"), ("mspm0", "Texas Instruments")): + with self.subTest(platform=platform): + source = pin_layout.load_data(platform)["source"] + self.assertEqual(source["vendor"], vendor) + self.assertTrue(source["license"]) + self.assertRegex(pin_layout.load_data("stm32")["source"]["commit"], r"^[0-9a-f]{40}$") + self.assertRegex(pin_layout.load_data("mspm0")["source"]["version"], r"^\d+\.\d+\.\d+") + + def test_the_license_texts_are_next_to_the_data(self): + st = (pin_layout.DATA / "LICENSE-ST.txt").read_text(encoding="utf-8") + ti = (pin_layout.DATA / "LICENSE-TI.txt").read_text(encoding="utf-8") + self.assertIn("BSD 3-Clause License", st) + self.assertIn("STMicroelectronics", st) + self.assertIn("Texas Instruments Incorporated", ti) + self.assertIn("TI Devices", ti) + + def test_the_data_files_are_declared_as_package_data(self): + project = (pin_layout.DATA.parents[2] / "pyproject.toml").read_text(encoding="utf-8") + self.assertIn('"pin_data/*"', project) + + +class CommandLine(TestCase): + """布局写到标准输出,报错以错误日志给出。 + The layout goes to stdout, and errors are logged. + """ + + def run_pins(self, *argv): + """以这些参数运行 libxr pins,返回退出码、标准输出和标准错误。 + Run libxr pins with these arguments; return the exit code, stdout and stderr. + """ + return run_libxr("pins", *argv) + + def test_the_layout_is_yaml_by_default(self): + code, out, err = self.run_pins("STM32F103C8T6") + self.assertEqual((code, err), (0, "")) + info = yaml.safe_load(out) + self.assertEqual( + (info["model"], info["platform"], info["package"], info["pin_count"]), + ("STM32F103C8T6", "stm32", "LQFP48", 48), + ) + self.assertEqual(len(info["pins"]), 48) + + def test_the_layout_can_be_json(self): + code, out, err = self.run_pins("MSPM0G3507SPMR", "--format", "json") + self.assertEqual((code, err), (0, "")) + info = json.loads(out) + self.assertEqual((info["package"], info["pin_count"]), ("LQFP-64(PM)", 64)) + self.assertEqual(info["pins"][32]["name"], "PA0") + + def test_the_package_can_be_given(self): + code, out, _ = self.run_pins("MSPM0G3507", "-p", "VQFN-48") + self.assertEqual(code, 0) + self.assertEqual(yaml.safe_load(out)["package"], "VQFN-48(RGZ)") + + def test_help_and_wrong_usage(self): + code, out, err = self.run_pins("--help") + self.assertEqual((code, err), (0, "")) + usage = "usage: libxr pins [-h] [-p PACKAGE] [-f {yaml,json}] [--verbose] model\n" + self.assertTrue(out.startswith(usage), out) + self.assertIn("libxr pins STM32H723VGT6", out) + code, out, err = self.run_pins() + self.assertEqual((code, out), (2, "")) + self.assertTrue(err.startswith(usage), err) + + def test_errors_are_logged(self): + for argv, reason in ( + (("CH32V203C8T6",), pin_layout_error("CH32V203C8T6")), + (("STM32Q999RGT6",), "Unknown STM32 model: STM32Q999RGT6"), + ( + ("STM32H723VGT6", "-p", "LQFP64"), + "STM32H723VGT6 comes in LQFP100, not LQFP64; the package is part of the STM32 " + "model", + ), + ): + with self.subTest(argv=argv), self.assertLogs(level="ERROR") as logs: + code, out, _ = self.run_pins(*argv) + self.assertEqual((code, out), (1, "")) + self.assertEqual(logs.output, [f"ERROR:root:{reason}"]) + + +def pin_layout_error(model): + """没有支持的平台时的报错。 + The error for a model without a supported platform. + """ + return f"No supported platform for the model {model} (supported: STM32, MSPM0)" + + +if __name__ == "__main__": + unittest.main() From f17a41447bbb492e66a617cfced557779fb73223 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Mon, 5 Oct 2026 15:52:14 +0100 Subject: [PATCH 04/34] Split the STM32 pin data into shards by series libxr pins STM32... loaded all 2898 parts (10 MB of JSON, 82 MB of Python objects), and freeing them when the interpreter exited cost more than reading them: 0.8 s per call against 0.24 s for libxr --version. stm32.json.gz is now only the index, from part to series and pin set, and each series has its own stm32-.json.gz (at most 0.1 MB). A call reads the index and one shard: 0.28 s, 40 ms more than libxr --version. The same pin set is still stored once. Co-Authored-By: Claude Sonnet 5.5 --- scripts/build_pin_data.py | 43 ++++++++++++++++++++------ src/libxr/pin_data/stm32-C0.json.gz | Bin 0 -> 8513 bytes src/libxr/pin_data/stm32-F0.json.gz | Bin 0 -> 13878 bytes src/libxr/pin_data/stm32-F1.json.gz | Bin 0 -> 15362 bytes src/libxr/pin_data/stm32-F2.json.gz | Bin 0 -> 6695 bytes src/libxr/pin_data/stm32-F3.json.gz | Bin 0 -> 20851 bytes src/libxr/pin_data/stm32-F4.json.gz | Bin 0 -> 41552 bytes src/libxr/pin_data/stm32-F7.json.gz | Bin 0 -> 38077 bytes src/libxr/pin_data/stm32-G0.json.gz | Bin 0 -> 12273 bytes src/libxr/pin_data/stm32-G4.json.gz | Bin 0 -> 24900 bytes src/libxr/pin_data/stm32-H5.json.gz | Bin 0 -> 60838 bytes src/libxr/pin_data/stm32-H7.json.gz | Bin 0 -> 77099 bytes src/libxr/pin_data/stm32-L0.json.gz | Bin 0 -> 13395 bytes src/libxr/pin_data/stm32-L1.json.gz | Bin 0 -> 19137 bytes src/libxr/pin_data/stm32-L4.json.gz | Bin 0 -> 50296 bytes src/libxr/pin_data/stm32-L5.json.gz | Bin 0 -> 7101 bytes src/libxr/pin_data/stm32-MP1.json.gz | Bin 0 -> 45483 bytes src/libxr/pin_data/stm32-MP2.json.gz | Bin 0 -> 102633 bytes src/libxr/pin_data/stm32-N6.json.gz | Bin 0 -> 11958 bytes src/libxr/pin_data/stm32-U0.json.gz | Bin 0 -> 4995 bytes src/libxr/pin_data/stm32-U3.json.gz | Bin 0 -> 19378 bytes src/libxr/pin_data/stm32-U5.json.gz | Bin 0 -> 37728 bytes src/libxr/pin_data/stm32-WB0.json.gz | Bin 0 -> 2050 bytes src/libxr/pin_data/stm32-WB1.json.gz | Bin 0 -> 1655 bytes src/libxr/pin_data/stm32-WB3.json.gz | Bin 0 -> 1173 bytes src/libxr/pin_data/stm32-WB5.json.gz | Bin 0 -> 3465 bytes src/libxr/pin_data/stm32-WBA2.json.gz | Bin 0 -> 1572 bytes src/libxr/pin_data/stm32-WBA5.json.gz | Bin 0 -> 2788 bytes src/libxr/pin_data/stm32-WBA6.json.gz | Bin 0 -> 4390 bytes src/libxr/pin_data/stm32-WL3.json.gz | Bin 0 -> 1704 bytes src/libxr/pin_data/stm32-WL4.json.gz | Bin 0 -> 2574 bytes src/libxr/pin_data/stm32-WL5.json.gz | Bin 0 -> 1983 bytes src/libxr/pin_data/stm32.json.gz | Bin 650711 -> 17765 bytes src/libxr/pin_layout.py | 14 ++++++++- tests/test_pin_layout.py | 13 ++++++++ 35 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 src/libxr/pin_data/stm32-C0.json.gz create mode 100644 src/libxr/pin_data/stm32-F0.json.gz create mode 100644 src/libxr/pin_data/stm32-F1.json.gz create mode 100644 src/libxr/pin_data/stm32-F2.json.gz create mode 100644 src/libxr/pin_data/stm32-F3.json.gz create mode 100644 src/libxr/pin_data/stm32-F4.json.gz create mode 100644 src/libxr/pin_data/stm32-F7.json.gz create mode 100644 src/libxr/pin_data/stm32-G0.json.gz create mode 100644 src/libxr/pin_data/stm32-G4.json.gz create mode 100644 src/libxr/pin_data/stm32-H5.json.gz create mode 100644 src/libxr/pin_data/stm32-H7.json.gz create mode 100644 src/libxr/pin_data/stm32-L0.json.gz create mode 100644 src/libxr/pin_data/stm32-L1.json.gz create mode 100644 src/libxr/pin_data/stm32-L4.json.gz create mode 100644 src/libxr/pin_data/stm32-L5.json.gz create mode 100644 src/libxr/pin_data/stm32-MP1.json.gz create mode 100644 src/libxr/pin_data/stm32-MP2.json.gz create mode 100644 src/libxr/pin_data/stm32-N6.json.gz create mode 100644 src/libxr/pin_data/stm32-U0.json.gz create mode 100644 src/libxr/pin_data/stm32-U3.json.gz create mode 100644 src/libxr/pin_data/stm32-U5.json.gz create mode 100644 src/libxr/pin_data/stm32-WB0.json.gz create mode 100644 src/libxr/pin_data/stm32-WB1.json.gz create mode 100644 src/libxr/pin_data/stm32-WB3.json.gz create mode 100644 src/libxr/pin_data/stm32-WB5.json.gz create mode 100644 src/libxr/pin_data/stm32-WBA2.json.gz create mode 100644 src/libxr/pin_data/stm32-WBA5.json.gz create mode 100644 src/libxr/pin_data/stm32-WBA6.json.gz create mode 100644 src/libxr/pin_data/stm32-WL3.json.gz create mode 100644 src/libxr/pin_data/stm32-WL4.json.gz create mode 100644 src/libxr/pin_data/stm32-WL5.json.gz diff --git a/scripts/build_pin_data.py b/scripts/build_pin_data.py index bbb912e..37960ae 100644 --- a/scripts/build_pin_data.py +++ b/scripts/build_pin_data.py @@ -71,20 +71,36 @@ def git_commit(directory: Path) -> str: ).stdout.strip() -def build_stm32(st_data: Path) -> dict: - """STM32 数据:型号到引脚集的映射,以及按内容去重的引脚集。 - The STM32 data: a map from part to pin set, and the pin sets deduplicated by content. +def stm32_shard(name: str) -> str: + """一个 STM32 型号所属的数据分片(系列):STM32H723VGTx 为 H7,STM32WBA52CGUx 为 WBA5。 + The data shard (series) of an STM32 part: H7 for STM32H723VGTx, WBA5 for STM32WBA52CGUx. """ - parts: dict[str, str] = {} - sets: dict[str, dict] = {} + match = re.match(r"STM32([A-Z]+\d)", name) + return match.group(1) if match else "OTHER" + + +def build_stm32(st_data: Path) -> tuple[dict, dict[str, dict]]: + """STM32 数据:索引(来源,以及型号到分片和引脚集的映射),和按系列分片、按内容去重的引脚集。 + 读一个型号只需要索引和它所在的分片。 + The STM32 data: the index (the source, and a map from part to shard and pin set) and the pin + sets, split into shards by series and deduplicated by content. Reading one part needs only + the index and its shard. + """ + parts: dict[str, list[str]] = {} + shards: dict[str, dict] = {} + holder: dict[str, str] = {} for path in sorted((st_data / "mcu").glob("*.xml")): package, pins = read_st_part(path) content = json.dumps([package, pins], separators=(",", ":")) key = hashlib.sha1(content.encode()).hexdigest()[:10] - sets[key] = {"package": package, "pins": pins} for name in expand_group(path.stem): - parts[name] = key - return { + # 内容相同的引脚集只存一份,放在第一个用到它的系列的分片里。 + # A pin set of the same content is stored once, in the shard of the first series that + # uses it. + shard = holder.setdefault(key, stm32_shard(name)) + shards.setdefault(shard, {})[key] = {"package": package, "pins": pins} + parts[name] = [shard, key] + index = { "source": { "vendor": "STMicroelectronics", "dataset": "STM32_open_pin_data", @@ -93,8 +109,8 @@ def build_stm32(st_data: Path) -> dict: "license": "BSD-3-Clause", }, "parts": parts, - "sets": sets, } + return index, shards def family_prefixes(family: str) -> list[str]: @@ -194,7 +210,14 @@ def main() -> None: ) args = parser.parse_args() args.output.mkdir(parents=True, exist_ok=True) - write_gzip_json(args.output / "stm32.json.gz", build_stm32(args.st_data)) + # 先清掉旧的数据文件,不留下已经不存在的分片。 + # Remove the old data files first, so no shard that no longer exists stays. + for old in args.output.glob("*.json.gz"): + old.unlink() + index, shards = build_stm32(args.st_data) + write_gzip_json(args.output / "stm32.json.gz", index) + for shard, sets in shards.items(): + write_gzip_json(args.output / f"stm32-{shard}.json.gz", sets) write_gzip_json(args.output / "mspm0.json.gz", build_mspm0(args.sysconfig)) # 许可证原文随数据分发。TI 的文件不是 UTF-8,转成 UTF-8 写出。 # The license texts are distributed with the data. TI's file is not UTF-8; it is written as diff --git a/src/libxr/pin_data/stm32-C0.json.gz b/src/libxr/pin_data/stm32-C0.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..89bf060ed5b39e9e79b9b9fae39dc36b124c951b GIT binary patch literal 8513 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 ZJUyr$a4Y{k&HnL@PxDw_JMIMo_z&%qOzZ#v literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-F0.json.gz b/src/libxr/pin_data/stm32-F0.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..d44c20093a32836406e4ea333b2b9fdf4d927996 GIT binary patch literal 13878 zcmb7~Q*fryx~*f|w*H{QPCB+b>DadIj%{^pvt!%(W81c^leN}9>#SX;_Nh9v>U}Q8 z)ps+;_{Lk4I06O+$;4S7_s5IGZC(7GL^iii_piw}TO!06ANQ|{f>%{ln|M_U?F9Gl zO_!6oFPwipCPwMfvkH9PKjjowxi|_ZzR84Vqx;-y85&x>{db59? z9Q~~LwRsBoNG>jJ_tHq@Tg}|eKfC8}fA|Q0zPVpFjzW*XKfJxC_TbI!4o%aCsv>h?)|b>e$jMoXEbGZpHdTa@_AM1q^UB# zzuZ<0RJJSWcvH<+;X`BY3yQwx?40LpW_LF7O`cBXJ%cgwv+Halyf<;5gK&9tKN1B#oesWzgQv|_89BHa>m4_!`4%3rc-z&*3$+jh9Hx;(R}{1A=2!t=`T>Ps)pPGCamx9UX6_A$I)r&ASn-hEtu5_}9Q<>) z7_xM3@M75TZBzagt+Xp}5ENL&l-zVWoom)!@J>YPVJ<&tTjbrhke;qoE@|@Cd#C*7 zZJTp)!n*k&!pJbr*yVxLz-TH`^=;g?(R1eH5V;95>S&ozra|GpZwPQYa?__XD|n#m z^K~^z<{pjgva4p*@EB7BcXM=AbV2I`e-iTmvr@$L9P?uHU8J42oDnZ1iM|-UMKVly+_~-3fvwAp&yh91svf`iRr4h-!V9Pa%eO| zUk?N>5)2HVdIKAoz4KsMxbKFzK49*myFZ<9FdVmhw~={mXdq^Pvi&w`t=i~*?}0l! zgl-g@M7x<^I99!DUi)XaI^o?r7e%HuH$fOXh>r8wg0dZP&cfy4WWU}$mYXtv`eY;M zKpMa8Em*adA(YeV)73YD#r@G&8kpvWhc04M6#8gD0(<8XN%h*3gLuz)@b3Z$VDN7W zW|qo_`o~F$w(M&nqi@-LTu*h#e4C!@9PoUndec44tz0&@@0~t63(xJdzLzI^O^gfI zac-87(ICK7&!QnyCyV4&A3k0$ANrW1x01ByiJl+`zTJl;ejNw{&rRE>i@nJ^oh#I>(*)sCGYT2|~r>zb= zI!D)`qExL$T@bLcM#L(ZYRY`TGBmX(y_zHn8};}=W65}MH;IODh)UD@a5O{SJ{p1e zA-5cgn6O7$De!iTw18K40BzYib)G8yinvJC4|@z$?Yb>Hf~qjP=1^HHy~eflm8R*_ zV5(oH?yVUyj0wecx%O~W!OTAqVnj{j7_j3OOjMm7Rg9Ll!zZZ1tMxx=xiqQC*0o0| z@{(g%%Z}Kxdi)Vt)vg4=T5u?0lXZ{N(jXK%dj6)$^Nf?>vQ{(l^#HD5Wut!GEhsuo zVCMyo7ae6p-N2omG3uKYFW7{v^6U}XYqu=(l<^iU9>`x{QYoWoDhck`-jd919tbW8 zq(g6)ir6qjV!c7>Ix~7P1YzafGFhQ;!Y{kyFvFw=o$y5Bv5g9BmERB9!NXC4GteYJ zZD|9ccC;&GU$)j2LeH9Vuc zs*ooicx04H3Iom~P4IxLeT)rTla=_%^jZpaAt@Fsvb51bYFc^9+;`&^#X5)sV)0Ic zP8f0r>~v;B1u{c>;2QaNtbBwRBW64amo;r#Q2LTZ1E*|))JZMRyghwp7N!!th&Vs> zfhHW#*YNI6vZZW<1o~z?eLYj12WoJ6_(pz62X@t42@jP6Js*~-h64waL24+xMXkxP ztv-Rvv{Sirl-kwG3k88w2mMCv_5HA<(ruqB23#_&Fm|dZ{k8B;tMY1LW4~kR^UyALNt92&z`E{ z&oYQM2Oz8SeYiXYZx^)P>m@+*v=cMCq}#f`6;qD6xNFASHwihrj!EyL1%@#)T|-iJ zs^Q^Tl~;K2pIAe7Hm&SrK|#Ovo~+VZ=?dkV|B#$zI)IT*Aa(B$E%P~xC?0a4^a?2B zyyel@_MEHn+V<6EWe$Fy`#F!{xHzL3u|c^}+Go!KloQPO2u z{ju%$oDWdtX;dBnoT__kuhZ7+3Vz3H2As`TtM=*eK3k=YUb_{-$OF13;9Yd8Z~ZeL z4OiW}c)dTT)pNT?;dOMbZv2z6+uMofN6Rb4JzIAU&%me{$9D*f4 zA!V$xTH-!I=ZU%0DZ1@sb!@9*JV>oKw-&>Xdrf(rZ(Wx3jn5_@&o|#Vjusa$A6fX< z!rN>^dZX1zTxmP*@r#>s4$dhh%tBod?Kh%D0>B!6U(33Cu5nd)i0Zt(Jb3MEQGHVh zBF6FfZOkLI|8zbu+-$tpv{)!?3EYp9cyvOfW9lMIyhDib_)YS?J0|_a(TlX5fu)Jn zB)v(ZA!$5^CCZC#c46{RrNG9s>|tpw*5iIvWX*#Yji}*turfX;Qd{RoeM`4UnRyo> z&MQW9#9O+z(&PHffuJNlZ&zi=sIV^J?f#1Yvwb}qf9mD@>W*mQo9+p7iJ6T?!|P1j zJ?>Amt@DV5O{z6Kz983zcAn+Gtv9_=hlATywnGB}5hwTOKyvJ*%?+|JIcpzoob%Mn zc6RD+r_oDW4t>+A=4GG^w@4F{ZR};4lRwAdav~b^nMa`o6^;K}rBh&VQsG;g2(x>e23R;B7xkET^cx)nM!>oM%pUyak%%ot$7fEiWo5)R2s&9#xObLqDwU ztrbG6PIlQp_JMKgefwMuOc=PfJ&k5V2H>MWh zd;GY0za@#ONs1 z{%?h03pv9oB)-5C9MOzeoyfFadNi!7K)!T*RyMskT6jynN%1ONBb`yu1|0#kN7Zns zmX)Yt^;zQgP+s>!Tk9|n-Cc|XYZ(K1;P=d6j4E|{Q6t{01EmAQ%`YUPKYA=D`q{1Q zgdY5wS$-hL7Lvz_F@C7VhJE8XmW9ect1h1R_C3esW06MGar5RW;rsQ@>!_sH^Yhh1 zoi{dkC4SS5+k0<}>jP?2_|s{e-7fi-7#6!_r)nSVi3(wr?skp6lIJ12b9qA3FRypp zBzJjl_+fm-=ecp~s;tJWjrM-AiV6-!1RQxDBN2OnpboF>tIAr|_CasQin%KP*RnH? zO`CW68C5M?28PQ`3onQhMI9gRm8OfA9VK02B_+n>^!aT5uCgZ8F3ODU?+?SQq4<^| z=sq3%4$TdUZUEJfpgWc4H~aCZ3RXOFnBC2b#VN!2aq7xgYMOALC!uD*D3c88n+XGx za=)PrxY!~30k#v*_?jy`1(*axEDQ;%0GY1{NEiqj=s$%}_t;Q)FO$RBItAG;BZ%SQLvr%cHZZ@h>n$m(Fn8?~ zcjV#DsVa92k_N^GX$CiikpmD=^eqCB0sW@{Brt>H%Qbc9bRf-1`VW5qlK_qq1#LF9 z`N~H&bB8k%I@gRDJDD;kjYM7q7V)Mt6SbHlSwrOAwuH&slseE4(G!&KIqzCQIU5RS`?d<0 zfW?Xm3t_3h#gq6}#nA9;Gb&}$bP_-g{{krmQ2;FflYkV$(xd-}PZXgvV|3~K!u~ej zKxbzUH%^?-=EH-PSy7@zuIW~C)XQxI@?8`1S^s z_c>w|8M;O&NcpKr*f8O@nT9@5$O+PNcJD4uqyBiJith>EnitQZz&+HRRC|1NuzC$1 zYEiPvl0};sG2RYVNeD-qZPaK)4)vF&0_27#`a*O2a+-y+Pe$w4rBH?!orVP9I>jV^ zc8ZyQjXG^-ktV9=lg6^69&VLbp;tSea&$0c(f~6(Q`B3UuGwx3X1w?yzlsC_{->IE zo%C8OD_7M7S&igievKrRLbW6nd97p-S*>K2`VxhBU%K0m=(+wrhV#sfmEdOMuR^rH z90wi+iT7G#_Sd=-Oj>6~Qq+av7E|OVZz6=G=fD63#ek$=Ak+^9oD@n3A#kbqiZhZR zJq`lJm;~5GDL+BMhc1=aUjObIA>%!o;E2(!aa+K{MIASxDVx8JJQOotpuy`H=(s8>x8Z4uiEwd%Hg*XC` zNi*5M|Hg{$YUxuyJBVh~PbC^FZHKFSU$WO)Q)V=;N^#jYeXk8Iwmd7Ct{h2$+f9=# z&aF_VuP`0Ylz7o7P=H-vDN3uc|8vaYhLrb8^^CBEm?>eoPEk{4t5tD=&+KV&CWbV3 z+&HXov%Ir6ki?MMIb2;hdwQ;UP|#%C(zVfv*;fQ-yN^QJl2O@Tb%*<>PEIZ)n2T*L zHx~)f*{noZn2^hva0OfhPijVo1hi~cE;IP#?ov6E9WG{Fs6pN?Anp6y-&~W-T9b-u zxhE0E^UzlQhk;qc7QzOL1wc|N0d>hlyqmHa-ZdAHfig6s7=s#Xxa}+wJZYn>k;gOl z1i;i5LF`<(ES&_%gCfI}2agNKmB>^U<(iyD>dOaoffOLA&CMDR7$j*-spZwX-KMD(Le5YllKEi~35%FNE6ElpWjZy#7@2sKU( zoYPQl;?5a6fpQnpw`O@OY|v$hJOL>R+qLuk`VA#`g8zlx$pp8z^Xu1`i4!E)p;$YF zf8*^MJ$hf%BqQ^B^c^nEX zf1~Bj4L71CyUaSrQ;QjVk;L`_4)5Ur<&1l^muhh>U$__fNcc@@h%x z#9#+c6x$#UPW2d9kH*OR!+%FVtw8gHDQN6I>obhe!+y})HwL6(hxQc8|;%$5mJaeYp5OqK~yS!XI;Om}fVIxRB~ z#Z`IFvoxm;kl}8eYD+FvlF34_I&2r=0&ja>hJ&cptP&XTqkT`7D&ViY zW8B}pKYp&MdeiBs{By$-_U{c(^~%?V#{?#sak2xx1JR@SRH6w040xRYg@}RhFV8%E zH=MQE<;gMhani~hjgB*RDp}JIBF`~#mM@-t_B0sMoO`=HK7KW9fnM)6nJpgZaUjDb zp;mxLXiz3}W1E*lKttR|8JBaH4p#RZL3!R0%MfCrD9t5{DtI9sCGw;H4S^x`5-MgA7{;9{!T2HgXk2p z@wY!q#!6e?o{Kmz__I#LNO8dV3nbQA+BWqN_z&BBNLLTQnrd1%jcnd{1_xDbA$a;KFS#|j{mE6NP6fu@%%-xPPGw5p% zwhJ)`8;OoX%_OUr(fz~k-@;+HEQl=3z*Fzf{ClY`LDTvyT_qf%Yot*_8JAm0pWBu` zsb-tjY6qK-4Jipr0c!Y&MN7X5_&tBOUyJ#rivgm6uccZtz|D1UE&XZnlNR?ls`c#> z#i#i59@wI7N{wDH=tE30fi#W0AHMcs=%9mzK@IfgWgWI73MV1bw)V2cZIG~jbZp<= z)wb^v>_x@4*5`-21Ho3pWhjv<|0)t&vs~fHNaQYJ-9C6gfnr*6L7&_5B9l4+)k93K zeHiGS!x5#vaa)tox^g*83jSG}l5dznlqP+$dD<%sib^T5xRa8Y6n7p_b#fm>NnsBG zJEGA}Ns^hXA-yG>i<(a3l&4IVQ5)I+qwFvwX%aCf!!>h5Ks1bnc@>#4jx`0!9g)-M zCsWG-YBSAcLTD#3rq`6CqoKL29wp%0N468+urH>Hdf|F1rVsL%?uK4xBJ60Zuy4xO zpDFIYp2?M+`@w4elaLMj7h3G0VkUy*sPudekF3MS)xy36vqw$1 z=?3A1+79|S3TpHD4_zyrr0u_!AZn<)-&C^Z=e0R0V-taK`%@P&{>F>*e0_x z2O?LFz4oj+#sYpbjgNOps9;oj;@K})XSy`+Ww!lokW41tvzL^?=?q&X9JEb31@6Yz zBh6EiByDH!V?Q*DR2(*OD%^Si!B7Ulf=F^8!_(J86;2LU80!qgY;Ij<Ho*ELF*F(qB8yqBN5|D6I=?7h$_M&7{S!DwsuYq!fj@Qj#*-MF+ zMc9KjgmSmj+wRN70s&s;v4^~Clgo_a2sR9vNYeuofx%t=BbIq~(l(i2~9u88=> zXm@N67d%`w6*9*Gz2a$Kwt((~ri>^$$IGb%m1e@;k#elx9qlOS0xP>MsbCKy_?eG& z)lcW-D$1Y;dD$o=nmk=q-qiyXgadJj80`wW%%9?c+x z??Bagc%XSQ4G#pUT*C-VVwt=pc4B$1qPAUom>s)bMb-tTPf;8c=pR+T5M9bDR@Op?`t z)!po<9JT9PMo2B&pe~y!)sexe9L@Py>E(!8d@*56W(uOpypBN@VSbHDlNckbr>mGv z;vyZMbI_o}WNEK;1;UtzLcT&7gmC2si>db*M@qyN##14I_S<8Z0@oxd-YF&ZSFKs6 z(6Jd#Qt$W;O<}sc`XC-<30f4I(ug>0SxP>Ha;>~S@IX=(RV=$SAs-^q&QY88_~1$v zYpYTkWN;%eza6HBhFj%>&{fP;l*krqp-ZLc#x$a6Ii*Ky=GCL^SXEx?WMGC=h zyXg3dap?2e)Kd9=K^7ryr}FkjCT@p`lbGtzCwAo7w#hUQ^~Lsar{LIH++E}h7!5bG z>RSV52ssEBiHSqUq@wq?Tg~s^!f6H$T`z{VEVjou$vfiArWM^C1*hHiqei4aa|*uw zOK7vws>jY$Gln!t!H}Q_!T$xXvb$!wu5kD~G-6U-q?uik{|Ui`Lj!-|Q*QPY0MC`M zjzu@fM&p7D1V-cIq?X^>sa6m(rR6FjpY4-^Q~m1zr-v6IIVLh)8&(5=>8`WYH+8 zvG|4?4c3#joEGVU4i{|6uhWyEV$v9CTy@?}cx!0jyvB?41Efd${}v7ywblQaOo|&U zXE0VPOD)Z+c8GAAAqv@O?E}tmRvRR3uAUFmZ72Pv$_#y8Nm?%u9v8ACIUVUuU$}*_ z)u0A6pY(e9BxT~LDrk(t-q(%CI;@(w0Ho9R5W~{d)%0n_d(EI=7D4?bVYn!Qw{qD< zAKmF8FKqY0M`uIUE}-)sJU|v122qNO zmxO@G`9-7thvML`n_iIxYb2X_`q-|w@b_|peqEfRj~h&U3S&EXacqDx7cR+i2??T* z?zA^V2U^w3NL{C1Kp;3TmM?i zb)VD1u_Kq29|iFgpshw)IpweVgef%_q35Fgt>lf_0;fr8jC()h$PbH_5DiYT7UXOy zHC4c`TQ0;AgAZE=*bp)owTnuXA!&ER;O62@fh@N+J#rq1{)O07xT$jP#$OFdy=nRZ zeyde_;g{ATVKvfsjP>CYg=BpTJIqkiN=T*)E#=)GITk}2~qwPqWl$46RU4z2$qh`;Rg`S{24S2F)>@*6=P5Y%?8Zsvsl2WL0U;_RNAYhM0dt0J zV>W$o=!{ShV0&Uw5ID>AhDF?CQNUrDzi^BXj!XJ(51bOWr&!!Qc1WsSZ~GMD>jHg+ zcz``aU!t!5rI+2!=jR3Xp91p|H8*P9Had5h=EL()r<(^oZ(>D{eWzp3RZ9M-#9u#4 zK*$@u_=-9d|6y;W7FJR!1-z9u3AR!9-1}bNBsS{BUkB~uiBfyiRH%{=1EQd(8p3iFsYoFmi~%mZVabNSs{95im(St z6l(C&yoLesqsr-_;kvj`dNbcRoYsz?CGmLge||_xBjGd4e?Lyl&?$`-56r51dK}IV zz~Ktbb&SppxNBiE!WKH@b3FRWjemy6|A9>EcT=PDSO(~2hgb%Vaw|?JPTGQmghdbQe+Udm}fHntj&GOmtnbm`pP&#k+mRF+&TR^Rw zTiuB3_wzql8T)3`_j7V+lQ~Z%)Hfd1*FOvrM2w%Ke{xtRKdNbi&MaW&h;<)PM1;hL z4$z6yml2R2SKtLw9g@tSEt@;}dWf8><%PKTJX$cXT&~kCnisoNX%%}d>A+D(8PVpK z{xnYLPj~>xm?ras~`?Lc^W$9Q2^%hcj?&)%K7!UrM!P5TRLWW>V z_mi6q^>3jt)^zX6))3?27#ie>#h6Mp$VF32X*4OA@PC)Ny1f z6o#9I;Rz`i>8h>{v>5eTR>S8YW4XECyJ7(rfLANRNbJ2VooYg%@|^!&*rZ{X8u+Gp z4h}~=&?a|I+RIxPfK6iryao&M&4ZMhoz=`q;A*?DxQXDJ9W43isSFy3mA^+Ttmhxm zudb0h=Un97t%!ILy7liDO|&=3u+_;aK{Opjp{}rTfRk;gYh=k)(teS~DDNnjs(5_h ze8$dEVSh9Wdufe|DL>ITon=;;XIVHkDC4uJ+NE4GD2@ z;PEV%odP;dk9==_g6!{J@=MXSd2HeUWNjPteqr4Rs(YOW!I#@-a!B^Y6y`iZlW)3m z;*3a|Xfqe^is4G*g|tAlOfLLbcZ+%P=N0a;?h5mQTt)ejeRfNyc^~$o(D28W4kGOP zS4D800Xy#O%r{h$cr**VxCuM~L&I%+H)9E@AaLyAWg~=q*a-;_#TML(``vV&~YOp~qe;e}aFMNnG7JNm>&{u>g zSn?atU@w033Gh^E2lv=%al`aYxmlC_tRR!a{UwrIxk^V~IrHaWy;~2&B#5 zJsDo1TxPVhL@&s8t3-@O`i^$4=v3Oq^t~C_$GQlH?OK^;Pav1L+h6(sEL8*~vlauH z4mTRCiOfA=lEY{}zY;_`ls+t3JZBG!%dd~Y+kfetrk5o|jLA~}s{_RRqXW=#q)gxA)Zn621~7|EmKWe02bduLODg>HvP~gFqj-up45fn>T1o)=xo7 z{I()19cN5^sSc^s&z!*YT?I*w!>(Fi4{ao-dwMw!E`>D0{TfY?6!{eW?)uQBJ~BMr zhRe0k!Fwps5EQ$o9&n`5>=xthLADv|`=l{P4w9!U4mdtft@?S;nM`U>!BCXIC(ZyA zO^Mz2lE+>Bx@cXwH9e(k)ecEX#R0Z zFZPZFR}n$5Q(Cko1vmtAByqo>0o!{;da;_L1E0y8utXSH zawq;dSP)Gj{3_2WWSCn7qsM@KW)g~Ny2h1nlnbel0mNR)R=EJP(S9#WY@37%9^i=H zMK{xk2}BB$2UVJ;KgFmxwv=-O4UtBho`H5KUIgNov~cB)>ULLkxsbO6w}C->7*E&X{~(h+mLvXbnHU+rCLW*w24e;!>@CV+W^bPouxn z8z3KnO&rAj%MJuByTyy52Pw=B@1V-JfH)0B1wDOsmaTer>ens*<2bXt;2@{1&uWZu zU=oTImnJ#pmGx_l(j9Oi6%dj8(nK&9r>M@naQ1h zLM4r2Syet_dN&c^)FNQA0X;GXA37$TkYbv;=D^Q8$)X84M8fkR#|w>tpH#JoTyc4D z!Rh23u4ctbl0G@}?9NeK^@4MGnrTJ?H{EZMsfbCwRK=A)zW?yP|9n20eo!QUMnVBP zK@B_A-Y=U5XQtClN{WI8MotaU>igLi=9dNhd{+~^1v@8THq$Zuy#vK?Yk47ttZ^_c zfI!-hBJ>YL;|Z%xhde^6u@g~r)WMC{7cn+Xjp_5SAY{Ts8BXPI666CTI-^)>bFTH3q}Ca88$mr~C$YGh;%|)5d~xQ${E8sBfk=2ZjN@-| z!#t&sQhZFE0)TapmGetek14T_5ABxf`mD);T*lq&NTHycg1kB z>M0u+M-?QGG%*T}ZBdZ`Bs@7HE=3{w;6_9e^oNVW@5+UhTRd~RT0Zi}xgWJ2@XFk) zdZ~obMrNxr?5ZXlT`er!KK%ExFN*+IUsgUp1A{m8z=kg zo}<-6U5a5{Oo~OdE1^Oi_6JpI2Z9~v`8>+dOsCHG_!sYodj-_Kr#f-+I~77Jv6H^Q zI(MYov~kB2LGc^Xu!vix%7|N%om5t2huGg`LD@0#~_J)@T1&M>NQ>7cj z5a-XSJHy< z=#6$K`7wZNLNy{-;V!XM8~>;9%v!t8+8S=!`;;o&%38qv|AtSVlj$EEWb=vG0|fJl zTNy__U5s3R9`rfunCAKF?kncRZE^zLa{W{~_4=_yHQziU+3D}CDCywA6BD3)R8HMj zBLqw%vmLSZKgE@jSUlLv*A-W>Oa?mZNAxXdH1|x)Nqqe@^Qr=pIYQ5eWm!AjaLk+N|@m$5h(O;em4W!6C8ST|nHgx1gZO8d_R z!!p7utdjaC>fxEAWHi!7D#zzg$QuXE%rzhZ2kAi-E;O+&Zh3L)UCO}V7U=P73MPb# za#;xEuuP2frsaw+`T9#GZ#~u6sZRz{@ z?76tSX2Iark|G>v4N8~(gsQjK6_ia>R)r&(3ejsVBng>Wg=8pGFrZQYpD5`Fu41k|7TGR^CVm1xaNk-L!B1vMB5gng$ zYSEU~OYxrz=?)4j6J?&Fl(Zx?inYzA|MYWD!{-;C6D_~ z*co*_m{`KxDa4B@f12S|Kd|T``&Y%$*RT2%pzRS+Q+_$eb}1Z3s_L`)&Vq#;9k?GE ztw}Hy0P<3f)!MXKMV9ybo)FHUHGQLScyR8AGk;bPhK{>jV)Cw%v8il3FJgv=CiRb7 z7c)D)VUJ$&aj8RxpNB}QVPkS+($??j`43a@XO`qx{We1ANuclk>I?vX=;rJooar0} zBVTc)5|Dswf)mq3nz=X{`x1E7c(-UN$q@H2$_Nw7q-Yr=g=WsmLMO}0SisE69E`cO z1(CTmt%*juR8nQWN1MIUSUvl9APg$y8qbbY>pedJ9x#JhdhwL|`SH1#m5S{j3jy-K E01Igc?EnA( literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-F1.json.gz b/src/libxr/pin_data/stm32-F1.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..4c214b4da6cbf431917ec67e4ac0dd6863ccaa5b GIT binary patch literal 15362 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 O{4NCCaaN6>K>r7vQodRM literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-F2.json.gz b/src/libxr/pin_data/stm32-F2.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..03b14a1b691046630cc9b652663359df07eebdba GIT binary patch literal 6695 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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-F3.json.gz b/src/libxr/pin_data/stm32-F3.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..98c958c93f2b70e5471fd2966ff9d084d3268386 GIT binary patch literal 20851 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

1{@W+)USKAc)t4B(*Q8=*vWYITei=)8MCq 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

dnVs+Q-mvHdqesC3=QJx#p+1{-eDR9FV~bG0t0J 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 Y?E+=QMDaoY_0NC)A3s|j-(fWf0J9dr0{{R3 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-F7.json.gz b/src/libxr/pin_data/stm32-F7.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..3e86083831543638d94dcec49c155cf563855b4e GIT binary patch literal 38077 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

wpbr@p}vX)WKof-$c0{DBVWwQ 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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-L1.json.gz b/src/libxr/pin_data/stm32-L1.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..403e07acefbdfc4dd3c56ace523f91b49785d7f0 GIT binary patch literal 19137 zcmaI7W3VVem$iB9du-dbZQHhO+qP}nwr$(@*t&Dx?unS0j{c@1a>bK7GwN4WX6@Xo z@S-3f0Ddo^e@@OeOpG+r478R`cD4Y2eYE0^I1^9(IO=v{Q0fv-XWZ0Eby9RR%H}kf z!9tvMQKLXz!MLEWhxC6wOEHu)5GAw<0~?ztbvv($X%tUc4nKRt-{$sm;hw9EJIR;r z{ypUNeSa=J{`366tLyuovg@n+*X#R6UA6b~vDNo)?%y}wZsA zZ*BixKm2?@ulW8w>;3zf+k3l*gC_lX8T-D48~gY6wAb71_p-HS7j>)W`|ri4HOptG z?_bCJ?TGcOh3&u3E$e^%nSOk||Bmka_nmejN_A zva_OkBE4;0Ty1*iWYo2J+V;Zvar4Oc{#!e%iyPzf_4$rl`?m%2?x6c~|HghLE8_F@ z>3H#-gEH1P4aFo<{T;>U!|U7r_P~p9`_I?@)PG>^bPsI{@1M5Mrzd9gk)EGlw$Jy= z4+@i48JpSk)A{oVr%z8^*=<~vjKgIm(_`y*-OkHQW!AmzC--*mqY}th6YqDWY07$S z@At;dM0I<{`3vzN&%Kh|!!nXxUH++L%R}^E@tXbz)0&HBmIp?OI=NFJoRm??P?j5@H)zQvsRXCPmW^P z*2=x>*6q|xZXOrc@O!jC-fZ0aFxr<-rQ2*S#b(xMHRZw%ZnlsTwS8=6Uxw>U!gBM} zrq*!l)&`7rKgQV(E8;Bs?Jd;q5Ep{FTi|}oi_>e$wc%M=&yx}4=Gv7tX>9@5t-5}K zhf(3h;h1kF7msr+yRIPGu19~AI9lVyVRKUEP#MOtEna(F?`AGDLtmG55U z85QuHPp_$q`RW%9m&@DrRj;j(9;eqRx`3f*modHm7}dN@4qUCV*V@0IJ#7;}YLHj7 z`UZBDgI*-K?YQc0IZ*B4g;#w}jV-nSre|NTWACpgy*t#~oHvd)*xEVw@1B+y1v`k_ zlsA$*xp;1SFL8ceUq9A4%+KtNe+IOmDYPctz~q6pD!-0>O4R9B{ntet0dVSi+0-^ zEGlLy{8#!X9IrV`l-aA4+n1jXqnu+JfAyRO{nXgoU9Oo(o`pysVrtnPLo#6=Vz$cFEXZpO~U9r30`@Xl}sMH1%bV2v(HIO&k(2L#1B-v|- z%0eDbUC*HRSmSp=siy9J=yjFc{JyUIzMtEIYD3&HY^mkK9)lds6KUJ3Vi^cDvsCrllUc?o@9**WXq1qILyUy>+g%;Zf+!`Vi8vR(;a{4mhC7PTPZP3zPuAh|WCqpH>Ef-&)I^e4Q|MV}~ zUn4ggOe6al?_w=YRL>UeDx5Vx3{sjyYna3+i3p3FVTDCgIN&iRa{&_;5N7$OAP9?=qkL5q%Yg|PgU8_son!_83Ydat;W>rQVg5JhqvRaos5{2; z^6?^a4xPskG=sx)` z$jK=46BQr(>Kr3sY&X)}=?Y2>e@s8>*?||}1$qCPj-Q(-j0oT(y8`=1}AUqI}}$$4S*p4en8?v^H$Dt2Z(>ce3QXIV)le^U-D865??x7 z{3MX`)vJg=-bW%>bZEYev?kr#)6)x5*hX#vW>tl^ zMA*9c#KLPcDq>%95&2;HrS2N!pK$c%&~+0^Hj5q_&FphuJdI(dA8s@>_z!_c$t-(- zATyLh@djqv8-p#8h$xU6TddZ3t_gvIanN0G33zNg0bu|slNZD@Hky}QaH*?1o`~q2 z8V@h^1_VYraiN2=m}}9e(b#zw{UY{IE|2u+Eh@zg-$XWJ!FdwAWKLXJmN_Q^@Pg^i z$@B^TCyuVNr{X-1nP~8fZRST=gXxaZ#CTk4TrULCMPuz)KOu-Ec9hgCDx1c!mAA5K z#aj-f8S26gYKhA3v8&o~zAx*ggJ-h%K6( z&ar3wnQ$#i`@dn$_Z8-SygX6vsy~lL za1zUgajR-3DHX+SYQLt$!aFil=_H>%(nTFOs{MHq zZFX00Sd+B;&C}b$fn+r5f|^BZM8-!wwVE{?CFX34X7t5No#IAxSFXiK)pWbB!7`!2 zTvg|DK3l!TbMuhS;`>nUWoPQ68|>u{+a(q1sU-P}vR_1Y8ta#H!%ulbgT zZoS`w^N@~iIrt@)qW`|$0nYkt2$2_g0Itfm_ETzX9jH}cVFL`1tncMO#VrB(ObQgH z5)xpB+d2raJIXYttTSDT6}DS%5NgGgFZ{)qz1GbjjiXxQfZ7v5Sc0oYEFRm*l(#xa z$k4hfj0M`)6m_W+!q;?7v3&uG7lzLwb%xaOv%@F`oQ4`hXpk$lJ{a}B4GKAkf#3BY zfSxLJ@&rAIc-XFn@X8SMiqIXqT0d3!j;YJ2YF6VQW$FFCOXSS0iHXJc(7wSU(k=7Q z>=Jf_!EQ3kxsLo(GsHk%_;e{~v6w`EEOlV^u;M@6(Ei+^5 ztz@(PQ+~sPTyfrNhES;9K*(cIrkHgd3~cF$KXXzF)}bu3>yo`^I&1e2OwX9b-DF&n z(k#wYdfPcGLix7*GJEG%5%rp|iAgTTvRPWg=x^#c$!W4G37ldOfAlG^TF z<~zqv5-UnEi z!p)-YsD3zSX`mDP&}fgS`&tmJ>9R*S*oF1oD>oGGqnH-k+=_2sOZQXmJ>|}>Ql`F{ z+JjvnQ-QdaD~~;vE>hF0&zJ8(t3lgB!dM*l+6NvhcB6&*mECWzIj>Zf8|tJ)vZysB=e@9Q6Iq!IWkvdgIO7r46;tD-CfId2t&q;xJ1!y<;Z zN=?srGLMK9sGF@~0bp9@Yd0>Fru<&03;*mqT20W)#Ei6#F7^t1#?2xvCe3un-Ss0` zB8qJ5nkf$dHGuo@WsA#FnO&*}=ZVUidPH^8(=xSlJH_xyZqwiwg3TM8L1cdyTqfa>|QaAxtmjopYOZ z8v(mS#7)cV_12R#4gu=kixi>T?llB8KaW%CuO;3Ax*8#S!+7VM?UtiLHxzO@Yx+QS)KkKX3%so&)39>+D9acvOwwP@G^A9KuTnfWM zo4bsN;x1}$PjP^lc!Fg5@YvyC*ej`V<*Tl+pdK99Du=;rb?UqT+N!(C{mvM@{`<{>=z$4$UEC&ggY__4a_Bm%&JPyBdi~(? z_bq1AEL!s2RB}*v>iMRTn*-dV+}wLe!CA$(t=sb-AM&kxoSMDlxhDELlH${+s*j@s z3J_UHuy%KZ@9I}R8*`t8M^7yb5{O<7=Px3u)day@X)D4CAh4aQtHTelYdHf{lQJyR zES{9SeoRCrRZ~b`KQOB>MEc|=+nIphiNI+g)CmL{#p23vpjJo&ibE?4jbs&H)v7l1 zQ(C#Ne>_)}b>^v1=k1LIO^uaZZt7n`32g+;tOU2vzV4*sLZ5f9qtd&^D99EP z1SR72gf`stla3!_{^Kr68DV0pK@BX`Ae}t3?n0j9LcX-j+)4s2YE0O^A#N;0h=sV} zji2zx+U%@S@hF9DUeUv{NjmAMf2k~K8Xcl|fglFf!ujj(>GlJnN;`1OrP3p&+6-`w zYS~Mba6}x7B6iy57njJpQI_M*7lanOJiIZMt2zFt*G2Gdj`{7{Wsw=h~qPS8hXBME8*P#xZu8VmeBp) zdt)&T`Q!arqPI6Zmik~zAvM3GPEuT~*=$J_B&T4ZnrTBziC$bRfA#`G`QN0OD0E>PMbnJ}5-kVpFh$+s(*xwLOkqF@YaRgwEUA&ZTmTOdpw|x*% zpBilNEDFN4`wq(VIi5Rsqch}sYRuL55%g5W!}{L{5HU1QtUHJxS_rh3vIa81)Ij<_ zMj%N#5w#pd)negtUJL>Oq7i^JgiTNgS(wrKK@u1t{7U5mV>MM@ z_S>XT@it(9#y$KEfa2?=WQeO^!ifNNGIIUUz=xaV(y&jXLfzSOlM3ncrI*m_q(jYH z=(ZO-3r!-p&0wF~6|6mHwU$Gfj?RrcJALE-oWO73(Wz+$dk~P(7aAc$y!H)XxS<>G4 zV~s>rrxBPTd7x&?ne8|*?EIM{S^YD&AbhE9_HgK)F=2hGl5Nb~kakhpNPahsgAl=i zir_9CelcBSWi&*NYas2&wK=pOeAEHW^_(UFD z2jA-$6mk0@Nb}~=@nJ~+S6HY0g8eg)iDT(U#(y(s{d~%;`k!1N#DhS00 zrOk6l8m(Gq7KpPT)dB}Vgd`2?CSHmlIr5p23i=4H&o)$#Hwr77GF`jd39eDiTE#nre^D*k#JfZ`X%=l|N_RZ9eLo&{@Tc4&^m0 zBWG#xDy{=XF)X^pkDhmmo}*5DD81VOASs0-7Qv$m>ktRGgrB-`b7M3t;dTE3_6Xh&&^Dk}a(L^%pgISmV9g z8Z)Wk`PnNiB!uL>gER;N1T|O|JK|R_(B?Z}h>JZbcEAxHivtO;vCj6zK}0y(YT#wC zC7wQuhcS#vztLamj9IoRwk2}Gs@N)3YuiwI+2x{VQZ0nxSLG%3gC|b2WSFA0(+6gvNnzB$g?mkY zNjs);+njn8J(&+(`b8rH77@;%gy-!E#yo&@AE^yt=ja7&{LBUe0cu<1&Yz1nvY-wzgUSNuqkg4M4X2Clo~5d#9i@#rAaepylbl|NFgv3XuF9O)@=ARHC0`_Hj`wtxa4yD$YT zJ`&|a=mI<*C(KaD8UA2NY+Brlu`0YkXL8NOal^%v4L<~iPUOv_f%lr5{mdKRZwC2} zYPto<(AqdA09tiMUC{i}t#Q46Uu~_33~9fS0%gOD%e?Fkkf_rlR_jyJ+=}tounvE> zoi&WEY=&hh6IM?FtsWp^2KqxUXNlMDP}Yd9;fsUov(9OE?aPj;V{(Mg$M2@LS-qSu zL6l8G9>|({cfae8(%0OEEg4KRlsH0-L8v$(zo6~(7y|IEVjQgIT0^=fsgL`^1@qKm zRMB(h6&PrZUyKqlt-*x)iT?n?uM^bY0HM`kK>Z?c96>WQXfwkcV!u@r?xNFwg3aWF zV@2LB+*WUxT6=QYjz92d09|E#u~|WDg4$VtX{?VL3P!*0#1BaiU)g1<-0=#m5wCNT zsqHpX{?g}!s*B_rKbI+#({#5R{jj$3VYg$@d#296-*XPm-$GDEoPFU-S^rnppy2ye ze_OkkaHw>YN1bzpqpO2UyjtAQaPd9uKj{tqYxFA#T_Q!4PLs~h;tnkrZ?MJn2rX(x zNAdSwGfF@hQvJG*1kxaj#GcvVn!g5To<&0*+oBG+p*dP!a$%>l9r2%=5MEt*bLr0A zHY{$taIR005wijIVB%Xtw7Lu%BaT|(sps6r7ZFYKZdkm@HjE<5npE$a-8@Jcg2qq@ z6vCy^q)N2V7N3YzJ}&FRjqnqK#Lx-U91^LfB&^8L2(-fO@CSmy|8LNMNE;~75$-)E z)*HNM6&{915E6z#U=SWIMq-e&JBe~n2va*LBe=Pvx5nn49&2DX#BQe<6L5mk0>Yxo zSCWlXkF9=IE;6JtT?=mP5$$$U|N1U~Y{CHtgfe9c&2|(26CD6YACn4+N#mQUVxEzI z1tF@x9ht8+RfNiYhM+ZYTGo@88aXwc3RPU2Gt3jV-I~-+%ALp=DdvbL2)k+hf_Yq? z1CS1H&6y^BcM&Zw-W&zk4$(|*kuXJ%+5uxU?u@mHBY3l^T!itkQp!0MU(1>|L4%RX zMElNugu}R2%J~@I<{Ezj$6*nM@e}XEx^iR3I9F-}+c+46ZH&_kA)UL~FOt7r3=uL3 zr&$TP_=kdnp%})(68vB{-jNlwu$K}ewZ36koKiEg{i7`TfT~>iw=F|_ zEHq}zKWM5Bsd$+1C_1Q+oP$%b3KFZ{7hsM_!l*Q;IA+5(DIPiJuh^rwtH7#Osji@x zc&Zp(4P6mN#rK$MG$*j&B@L9InpYTKsuK&=jDoN)n`1;=IYuA1)Pjk*E+g0hx5vu2 zeylYjS9&6bkr|4IG7+CV_Hkd5+E~>4QInU2~JCpo)S}I5~GHwBO5A& zixB)Ta8lGrp0?CN%s`p;I04_qn5#pPi|$u7GSy`x6wz->h@ft%GyNzrFb`F$JBiFH zaAGEj_p-1UR0WSF&b<}rgnBF z;e+aw$t#G+e1gXn{yyKR;)WYf{#RKpYq3;ev$?@y$&mLX8FE=REsxL4vU1w8h-&y% zrpnyD;kyFoXBPcW_ntT{Z6CyQbMxd8d4_CLr-A`A)|MuqVF*eoQR z-a`(G=vhZYY`bD{&K& ziO3%d8s8?ZZSZ9&lyX0B2wLU@@W6xZia{J7Va^2OPT%}=Fbq9-Pa(LV{DArp7tgSD zCGM24a^QuX;g^J!QRTG%6C8gK`b54^@3n^Q{&!gY`>54j39b8Bc4)%h*W$ZP*E{DP zwJlN9nNMkwx%@8f<}CZuxXNMs#?4gy82&0&PYT zg|EmJ4%b}6ImVF`!CYW7$uXJ%MYs*TArxhLu1vVVtLKW}hAg|ls^XI0lKVs$9qFWw zYBNn8;nZAo1M{Iy_~7t<0j-_po=n`V5lco^P*7;37*kA9pdcE2QYWRZ>E0+rgy?qR zlxA9Y#~$_0>w~CjLRetI32#;|voy5EhomuU^hnl7Sr4$6rCft&pYRc!wAR4zjuB*u zj|WA=+1AT$#P>`fVF2(lMcx1aJddLk$H`I$Y~@KEWtsW$WwO$kGm2O_e~wq>&$1Mx z)gm{?>jRxm&l9fd?mJRwkM2;5m+cgSv8$8j6EdV&_)tGzDrsbFpnTdz_#_#$zEMhY z+6Muqq_tYt319b6Q7A5Ks2AZ=A}$;$Oe~wiu5zdxp+q9FnAlAIYW02Bk;L5Cx1z?hhA<>gmSSg_R58 zK4+zQ`A?S94|VZi*d)&IgdxUZVg__opEX}Vzsu7Dc zN-YM(mfAiUgEAFZS(bZecfCe7Ma5e13kEVrvU#V8ZGq9=1Be7uz*mqP#PVP z#A=>dArn(_w8=>AX*31C#G%CyE3i2^AibrkCw0_FQ%C2vsmdU+^Lx07zWe9w{N|1P z<55;xTz7ARO5w>3N=nqRjBEjICuPa%J+L|ln^t_Q!lAM&2e-&(J4GF6 zMF)g#du2_r;FbtxA~#O)?yuMc_A6r@wsYNRxXP<%eXFaUA!O3)im>F956;2fv6YJD zcVX2Tzj|gea;m6-g&MS!mpU4O`_?uBoE7TVbakT(JZhMHbIWhNV0BCrjE^a)Pjz6< zIrxs2=)mcBLC$TPmYPeKpE2dc{hW?7U;^%ap&OXw3r;p-qCd?M#0J~qbJr=;oE>wmBLQ={^%F7C6}-|8(HsV1KFzGFZ0CyIZtlCg>n{1ubvl zVUOAZAuM3?1$xX&2%I2?<;Tz-SI)n$M2TG_8j^WAT~Nx|$n0!vVID9-Va@?dykrSu zTJ)?hj6s+dN)XVA8R0EtuE&^Ir~KP1r*Qdu)UWQ9l{kl$_qk`o<|OyCq$4W}+tfj|~isA&`= z7+2LOIQpUsCfG8S|#1!b9QFr)DjsdpMBbcK&idaMz*hUHL2vDR*0ZeP)%#LY9 zsbevRKe7{VSOVj?Q6lC`kIzOAbdFw+6$F%r9#_J6yr3QGZC{NHOiIAg8VA@=ACWzJ zgNDL>XaEHx9wOs>-=)`r>+?nqM5;eDSdE_liG_MPB5d6+V%<+bvq91GIJ&LU6{8QI>lK|OD(}~s|W<7q~=T=Qj0!J+c`_Jo)WTd0zaML;R z0~56Du|hi$N?9+lml&lS_S|3;wH!9w7!g_-yqT#2w31H3QW07?X)!dJwXLLCf=1p) z*FQ-!pEG~zKP*wpRL<|h-|?Ra{vn2ZKBmB2lJfjV;y77F{s$fLuu)Gy$5>(jN6rqTap*gGY-$+vCd6^Ot=v7!!J-Hgf{gh?V zg32(Rc)VyD0^E7x-DNoVup|+51URy^ManR6XX&xxAz%cOAkDr1riD0z1M97SaXMI6aWp-S>!k#G^e64oSJ zN^0m5vJxuE1QEPdP$)2zcE3pd_D?x7k)3+zeK%13;y zCd(<Q79JcnlTdSPH@GC2Ib5&|uAqiICsBJ|>|u@6 zt@xGP3VCBWd)*4@YdtI61_^s}KHSoF{d{;K1|d!p6KTt^m9*9H$R;F zK!LDOcg&Qhh@S8&z56)!m@CKTGaWZN4eGXA!fRp^$-V{&nZ5XRy{s(z?Q^3fT}kpH*dWbmyq)pIQ1#uw0FNfC0kvCI`^tvwFIYJ~}G5xV%VMj}+$Y zR^d=2TiPbPAE%U~)y%7b6qZvG)#rE*mfHA?&ut^zxo6rz!G;%DCU8& z2Vd3~I9plH^0ku}HQ{P!ke$a)sbfOw^%4fRpw^x!oXqa<_Sf8WozHlg6)?I3W|jif zgy}4Inb_Dl zB{i|wzn@OCF7>#J585$BCN8Cki;XvGaTXJe`)pEHiUoo)Qd(Spr@L^`JUE*D4#BNQoQqff`xTD2Ar16G~+cF)#5mAM5A-K|^HeGi#Pae8JtrRkRe`N!OAe}4PC zpZS2rr4S@}1yqCN35bfZOJhAhcuOLvq5Lyi*ImGBgoX&8?nLy2NzazT#^&N~8_dP_ zm&pv;=xDLh<<4V9~drBM14L|x3-BNgB0NRg+wnvh?8z^9ZPN(Gg3y!*F3t102P~QrL zW;HfqCWD>KUWz{U2UJqfkak;KTo+XCeW(uG+_Enp3%65lF!j#NTE?a6Bd9;gu7Dz~ zsz#p`>mJ8zi9;PNnopnAi($VXO&~eHnas{V_?vK1_5+>I*Lu2dD{j(WgP+FAZjTN$ zA}7`86y%+$h$rS((>+@6C{fYTxKB0pzd8o5^)yA$6E6q0rL!RGf6lEcw`Z1jpG8b(6*UaYswFE@2MulTu%>u@k;xg?QU@T1Tao+ zT8V?WJb)`Zaj->pGscvS<%8`ES8_w@mvjU&a@=3C@&W5zVoUO_%Myym8(dh2EN9LIR zaOivEHHyUuD~x8C@y)%}UISAjd2IiBI{8#2yfWGEQKR-ecukq*7xJqHB4wyB7Z+g) zi3DqHbr2hcvb0tj+?ZK1x6)6mx~IfikL!vnZEF}Czg}tss9X~A2A=cNXyM*(;KW`c zzfNjM#9m6a!1@8T-3sQ+Ir`wlu?`UM_(uSBN|EM1M(u!`cHjL6ouR;AQIk9S*CUs`g%3p#J;)0)L-I&)Kph zek18H+H~A{^4E8f0JkAw9R zt{bX2{%H}gsFI0viQWmvQN(&L{`NOAEV|%eG%01QQ_K$N+&-LSW-V%ZvB*Zn=tLvv zfrc=y=|yD(TT`7Q#H_cw@0rZ89*mw9*bIQTQiM=^jz;$8?MSNuZI z0$1TfK7cgg;%nJ4dmVLg?Ic$-`?=<^e?`1puq=yI=E@n)_Nw3! z45X$rPWGf%4G{K-*Il_#FFJ6qA7GyzRy!*w#Zi!x#M~(0B06eIf#q4`$sHIVCNF_> z;QFaq2k9nQMUsJ}Y(oVSF!YW^4?)OSaGB1$R15uGGAn3FVgiS44D>c!*wT*(i@E6= zsxYP9Tl1G5u2{&ZNljZ@)W$oiXZ<^ECb+}yS|tFZM+S#PsU^8jSVt$1OH2kD!6pc) z&q{_GLQq0vhnls^cnC+1Lw3F>-B*snn=}S`w#KLj`fNc#IKFzlY@sPDDis^heu<4SDSv-@ea(eTsDYrQqx>Tr+;fCM zC70>rG~ry*C&MlDPU;7)ux|omszh7uZGu@GnH7-Mu5uovg=76l>m;5SSawc^o>;u0 zRCR}xnYKs(pwdzB>^VIWo()f}3CAKItJ2H0wMXvu8N&_+nn1?vbM{V7Onl`6)Er26 z@Nd|61IQoNEeI141cmKo2x^ViaJo{HIK>5JqL?6jMC3)1&G+NW=kFvHiVl9O2!YB| zFcHzja|7w(0iqY;86n;YP*JGKm;wH&3D!J~P9R zYKRn_!Y9fBk-PN%_<2$Z7b=mm!VftRIx!yq7hM1)3x z2CVOeMu7yto`fcX2I}BKf&%ljBFIGemZ=2VKA6rIZN8rFR#pm)c!PLlCkFao~g z>xJ(DzT@myJP@$qTFZUlK=kKHZ)^CXcFcib5F|ut_g_;6WkIAvu_FU%IC|CXCYo@! zIuNJo%X_9^_e(!`|L{_~*(gfR!dx)J;i~jYf>?CnB`;Kj?w_AD0b)JfWZ%Kqv1E+fi;NI;Mhr1Mb)YD}c5jb5t#NdKoV zgdlyC32H?%v2G^Bmc`rML0X+uFFVKyc}4vHz$4=7`+skaWde z#mSxfA&^L;$`l3#XTXy)-Qdmel^zlG{!NGF;_mGS3xTCRdev33 zz@W!dI(O-bE~uQhei}iVljNhInTOzzI|HUQXK^#oN#%-;?3l0mTVdj2!WknY=SDPkO9r`sJOcV9)WD}_)IXM8YooUN@ z^a^npTsxs&LYi@#{1Gd$TL}G=ig_9RE3(UU6g zBI!YCp(v3gIq(ndsmv}>V&HP^6$f=b4@%Du6CU?Li!<5GB63(@L)KK?B8e}$-8omR zo-M9jH>R3d?cv5FFyB@_GP9acA$VvEJ2xPpZBW|ysB^(2mXRGx;*=cNk)gxaoAQMC zMaD3D1%AQABpzM2428Q;90@eltvOp+2G(-?g1H(qsq9C$sUng9%31b_|mt!!4-)6w2ckT4!%v`Gkk}HrR>L%l%VWxdek% zEA3M|Au_WD%|L*1=NENX)-6!g!D_Y=O#&M+DF5iwzQLz zD|E2oZ|2Th+Kuh@J%O_qU8D~{T`y9Q!y4;iCbCHfmh7RyylWTry(`y_32n|C4DN68 zr?P{ym(SH&1pxCxjaK_L_RcY8r1ooZfBPGzHNG_}`fG7-0t~3wVBx~ade~|p#>5Kg z-fe<-ZaE8zF!ZDJdKmCxNN=^M3wVT?@pYHPf?>3*17q?E>gev7okP7nAifKYd%TmF z@5OtyM_k@rDwwdD4g*}B+0BJ(klAQm2D$|&8~*ix06Kwr>YdfgF? z8JI}=DaTn`+}ydsg+}srbHg`@EaS>~3SVrqHoK@>Z>1ieV@~lW`9L{E<&gsK z6FJ|G5Ll}5J9DtuF}g^H;|T1qSxV~~@9HN*4hnOg#&Yu*D9el;WJy`P0AYQlr!lW- zR-E9)bQw%Rf&67a*7HHDKj_g^^ zK;$o_A=LOnKTEYJF+_?7aZls%yu2C5;Oq}1eYQZIkrCuC%2bAAhd7 zg{)-KJ}$U@f(mZ8$m)UAXz>J`He;mDpIn6{!+y&{5D!URgoUu{=Lu(!;zBV3QT#b? z&IGXc!v=RAl_Q1NPV|w3O9$k}Q+MZ9RC7#lnuTIC%>oL+=2^nb1(M!=F*S~6@lMet z_Y@IS7UPL}<7pC6%X`IP6sHoHy@nE~-zF*_m3ERcd}ER#qN26>?h>bhTi`Gv3c*Xo zt4ya80aLgl8JpyzW|@86jfq>Mm=ZK{ufjrFSX#*hR<|s2v!0cClB%@kE$!Q+nNOlw zWkjITG8nm8>7=Y&E=4WlqZ1QpTSa6`L~mC>DInd`({M)S8$Y~uaPPt{=yrG$-bHkC zLuBv90U9!Vgb*jjjeGBomoWx?BP65sg2d}tE}v+ zr0f3m$E$;##nR*)JO&dpONx)j3oe-zi8ffr*KKassO+UjpBCyYMQ zg(Tk(9c>E0^NQxL7Nvk(%91i-P!_M9uUK4E-fV}1yiF<<^H1ikeJBnwtP{9z_jjQ! zDk^V-%LG3W^7A6JLcj?|ki|WUFMynA{l_OW3p?E3~3w9G0!V9cmN&5}4xT zfMmva-({F$J=|E;^H)EB?D^Fqa!Hww2BoCj?)f}EiHnK3@AV7G6u-@r3GL16FFezn zA`+#gGG>;#p*ZjbU=sEckTN7vLwzSJ9XR1%7>e9&o&%yVhb>GBn?LL8kkf#^CgsY=0R+ zdNWx%$3XJA1=bsyFyF(jWypa1H`H%ATvX1*&wTs^Y=OeaLlFwyr_)1`1O#dqn)>gc z;dsL(3S=3{g<_*Z35H{GUww*D*HA-giqT|4>Ce%0SuA-32=1BEF41sNoMP{qQsw&3 z`$~xieLlyQKI4Bu!}X=2Lf&8ItJwD%76i2w_h#QiIu0n`zVOtd_HlUdQMf6>0}V^y zW0F6f?x}QN{KHfTb;8|<_mcku6kT-MYW!aT4+-%0QMhai?Pv^I+qUJR^%xAd zZPsCKQps)@Md$E#7!wo*+|HOYVYz7W$K|IlaK+~#$f5lbmnw%wi+rRxbijx{C;B`} zpIflFLuwO~KAK54dymIC_4nD9u%7eL>*gKA8KT|1#MeLbaqh=AIFX@&RsY_rY7N6h zA|CD%$D-#gGj$X@4=p;jk!V?>StxrLqx~{UMZp+#XT~G)%^SmB8_VgNrapgJwG7g+ z^gcBD$0}g{^x+8>@@u_(q#3V@$o0RT&2cRN}DIG<%MRRA=v()0l^ zSo59h6O7jiG_AUhKqlS5p_ETAZ-@Hblc6YWiqa-607Yq2lr}N^#PActPYgdX{690p zZ;$eW^9TiOQ@}O_Y!g#XOgRN?Q@}O_Y*WBCG0qgQ{nG|)PeCqUi&91-l0R}pcTY~3 zg1d>@rQmJ~?!MLF?&oKz*_${#zqU!*KX!}92UbXzr8Vq8p!FF?IoM|c>+qY&F~`zO zO?gPn^mPsigIb67+HBksH1>YLbeywWvib~Idj%V4E(TxAb2<20o~x-Z*167pIn2=x z*?EL8o7dwM8;giiV8O3u>n}1Jyo-?r??UA;RTeoe`9*|&T~y;_LW_D*&5e1d2pnM6 zN#G|g1%lhZl<9uk63zZwYCNggvc%JxEk|mhmbhZ570UvRtvD7mwh{=?*h*dn`&sFn z(mq2fhqQf$FAnVPRm5UjvmE&Cnxo;jYk?11uVof|eXVmS_SR)YAh@oEX%pA=P;H_S zU!fBv8;(YlYy=+Hw2_#6o)MXZgn`Bo4{8ZFS>%qJI)^lK%W@ENTRw`o+zLDnbt^~l z)LVT6%C&8IQ_{w571P&l>l~uwyKy}B9Y>QI+=(lROzz|jNNnyDmQ?IcPpvGxE2o#& z-c>gxkiLuQ(xf$bmqZ?pg#tGwWk5gP)nnU#s9}IwH#`Bca7+l-C|a(BO`at)iNZb-X5+ zAJc0FeC^+*m47lS#|&Z2JDoTTwtvXh;iiP!RA~CdW>^HmL)SjWrQK&jv7GA*0B(73wtxskb8h@)JHwepq6qcdJ8G;>JG!nEQ+l#3F8d zlbgHGl!0i%O%U>f*uRYqer9HKQwBdXN9d*sein(=t|QUf5bK7m#DZWqY~>#WzM&}p z>N<;r6JqF)<)*C2BC=%#p30ULB8wIrf(uc^;H*#xYH(KQcxVJG%2;S+gc@c=jSw}# zSaC~na|~#eY3kcEmM?HBXh1L^eS+_*W$srk#1cLt zffw4aFn0?4&W45AQxO|*5gTwwzPX7WjBev%>UdZNjL=j;ZNd*l#73dYJyb2oCr{?voXs+OW%F~;b2tq7qsya1VrKz*v>C*tt z>h`^xAlb5&>kFrJec@fPy_8(GCFZmgVJ(LVyllHp8Dz#u_eHv|Usv~KcZ5^Cn~4q; zJW>v3dvLB4CJ|I(wpr&|Y3Yul;ZXurhOu|cCnK1CaJ zz)0Ih+O|vDHp?b;=p>T4;mF*~KIG{+Vo|hj<|V|4^x@+LamQCUsb~^1<_A=AaD_XL z7jJnJAXBInWqzOpw}$S3vg zHc`ScN;pOd$0*?#Y4j-J7$qDd86abFi>uEiqNl^)F0 zHCHM6=>!@Zp<;yl$ohR6H1e(MoB9OdpL**$5ltnOisi5p3+Z2fW8myjj{PEanSQnV ze#aX8@tFGUZo1?5YXAM7_WgQ)@a_33r1$T%H~YKQuW&!@`{l^*EAJcF>-+DL*Sy~R z=kJ$yPayE~JNN7LyXR}C_hZEGEAIP_==&A!>m>?-^yd5dtc~f$?|tG%pKGV*;|{oS z-u3o*|Fr`2vsXJ&uzuaqS5Ko-`F?%-M*ruN=OwpMm_zF$Tj&Y$aU{Ped@Hf}-{T?oou z2y{APZ~Q*JHS2I!?i@pA6!NyeO#y)qBu|dlGi?`rZAtcSZ9?C*`cgocI)@99 z`?m^zq1?PL_iz5UCm_+y_g$Ni+Q##OpLX7C+f0`E>tJ>smwxh1a3z*&C!bb^v zi3-w3WHY1qCZjlY+Wosw@(skbijQGd(_72###+VwFAMX!<;lp_X}!&9Jqx6<*9uzJ-!d=gPNb_l^WI(MRS^) zi~70j?y>gg7t?r7Ipz&8fon6h+R^9K)kmzOX9M%6mNrQ3(_l*@qy-*w1y}w#*ag$& zc9uL3XrMjW!VCzsrx18*TW3RaR@CdKLi_8fAAg+w&JNzcNAKbIX~Qz>$FPH)iRVMX za2AqoooVNv-h(r|A9Gyja=QXcl{nO01zLVHyD};7AnM9~&&wwTZ&tg)Aq)zPVlGO) z-b$vQCRs#UlY3y{zMwJMO&vM&ANL)#qZc#{KFWPO*-7Uo)po)zn5J!p=XPXRyFmKl zlLf?1a3cZPg6Fcg?)dT^(e~_(<)SX_+KVeso@S3_D^ZPz4Qafa*tnGw(+BZaunT>V zGq;GJkjm^m%;fgJ-=FA0K;~DV62!y*F#7q`uAt$!{y_pVx$`AHRil-YzSXk2059y5 z&(9qXgnCqk{5laUy?ONad^*2cyV>htB4J%PTDI|JLPC?xOZC*2l=3nqLr6gr{=IAm zD-#d)Gk$hLK1woc3cV}6OYfl{cWAw8LL^8}uM@Q%>}J~}FkuAypKLXLfoar*L|FAa z-THm+*Dv;OO$Mtqdx4x~`c(?-Orm`(Ya=Xed7e)&>l=3mNzakH=LKgCVz6BTRZJf5 zM{VarPakD(0(36%{I6-x`j=4!ZyZ}1B?^J+JMV3;uP?yvB@5rA!&U@cA|-ADXNo1Q zk@MV0Ej;`XH=>I!@!MhbyqOI+0)09L7pjr-*7bEV>aNFj$GG^DWXK~RzgW#F?g_~< zLa? zoybPHUyC{?pPwiTa}O6)k0-$DEKSo~65dwi>Eajyi}w$MZ*T1zw!GFMeDcf zRt~5{g9{Y)`zbuL;~I{^dCz3nt4KL(FNYe8;?#s;;E0tTB2vHF12f;P{?vd8$xjX> zK$zf?w<_I5)|q6$XXbZ)osd4v#IIc~+6Lu_9GOcMqcT*!l+}tsc?#G6*$SZGoEn2G z@OXL$lkV_~8k_#a|SORIA}G zA-?(!PC5s~7#q;BnKO8!li;z37X0~p9O;7gN-tEmV98b6 z0HWrwE1%{@bEdf|rvn~>jrL93@XyM%8aneZ%VI<3eD>3+S5f0`JTKtR_uRHwva%L+ zG@ls-<5l|+S^dIEXkDk~*wtoA`Q9C!HxGYbV zXHjuN1%XT}G33uN0XmRzZ$ZePH2n+5NabkA{JT>AZQyq?+yoZHA4ecla_{QGGJA@j znxCeVag(5WdZBGCjhgCyYW8Z~F09rY-lHe?J^bN3Lv$&dPhJu*uOu&VoJXxZHF8E9 zql2x6S!tv{6`-U#lPJMGDld?)ZIUWYXA1zO38&eb^t|STann3`DJG=!yWWNch8|QU zyZOcF(PS6s4%DGPh|le4$$!posY{{KSx*5`%ls_0!!OQsL_J|2$&ra=U=hVL4RHl*MmdUFveplR`7xz zQagsA{>H^?mdrrH&vHup2=@Zh1Sb}QdoD&w9g+hWTJTl`7_O+mNt6aXM*k^JsyAq+ z9`;f0(hvl{35;Og6`%uaPa zcvmfAUA*hiQ{Ya5{rPb>oJBSuG?R5wR+%{a5?b4Ki}CbRlx$l%n0=P4y>XUX4U@Bv zm$zz%!*v{%ynxek7x=m})o1C5eH0&;R}B6+jSvCHXPla_CX-8z?dzk*f_DuEzQ$`E z+R81+5qHrxY-8B!M+Vyl6$4WPK}_5`)hT5 zn^kM`U>e0{WOIq%W~n0l?*be7)hyW~xXM6BetmbfvU<&Q&^Prq>r>))e#L`Sj^sJN z**QNiP^#ju6oP~mbLxV@pyHyfaRFJ(6*WJ4TBk?kgeGoO#*Zm2LQ|3p7f$qHw|pCz z4`AB6;-K{!=*uO`K0NlP1snFkDUk2&HK~dXzsejuol*P@ zu~pAHcND2%csLMwn%P-i*M2`kJDVOc)vdeqN((46Il8Z9U3NM1`~)nmy4{|TCvDuP zst~PK+;tRINpvcwad1U%eD)|bh>NRB9+XDm$P`a`qgf`vkzV~Eyt1!?t=94mQ>_xv zujOu86ved>G z;jPVgrZw6YlNKT~l!A5pE`&etWc}2hlDa{>ueLL(*1^mJ7YOI|b?|EW?7^2^0>^$& zn3R58Gnbn>je_8QT=~#@e)V`~jk%&#=83&%4p=pa&tEoB%z&!Y-`*M{{_8fpoV8^B zO0q&`eMBk+w_7d`2i6&&7&h(Ji`eJag4B1!)w+zSZ_QkLxBlzU503w5rmJ!9lce^d zjErU)0X00zXKD9we|5_+l&Re_$tf0X;%ybEw4!zAg^Ui@MaOw0K|VrXE|-X!6>M$4 z`ic*rCP~vxJ9Ym zjn>I{?==IjQRrN6K=m}EudATuOZAyQx=KkM-p+NB%Jmhjai=7@T-yj#J3ClDD4uzC zw(?=dWrGThY&yE`lq>8kPPrJV$-TRCL#t>n2VQ>(5|W+P{Kek6v2FPFRT!?E+~Bjf z49BfO{hfZBa3$3RNvanb$j661b6BiqA;$7Mu`u@4Jni=}3bgw?4O1S9;rbmS(i!4` z#RO&{KKG6Mgm4tj>a}@hz>PGqfw@8vMC(%%iBF3i6=Sn^o}0)=NeK-T14=-NJ&C$> z5%{$XCtNTr3kQJg#FP+xW8ZjDWj7CJ8p7*{a$X6Nn_XHGs?XkgOkvZ7aPfC!<8;co zfm_2F=+-5>2YE9-iushvpxF3WA@NcEniP-w_Ik|5i1Qd zW--~2|NUrklK+6;F7+$n5twWRTn%~YaSQ9I*(HKX{zDhyVpqto zx}M0pciKw{Xt94fY+};Isb>6l#=tA;(k-eQC0V5q&dqD+w)T&IT%hPQV)`=MvqPnC zXdLHc5yLnB;@?CDxy{;Rx;NxM3+o{QZ`!-2M(y~Pup%Qp_4U_b21{rqACgWMG9b{f z4GkS?Zi&xoOKl}!cI{<{D;UY)$gT8r>!hTb!}Kc%e2ke6ZzscUSI4bKjMFxX2{XsB zc4!;xNznY-?ibxT@t zI1tD|SjmR|0^?Sl`dLkcSSyHM9^*PaWw9RRE+t5DKe$Nk7;WK(ll0gTokXJ4_=4_$LelC`c#EmNU{L{#v4v8IE#mzvsFif8C=yq3YkKyvR+VvK}l&qM^2E@w*2D~^U;@L+lg6;TVZEjGiu=vSCHgKJnl zc5tdz16np@Zjh?9fId*}M!5jba=$eu1mgFSK^$sXO9+1&Q@wDAV9 zxG>X+Jua5R`1t;Mp<{S5MoWxnUUK+`@>Q4Uk-t199_-2Zlp<){8YqFl!6vUk?$|Eo zdv3&`{3A@s-|`H;T8C69hkO{2oG+F**y9AgT2Z@Yyjz&+jBP{M(jz_UhvUCfs|UHW z>X47dGu;n6B}DwwLUloRK&%O^qN;N($q2NA9gqQ2f=?C>Z6t_MTc^|`x-KBI;W;ay zEs*JGd@L+$@{@HdX?#t*8FPYcvYz|SM2SlR{(qN?ozJj2vsV~~`CTGrB zn2HG|n92zz969yLoS7UaEKcqprah!{zcjS}PASZ?w#7Lnp#QT7o)M8IOJ=B!zpu;! za>ENDylG_ajEuPx#WlTyT*M@?1D9-Sdk~e==#3}v{SH@$8?tSc*R>?k2jLkOEe+-? z_EgnL>Xm+Cm(mG%KgVmTSMxw@T48ANLDjU5QzfruH<&`6qVLo|{z+1E-_LEaI9DoI z8b)_Gq6$~diM zNvmrXVY5DQj?&41^MNl!CB(F{*fjiMQUteYRPF)5;TklE#3xWH5mWS&^mPX;#b?m6 z0N!M}alL=mIH)YF#Nm@-p~-E5{9L;`27KM&qxn3!`_M+*8zgat8a46@gE|SeQUCNs z$c&}nX8&AYlk0U&#cN1HdatjzL5vC1J#^!6;1nD`wX(;dzC>yK3}X0UP^_S2IY*M* zN{}y>s(>F)1z)GdM+txP(?&f}*wPS^R%J;bFt4PP69_WXujW(0iD?dGzg;%sS#ITi zD8r%nS= zztX4mzh3pfKU8#Q|3!JF$rJ9HxM@U+Zu6a7@e`}qMzqjvH`@@X zX)uW!O)r(goy8W*yGFGP560c_Rd#RTHjmh0CE^%SRNDg6gnX$JPcHbFqMVByd(fXx zC9M(jbXl_WP)cdk@P&*8|LTF8RnOfy{sQu8bQ4~Uwxs1AWtF4`0Bh^JjfHSMiHE8W0QZ$4q>|h1W-s>wJ1GeerE$>1-EmSn^eh)|2%|*wPRW)Z@6#VM z)rK*X?&%b{mA~IWU*?oynMA2bH;V0#cvUZOsln?TrN-v+`h@}VM_ zUjq5ucDCclO5Mvl1hgdk~SJ6=5ja4jMLzIXT&;|Bn$XY)EAcE3Ksuhejh>B4r5ff&MEe`@)P zDEeR#nfURcdnn{*HVUy^MxupVSn}V-I+J~JMBWRK%F7yY?u*|(H;+~}(kwIILtSUj zf6R(}z6Qz(u4vtgn7V;YW=_OhU-R_RTDEx&qoK=IdQP=m%+)sOBQ*1@= zN{mZs44QKl09Svf<7{tniu&`o;nk1HuAT3vX_A5zp(u%$!6*;hGPu3830fEfg07)j zpcxuiD?voLY7a!vUME2$fU;#E0rAe2y#MSzb{IDGO5>6HAl7Y7s;w_vDR#cI3vFq; zNPK$j8RaLg7b@Y!#=OYbr`1y`2}h5#9@1-CEkPk>fr)lcL7^@#rKr{x+YTe=)no34mpq_0>D5 zmBuW%%Kvs#1_H-}S8iHwBeBV_me-KpeTUb^2g@s9t@zxHTHUi2U015&arA1?m>y;2 zBX*^jzxzI09X<5z5$%flV$Ndu&8Naiq#&DFS)O}S3&6myfFx;}Zco3oO3BUL9^qtw zgf<^)S>Y|y-bl-OMDusN5_`}3&t6a2s>f`>p~PS?O5cauAU1MV77mXS0(aw%mQ7L{ zCgapH7_;3&ev-qSrIemMsYe=5$Jvz*g4VBxZG!8J3QGM7@fmLpY?UXNfTR%&W3W9} z%=6P&O&kzDyH}}Nuj!Q?4&|N;#P8Rf+0T;;aEBuh0=-ACMS;=*-2j(+70upTUY@o{ z4`$jC9RPfSSsra4wk*Q0@*5^q!jf2!5FbLEz7{OUeSV62AzvoPXwfm&-vP=vpYEL| zN;6^}eP<4YB-omfQUx2}=fR+eFKMU2nPJqd*GTOAbAq$nw>{D+zy_(h z#c@$VAuvzm3Gg_fS=cu+KN@adl4@J)H3+IiQa@Mmo*T}_+Xb*76924N1W0NXlxv%x zC}*ug`AX|V^)OdR?jKLk9>q`4{YF;$8tj8g!F;=G{RGUh-C6x?isgMC+rJ#4X6RA1g(&k zw+1;HF_2MePe8DF-CemhQz*f5;TvgdWBPk5{nCw*XMdG~jl{kYV+;9?6QJRe8hxeL z=x7gPE5VqU{OQfyh9Ox^R6*l7EeAG{Mgs3LX9xrlsJ)4H3 zC3E4TGyYd;V@UCgJcjI8^qxNOaVnb0Ba)B|;%$_JMhGtT=_vS85Ro9bB%0^QEoN{K zqydnOm^+t25r*#p^1E$ZfA90MZ;R8VA|w8PP>PJuOhMqcG8H9MTq8Duuc9YaV|2nVzKNL>?* zs0J5yc!{GM5+1DlNsU>lDXiIt4IM0^Qmg3UMc+q4ZB+Jn6T|TE=atyyf#k|Nyo|uk zUa+v+ZxK59=D}0UMA0o+4HF{HCtJ3$;iwfsY2Jf|^efYt6D>`f%{e+M2bQmV z?3!t0y=$;WVM+l?UT~6txcDm~n}9sBCU+S)QcY6red(Xfi9q(&~gLg+Yylf#SMN0AL>@aS0q9W z=JL%25biW0o$%s)_I11)6H38zVY)M5-`M8?-c+@eZ~!qduhPrB@F}O>&vlRHD>-+; zhDLxY4C<4LTK=Zn3(oq^HPC9|HWTeBsgRzvzYkWtQk}Oz15)WuS|CQ;GV{XiPGU!tZdT0@m$K$x*|^B=8U}QyFh<9^R}3UQid>=^+RRf#t`<+g zH%OdBUgl20DRXJ{X%cPQjr1e&Vt*@bE|=p+$NvZ4hau{ytK z`h<{4q%Q4qO@S!E(9y=@c*eKzHbaPz`d7EqN7GkDu}=>;%t&Ax%Mwtj+9tS+rVp#@ z2Kq9dHxS1zfFm`GxHoV%I2~QlirPU1C zG{h)Zr2A#czySpQvi_@C(y%&uwU?L#Zctg8mMG|T$cQawe_VD4G)2ews$YBh{vVTA z!oe6{?F{@`a`^i`nlkutg~E=k30Na%VpfFaXlnu4?&-aDheM<-Zy@^Gkn9~?z1k$m>2M`$0osajw# zMmEg3m^@`VpdbsI!4R_p?kX4Acxa_CT%}IOWX`e^4!!8Is;>Z83JF_N!En8fgg)5` zEy5zns+EA0#(-IvXD?=mQv>4CZxVX<_LPY6apHET%Qf)wpWv8-Q3iAAPD5qGHYv(( z<9&t zNUs-Ig9rU0Q*>BvPlF?!3sve&lcQ0 z2e$T6L_=sCi6dL{g+%sfRDG4SgX$bX&gVjnXktB8`j{e6yB3eJoWtpNe<$d{{q7|k zamV+BREL4Q6ubSQEw-_0L{H+=sU6gOUVjb%{d0v^xpaev-hcs zh48z^njf+Au3M?YhaYh=|NX#mLh5510^bwjrLjQw<&EDPQyy2jedk(k&pU4Wba!qe z++(BW#}%7r(bb%`@heW4!vdv!TV?YIa%^ju!-|U)&Ird363HZqA>YbNv|5OG(Dr`+m6Pa$DD%zOOW9d_!yD>1Y zKT&_|wn+V1Ot}t|nl9>tONtj2IBdY`y0l;ce&UK9bNf5YULpj{h92`fi%0(p57#XK zDuNTiCGnT%BD>!OiP*Y>x$X%i(hj@57(~vstBK&yaw2B~g%bLqc2upC^;tSyPV(8! z12S1w&1td-*WpZ?qq8V%O~`P1{Fv^{WaJa4Y2Re#anksjv`}5|)2|zQU|W-%qZ{Vj z3(rmA}^Sxg<3br-?72@L!?M8t8XkixC7jj$vp8u;dqqq}tiD=~!0XlPp(!qy$|j#96e%D3I&aM=FAlvy+<5LDBslGDf3#zxf1?5^%T zCbA-hvV@osj1MpIr@sdyV+j?hP%ixs4m1f0VI;U`UwK%=w(nGrNACOH-$J*ae+V2l zB{3ixMI1&TE&BUO)(LIvox)irS!Lx5lP*omR{}RxFhMhoGs@2^gG761S9m8E=fg?o zr;JJ)n$k6c>CFgfqIlvWhUn>gNJB!F(}olqK_mgC0Z{QQ#&%UE?t|4B1Y+XRb*Ib# z^*L!7bAGb&%&`t+s8*QCKF0kEFKJFM<)8GzXM=%wD2<9xoCOWj*e20p>_N-CDn`R= zY{&*VzZL=x&Jllt@t(Vbz`_*AI*8@_zJ&?~^xbfzhn`}!)Jkj9ia*P#!#=i_n=9n-JK4jJzL2!vmrQWGZ_o3Dhn%Xx zw-E+*n`ePstF~N?Bzu3Ne#N7rmp`G%g1VQdy;HhD``J^9^@4W@UOE`#1^N13NDB3q zka%u0!2N_=bt+Q@5ig?Dc0Xy;Y{ipsa~?ji~^KF&u9l9iJVTA zh3pb8M^V(+jn@V*4DWz7Bu)vByHI!aS|Ox2o(dAj@*{pwUa<5&%oepl9T0sSE)Uzh zKa5Dv7$zzQ9rFvvQmU_JenAz+&oz^4R@PH}qrO;{I#1EwK2HL%QEYnCk`SGioa(Mo zG??v~s_{|ZNuFCe^;Wr^h=B7&R?;NKh!U+T_VdI>Dqe@%TKefp5i_ZaG}WhLDai-L zY_+zEpKW=N-nFz_W0>`Kz0_rcu|KPCe5}{Rpw)k*ls=DIa{VL)lT+1l!%D{FbrAGb(zlAw z3ip{P{Hl`wj|3bTBSsHk9={`{L$EP&l5!S2U zPa#3;Am_MwnD3W!H;*uirB_X+Y#rKS@HpJ0lSA?pVt1aR$?gfPc$9DMh4?2Z!~e>z zxBkmV>3;Y!x*~N0{7U4yB`$4~EfY-ca+1|BWi$e*Vj4eC)dZN0d&bVD- zd+hEJeU`VVc~K~<*q zjRQ@S$c7CF1gRpiueT`XEiUPyp$5IDZblLAFnlwcH92LsrYD*jQ28lBg^takUQZ|3 z+UGK7=UDa!v6kK;Osg=%TyBFb(rESKv#|_;t{H#$0bC@?87DYfICUYuh0LdD#cRV-(7i1D{!Y)F zL7>}w>ToXZ&Yg7TK}`tuUO8VKVy$_nN3M+wG&8GHrgY>Nuo_wvESO+2)Q(E&Ak!B$ z4b1P#xf6*%&-4Yn@VCDqlsNmZMFu?_je?+cyCg`}wutMXaN%x)SUBd-)?=7Sqdb`q zhXKm!LChh;#PN~@K>eVCAfyJMk_Ur`DKZr@{`Ib!8??Y^9Q8T933ec_!xWc`JS2^h zZ`93iPtk^q6*1F_$0=zQx7Q8~^tcnJ4#d&N^bjI3BDp+94l#`cWrt1TcyfCrSRjJ9 zV9ETiSx6lOv)}P%{KA>8VR?moD=bk0D=6aW7vW@6F3}NfjA)|fp%!!5*M8KVXp|Wc zymVr4=o#S#N-FfUcr0+)G2#0I5zM&+RQ;G8oUN;(2Ca(OQW6;w;b==4r474ctS!#+ z*;4n#{0d`Z@WUv@IU)_OpB>wj!-$h(-nBgcm2X4cCl-x)xO`B7cUYdod>-`W^_|E-@ml=#+O__*P{#mp)6+Ifr#PapJ#d7i^-EkW_4&QKQWI<8+NP3FRyRiP$v*L)=uC^~_c%<5APh>N6?hDyUOFzq?y%1GGUh%N^19 zDLAuCD|vP&Jbr_cgay4?q(;LE_<3;#0co@=w;0NmLpbsJ9y5#lMc-CO4B`D+1wM3x znAI@!JTbM`5fjq~WD8B_uY3|ESM#z<&uh9U%if4;gPoc#|9vjZi0jh(@nTCGbVrD2GX& zRE8M!QAHR}tO4P6tLT>^LgA+%``<)Sk(6*Gs7iO?B!#4UPk6zGlhfXTi_sa_k?~b? zVKi{BIMWq>;=51+EoT@qRpl9ELfbx4j$daA4Ssp=%{&~xj^&#$_b#ZpJASytX#={P z!aSCV%JH)6DpN|Hv@{EOS5kfbY|ozm8B#&c@M9!oP2c4W95UJ?D%T6&SklOiU(haeF{1rs&ELR;`fc@KNC@i%IYs&cWYWuB$R>;2c7>J(ypa9dA_L4?_tr$r`rEAB%CQCDe!M$ zzvE=n8!y%0tmG7;|2GD(DMaPY!F#BI!h{+=#H7w?Ovma(qg~cggqEl9iHsy?sHtVL z4h7=aMMCM-JW{+t#cclrFr^F*l~n1qB;lc3GyBHR52I_J9{88OEM%S7#gN^rpBYX3 zU^M8r$&!5yHC)(}H+}_>WXauM?i}P8`SjM37?;UTI(`aU$JK8l7GSQU&Qxl? z^mFRn408cUy;C(Vn>9t&{BJcLXbu}~9qobXpcbFY)`Z28pgI-fe0Au>Ld-yl z5-FBZe*5|IW+H7nU+(oRw&l#toGaf<%@-^<;~U9 zSyr*J|53R=|D|$po`3(R%C$W;AZpFk-D8tdoJeImox}pUqJTFCuGSZw9-o4qB1I!_ z@)|o$H4>dHpu1aAw+%fhR-Y<<(}=ctl^f>!4>|QzgnKme_1O#AhCF2vf-h9mjJ8Y~ z0BP4iEhUctO~ly7HN#J|NV!sHk-78aX<*@(!QTJM7XJ^Ids4{($W`#3oGQCaBbut8 z^ks0JSY5WTagl1|?N`x>@PvYpQ&|V$zisJfsR>!D_ML#mhX1OE{S&jp&P!>DpJ)-q z78PgiUhB4k6A^miDXNPvbo-kM`HW+cqW`i$7JW@L4W==SvEioua!?z*Sn$IdL6xyy|7MYQ<`#rKt%CQ(utw_% ztn*5~#?*G^-X|P{iv$eFp15Yfuwh#g(dZxjPCDP1*Zz`wVsFn>Sd+e3jyKA(AEC=C z9IjBG_BJS=US`PAHYoN8;kXlvBilf~5jkIPNZa%&9;yaS>cTuM|%hBn%barO7$oVs3)W4S5ONNo0Q zjHA>UU>1+BDT#~COXnDb8)iaaa(man?si^4xh!rsCtIa#Vu&|_A z+s$XB{nI!yn7Dni z0H{c22*UE5e;SwmPvc}*{(8%94qCJ{jrxSY{nNOEe;PM_@=xP%_43){s$`|*bZIaSau&+N|l#O@8?&+ zggGjku1K-^Ks{sslHs~1Ga38*w@mZLv-{8&6O}9(@d$^DbkGrsE8D&-x6nqE+q*g# z7wBYdG=kmw0v(7dw<5rU6|de3utR7^p79-`;1aDcLQ#(EOwpAEcxNzm)ny(7o))tx zYx{xN&I8D^Is)x{K3`Dhq9k0}tKhGP>loE_noZPo>c+%Lbo5a_Qj9hDB zp{6o+uBofv5WC3ynYr4p zIivmpIf<*!(F4|Va*7%c+f{&}-NsmX<>jVmlXf%KrMrwX3XNM2vLXlmsXJk=pZGT} zm{_X~-D5}K-i0N-;#8ITUBl{np*26!D8|$*`X{MxARxu`W}>XPQue6^RZescn7l18 zk2gu_T?2i6-6CL=!ZBwmpwuR|j^VSdB+3$iG1>N)=CanFvs=@(bj>r0M(G9R4Ani86x zwFG!A&yaR$Rk!mQA2?k77#3xswk`w4lo?bmU1^<=8EMS!Fr3m(9<;`G-!tFb=Wu($ z1vXE%WhTQkP^=2kfk+;GnyIWZ<*C^v?}F<*64%M=xf=LT_~o&TSjUmGA_BTI09eFD zM_qU={Eh+#z*a?u@N$tDaukl)Iz%mRFpCHSed z;jfc-K{GoA@?~)K<|*X$qJGMJF?R!y9AqCwD&Cgs+JY@y6`!k%{^%L00%L1UyIh=2 zS#v4{6Lp2M)+p~OWochp#G)Wd>FZ)fW`7>SJ}HlR3h%9#^}=e+vIH4%=;DFW^=5^jO~14JdKVGAGPi$ICx+bR?hJ zmffC@Q7WWadybglx$1wud`WWt^{?3$Vl}I*St|{E`sSyMyP;p}GM{9$O8y?D= z;5_PcWq5}p;PbydKAkS8v8=DqAR@X1fg?Bgk-1$R{K1sv3M0zOy*LrdVU&fBzM)2XoDA_gM!4`LIhi}5%+e=UftMbi7s-Y>ErlDr*=8OjWun<=#j zJ!sav9wmh(3#}FnN8-`I+$t{WMe3T|4~yt4Viv*+Id%PS@b*R3ti766gQA#=$Kht) zZ4B9pR-fl>S6*8EoQt>pax3|rCpTValhvkSOZ*Ys9T%`J+cWQ&RJt38qI<_cnr-(x zQqFL!Bf{@9S@KqQC$?P%QRFPR@J)V6-aU>PM=y>FKR-aVHD~R*f-$g+j{)i&AufYn ztKRP15lviM4sx;4FuF;{hbL$f%9HO$xp*p?c83+)AB={@?gbqe1787fHzUE7mIMpq zlJn+$PhZ1zE{WA;94X^joC(xzBS)5{b;RkSNd%>l*^#Q9tDxUncM z5vQ+t&e5vD0t7#PH0*GnM!!*aQZNMY#734rTq5Z2!&I7{bPOG8u((Q!`3pA{29jMx zDi0_+hfi&gE@(^46TRZ+X3Sn(FkQDkMiUcr4J@IDkwv4 zTvb9WxHE#ApJMU!FXi;mA^icB8ux{hYyiaeNBa>PFCSjL3&+Eyo56da9~4terpLW1 zDX%E4h#LVC#cFP)IbK%fRuNJn%OEk;j9tTNwgz^zL?6r_zc+d)6Acls7kE{u?ufHW zJG{>XavU?^UtI&aL$i1rjq_Q_c)>Bu_{;P*_Hy&r+2-1e@;7)ZHQxl^M zlPyOiKJb$s+m|5M?r<^(?49MTBg_48xb;BqDS^y|=YcWO=Y_x6@phBUjN&!yk=Ho6 z%fQnEMouAk=+P)jKk^6c<)q<{FbG!(rVtS@K0s{vNvhK)|#|nLf`dn@ykDI zl3NqR+I1?_7vqKFlld+R zFIhx}#Q4cGDXvkA2jh2~f*N$|lYZC<8QdM>jsy^H$EC{X2 zY#(a#S7T&4-fV0iZazX!QWS?)y-oPEQ{j6rUMTX-yV4@Gg-iBQY4!``XF62H#QL1_QFK zwHt`A4&s|l1q3`3B|k0(o9470?Cd!wAp#o>`MxckdM_5XDgJu>v;=5ONTqRPbWEIo z#K2@ys^n9o|7uU{PlZ^*5IzoLS>nr~M>ej^G2|p~F37QQ<$|_x-(8zY%M)S|*_n%? zxs9Gz+s)WJWv#b4ti#cDU2{s?w{p-Jru_-gXLVkM`+IzI39)MZc)`$xI%sH9t${8} z_<8-xKs9Cb34WqJLcrX#>5HFG7KtqrymIqTRZUstk(0q&xLY)uEU%TOJej=bv1 z!}^A19sPHR#ef!D+Ib2Gv8ID$CVLoB99o z_Kv~5M$wvQj1%i0+qQjT+qUiG#I~&y+qP{xC${ZO?wwmbRb5>(-CZ;DVgG8?^YwkJ z_OsX8Ywam+iM(l>Ox_#>?tKOU+YQ}DJnBfKU=gRN`5TY$` zQ9zqoJJ)?k_Wf@-6V9!58mcZln@P&dqnj9MFAb?P@xJp@g&ggDh7wQ}8wHi0^2j!C zd14cnkxyo|+YhIS#lxaisb)oouhg_NdKMmEl9BF`Aq&yd0GfCqHZ4m0fq21ih9TF) z6-vu9Sy?ZVT-r;xT3bW+QYZFjslHjW48;yV?;WCMH*!vBXdC5Bmxj~Vz3taVWN;mo(*p=6md>cQs31C4^4#>0lJxN2@3*JX$*0z>ARhJ$S|9-G}7E$YNq7bv<-=LJPnD%$!ik0 zrml)|15j8$vW~1NIb7D71Pu8kr1)z)Bn#67MS=zsJtijeJ0$lYrQC$U?uM zIW_h)wSg{~@nkG0^Yc~jB&{4?3y(+EBtzvs3zd9!17|PY^f6FJFNi&$GBT2bypgAz z<(TJ+<#@Bc=OE>iRL?fU3C|(JsXLD4_)nk3w7w2!0sdL1GT*RTDs_~T zbyy#o&Q3lhqZlz#h(Fg;jKSfa4I zz9xqz|eK=LPe=%GblwTVdm;uU=&z(p6xfw1+0Q(*ug0{f1=Wz+QhoO4tktMlQZd%O-|h4eeh+_t5JO5=cM`dR1^@O5k!0)VQU0F!DUS>LHKfhc6qR|;<}eJ zLV{$P0eIN>6CIRzX#<^*N7@9z%1Dp5D3=WE8?-&o;$`XpcXU%dMkaH>(vydBtNT)Yb__dC^wZ+A=%M}dSyfe+sa1! zWkdkBR5_8E5oY_vd%;dh4%(Z_7jc;pybk{vcH-Dl!B5HzDKN%~Z^Duo8W14CfQHkg z`U?}862u2H#Ek}EiZck`#`d5fLHUNxg`<4niW1%LT>nRA-}_b5=K>t4xp7gf;MVz6J^gN;Z*SQg-EHH1&&S$v*=V+XvV6{L?BkayEFeS!))xR^E zP}bn}H94g!Jo+l6)XWAdIKd(195FCudw|8T4FO`w$b5ml;2sR^bgE_(M-$0v>9OQ7 z7TcEj?%|y<0W}L4O{oN57{tXL70{eU{Kme`D1_J#tWsWHB$GS-n=f~VC zMj)XLe{Re<-Iu_J3F}XytF0V{kB)Y>B_cA9Jo_=|=V@tFWkG0ZeDu0X5_|1Cv%o}C`Xuz7+p>Q4Rnhi*pvJvzG;n>y z=V}Td-NC(x{v#>2L-<7B*B50)JR%`Pn%j>C+g@;bpmT_i%dA@4-bOmEWw_RL4}&c~ zt8DgVIC`80+dCS?Wto`HI$OsJf0slQ>JG9N_0xkCpy#Yu(|teawf^P1mGj9 zI>g4_aT`o9+M9^T^uOS$&M<`L{HsDk!d?-p4`g!S^`d8=(N-)wuBbvWZ4QmSo z6jnRunPAvqyG+(%ThN8O+1m_!bJ%C(RFFImL#pDMJhgXENw+*2KA$?NE2jC~Jz6Zg zHu>p}y+saMs4Hf5UypxD*nfTLxnQ%)+?Z?Dr4Yx>L7ESRcA_2rm>qY)>brOr)mGuC zqkj}?0Ey>uqElThWq&K4_D9W@wZ}Wo<8h}P${Eh(Eu-wD536-YSf>M&W>ebZ$_^h5 zE8C`4&10BylI4E#@CMJSjM4&ZU!}O{Sjy25>67|HM+IGVwCgfmx^Apnxaj^*+X2lZ zw-}mhwog>5J1;=p!|%*5L$uaA!{KIg;{LcY_96G~XMhOT`Bw8(?xC(9T!6Nq9Usa;1sFYrJL&mI-gZcr9uGkB_Pxm3r|$nm!^uBZMYbrHT75xL#*ZhNZ5cr$b(VQx~# zk;O9lpsC(<%3DNJW$z+q)f8ok52vpK`UtYS@9~^|Y>)2A9*7cSW@zd0oTtD?wQDU% z<)Z;`%j?vq=jZSAQk4p<8od67`jdwd9@vA3@oO}(VQgO5z36ehfS}_zyixP*hR%~o z6v#J$_g`^m!{kYT)8049jzUC5L1;c}>Er@*VCgMxWtNYMcIcj}f1^wsOY5YU5>&2%0Zr z=VW~N3+*@v-R|F*^P0%F4l<$^tIF#v@b+g(6GrL*l-V$ zKvv%d#Hu8)$p90ARD(c3nm7<^O%dW0xiA{KMwY=Qz(TCI5r!aCICf(i*!3>`gz`SW zGGzRju6QlSYg>?&xR6f#gISa$o)$U%(ErvdSN+5YQLOTY7C>V30Dj01cVlC694|Zo z{VbEeOM)f)-(mK}C?cfn3fv5j)NYLzvh}^%PRnQHaf*jfqW!3c22Xa%P$M4~nkjJp;r(^Ye&qR0||haT@TO8hg`Nq%vF|%oW$|BVgfm- z$A2Q9g5Mu*zE*1{(1>g(Ul*#;UW!;c3TI2suk}R0%`0d> zn@Xm&_WjYW7;I|f613np{S_Hj5Y0^*?jXr}gBqikc6t%Rx9H(EG{V)}5Qpa1*eI}N z41ml>S;=5en(z_5;Jnb9X4opaV9eg)9^3T@K`&BUj$(RY)=pm|)iF7d=eAYO8hX*I z=F-X+2tY$g#&4NsC5sPggpFx>QwDizT=$8uesM5OJGLzc-`g{pj~NkI^vQDb z({xp{AD@T=V;?My1F<=qf+y(vid7j*JP!Fcg%oVhmH8u@jIovHvTu_gn;Z3+7s(C( zHfQP_N)D#i+%R_m$ghp#4>!Jgp5`A;PVqv_$84Mo%XB5vMp%Yk@I1raje-0|F;}Wp zvHt`f9FGxtu=sMxl!pW_V5 z;BiDI;h?!mLyH=csKJX%_VhGeU+Gp`nQ7!nbh~8UR5@-N&Qx;N>^$frO#*pz^_XM07>Wjcx7xG$tc9#0)G?fVz-yfy)gql^c zev%d&sAk@S#;TRAxM9Hw*RU*sswZ)J8NY(~>oR9$Y3AvLcw$iyH%tKg!7JW{EQ|KV zRhD*&7BGB5iNA*>t{tTz&POgs{S@2U=XVy~3rx9r%;8>cxhP+(cAxq!-K zO;}d2=x}c?b-wC&zkMW|tC^TK;qE-09BR5iR=1S2G2-t$S&z)kl#_w!bReN+8#GJo z0_%cnb&YM9uI!gi(Kq$cK$0w+YI(&o0SJX_EEn^3N7VYY&;MYoCmjst6C z08!5f+<_Q#h*JF`7$}-;*}fd_Mgf}dSivs%HM^j4?PZMDty{sLM`yMO$n3#4c(APY zj63hEYi2mmom-!%85;E{spPG+OSBX!mhC%tSxs#6sC0`{xYlnq^ucAneo%-N?dxbR zTbZ~(eqYHF@%ai`?xnTL33QdeF+K&%G3Nq zy>Oi%Kgvba#AE&r0{lLzqLARFST*ZJ{dJH&If%@=5W4%4lkWSp!&$qsz}Zv4RMEVm zl|AqVJu?l`>XYu_*4_R?gt&Wq~JQmkWXtueOt3uL3Q%5|k!dddIw5q7gT)T*wT-cb&(3DknP z`M*+m#&KK_##I(0;B4pFMIc?#{B}+gXR(*ZHESS5Xp}}(mY*Qlx7Dn8BI8+TF48Tw zMKRI#!I?qSkDCc@{010*_KTH$8_|qgFta>hRPdq^{QKp;GJ4Q3OhlCa+J9|)g)6D# z_|fQ7KS`hy@1GL0z(P$8`z8FraZb^aM?ivOP@3fEPlfVoMd}XPHp4hxN~;8y5JUzK z^!<8X=3gjso(vmOt;riDxihCbq^#%gC5pT!pEm99V92mqjJh3&(qRZkV;NkW;lYQ* zU@^e63Jkd?WiwX~!rfF^l}J(|PoOnD5vCbrHq0YLxs*cHkTaSXq>aWlw(!rb=%L>d#6dpNbeVL%E$aL?4>VqEp2Y zJ7*oBZI`gE7kCjshy>{}`I+l5y>UV~&VuueTwKih&4fGc(WqKKszti-7~q>S*K)V)OVZ zY$N@2=WI7eY|hirJz^t0-S4?>_ubg1WV87BZpVY@r(`39#+oekQyos$l?G1cpM@_2 zIdLDn(C3H*iAzJDA_j>Pf8Ymoz=tWIf80hHFxab!vS`sArQaQ3Ke&Uz9^V1?iezYr zoJ~Pw0tHwj!VCb{L=>v+g)xKz95@7w{nDy8?mH^{1>n&v*N^WQSECv%6rb;B3I~77 zi*Fo##rE~`diBpJ9Qw~OQfKy4;;I9EY5<$P2$~uaEseV>0%aFh{;yDI6j$YzK;c7lyLP9TPOK$dT*LMYGPGJug4s~SGA zFxnhK$h=Tpk<1jy#>E>h{Qt;oJD*jg46Huy-e^*Y4Wv+4QN zE1LYkZ1sbWMxy>7R>?E>erQ|2)+7F_sMo|2z#C zx$EMYSI#Gbc917_RD^S@OEw5yiG6w?A`ox!s^5^M=kWwOfB0D={T7oF@@^a~#1DsK z<(MBD%_d-O6}ny%+Vp5F%*O|%HjFh4Z#Njlk6~(BgYX$+*%gnX;7h}&UxO(MIA~*7 zRZ+;eC{NH)sjoPzt?*p8`ctE_{O8}v8i!XQ|N2zDtW=}NdJ7;+b?t0g_1)A$pqmnD ztnkwOv9Y8ox5sj;l+e?3Mw4GJ^14D)&8dLtcGfX67hQP%e)%@iwXV$CwNk~6NW6GP z3-WjRSmod9kR%x>+bVN>Ak6KHN^m}b-tlg8U%Yei^65qM55qUfpqC`x@pVWtO^Xu9 zWLR9f!0?3|4OeijjN<(r57ePj#A9aJUxe|*J8=M>tfMrs#7VB=JuuR`;6L<{l%Ti|bamcWzsc zyVk?8ePf6Y9@&EWiG6GM4xZ`b+6hpt1dWTk*02S-Sh398Gk5100VbernF{9JQ;SwKn_2pd<>8F@F*xvkz zNqJWeiw(3{4P*|z$vNF#3dii=Ay{Z?{o^4@qIxT94un@~!dY&y&1+(O3_KkT=>q=@ z4Sh5`9}h=?v|)3gUii56cWcIflx5+17y?0e2$-Zd71R&rz#Gm~dqs#VZNV=XL16y% zN({8!R8i!kcl)n}x=kUB2T0T_94RD5Ga;ABBbqE`YU7wp2BL$Hw=PA2n6yo04I>K% z*57h=K+*D=qvweyxFTulFVg*vH@+m=S#Nbw6At5SQ4>ZaWN+yq3Si(ggNTG`72(4H zAk{{PsM8QxOK}Y@mkM1hCnEt!(8l91(^63zYttS`s4 zqSRcUei5*6VpMsHhObFh34+RBQPzA=(QhLH??l_Og%j0)(~`{)&h+Y_i7V%TF@(mE z{e~7>by^6A!XuSxcs<7Jm3^eZqNU%)Rp_sW?huu{+(fyzxgdCYc4i_Dmz9bkcAqJb z6R$6Nt|$3xxN)1bTVD~oWa1>@O_iY~+TNP5%Rxv6f_>YxBNO~c!p3sa3QV_IkgxNU zeU#W9#;5&LWODwOTT(5~hi#YTWy@koDW0?$I=gIANDJ}tVpCa_+@?NtR=S*_$n%bea))ICa&8PO-%NXxS?76_0=zG zdJ)fOh-Sx>gP1fAWA1|yZoJ9J5iM&!w_C7Sgj&X{Yg3S%q0cRqr zC~kG6DmRxcWK+frbfNT8ES2E))v1T@0cd2=$>MmIH=^b0j*xbH&$>{~j?-QH0W*y# z;Zxxk!uZ2FXM_E3Pg(Bx1KCP^t5!!O`AmeIXpy&`97~yp{ZrVoP@IZKxd&vYDj9kT zjv3fXHg3v44jOC3#K)bC+2dEv#*^#%O2|@8^pNGf>yZ&p|8yHVaYaMg0Mn`Vq(QoK z$fYe{rjYq}T?R__T;PGX4o&3+OwL&K zZx!7iQaTsC9OeJ@!(0sCYOLx+;XEOD{2E5}_1(35wfZG2;ZH${ND7``D3F92mH?ul zNFez?BO<#HjKAlL&|Zp<<4e2}Q~Ht|#uk3WC-EoTi79^lKZ{7|{KzIeP#WeuP&&#y zqX|46=M0IE;gDlhw*-dE?uhBK$Ywm^M|5~#GEtCyY#$cFj^gn~zwe?V^C_oZ?mInv z%I&FXIR;mOt8X4sXxyz&ScZ<9OC7`jVP-t2?-2$qyowi--rBvh_np-gezH{N1Xqw|O89C#DNlMP zkEOiY`#*!Ju($60OEp((XhL{=wi7LS28J_Q6&oz)-yy7gtCfBO#iX6SAsFR&V1tFp zFX652&OhWx9*5*h-F%-_intc_)f0iG=^xycSN}s11F#&MOCW=Tf8Ram5<3$H!~OmG z2j{TuOok8M=R;`d{u%sUf0keQ!fp(4M6b4! zr<2xy=+murxI8N26?=;V6E5L0a_w`p4n~y8>?w+vJ125V*%m;;%>vLXUPrmwEf)8* z{D6m*jQ~{`l;x>>zvlt#por)LCpnMiFicik|0)l=aKR1`Tna8Apr7IOptXB}Ttb%i z0J&xb@2Cemd7tc82`h;~PM1bAC!*?48^5 z-7kAhH&Al*TlKQ8J0r=TI&2uc6f3n7L&M$Mj^6>PHn!;WtZtOXxX+-01{Niu zXN-XxFT#eG&E|95wrJtRv_;K2utp)HI*m zi0Y3hg@Ht?Og30D=t&=_a$uvD*DOc`{v`GL#nt0&-k;SrgEeYyF|@B0PQ19IHLSp8 ztfU)5d0wDwQz_Um5p+XFUNx3qa92eUV3t!UX{z};zU4X4`ezUXzSPY$#P2$c{!^aR z)}H2-aB64%upNom8DD-Y^v1!s1wK&CEVk=KQ@0>H&t|IW7jfA9q1`zi`=wC{gsc&{ zZ7rxnz4};j^R*=dh6GR6>XU;x@2T}5+2yGjZEf_3)QS0Ia+o6oG16ce^f3k?QQmX; zedAqsuHJ9e?9t>MsZP7^DxrIC^Au0m0-q%7hq`Zujm?pjpU98;rj0c%cmtz|(tdE% z4Z;TM|B8lw*W+M}D8fe>Q9=&aCH*P&>6|QqT9#tmL@Lv8wE)X85I(5iU^!z;v@ZD5 zz$GCFy8d@%yH<|eRa4$omRXm&h+oEb9Uhb;I=NW`b#^@D?&0TVf!8Bz#^^HSdir32 z^MMRmGG{)dyM)r8FWQauW3A!KBoD*C#a@z z^`0%_NwyD9+1$9?xaO<6tn?k<{_Md|6pde;&%(#~Qn{iEs*pkW7J3HM;zk@*kAphG z8x(f*QsYyU&k3kb$PI_iSwQ1z%HM*UxE=Ms>Ibipv8v<#NA(Yj}vC98$Ebk7utvp~(G7%-XQe z_uD;LV8u95h!EFY_rIHwmDlJULIDIvL?+`Q-Qr;-iHS-YVaLh!y*Q*_73*l3 zzXIZH4E9E#BH9V+JCmws%)wjYS_1^7_+>{LDxBsjADyZ<8?^cxsC ziq5~1W!wFKjxQ1CZc#Q1#Z$6m+y90uJ&B_CyZdBRb^RYv^&Ui~=seX4!B7t}zZorD zC=#@NpN@*6G%VY(OkjdL+C(?mAA#5w0E5U*UU#P_UwM(e+XG)c1rprgwzZf+Bft($ zbUCstQ-v>X+kVvWi)a~`wd!1B5dE*ITX|u!=d*j+zM>+24T-HzPh`HTopq<>5*tUO zB&;^%rY5oqs$$}O-ySa?Tj1Jxro_dg%qEpqErR_yOMMypyqLnU&Dn0EU|nkaXZf|?KV!|KhcI)GdRWXc2pZ;m+;PW$8x&ApnVrQrW%;M7mD5*}z`s{5?u2b$;hZXBFdp&) zlN=PwIaSr=*K6nIMZZ8CjI8fU&UCRv64;{2TuNQ3AtF8DS&_K^3cz#b`QTgTG>L)S zBe|6G7lPQeX|gl*EJqLb-ariLIK$de&SR70f+uhDS|UP&V^Q;U6qvG87e>}h|Dn^F9U}#xRxGzUA^p;{GrmrVeueb z!XOxOq8*MK?>cnqEpoQkz`0SHLe+t)aV&+hM^dyblZ;ZQcmA?E377_sViHK=fSLHd z5X05A!U*)l@DE~aq&d^>sZ7bI=2)RGI`rVp#+Mzm7X)a$k?L9~4J}{P{J|x0Z>O0V z1$E9rD2(rMk8hHiD;KjWkwVHok|x^<0o(_+yW+V4D0iYK4bFxB3{gyP>neN^hu0*$ zQ2pNn?^Z?Zmld)GX}rq+TL?zcz$E-2F_a`K{=cwGRJ?M{zdei4A5lqZ$n|aWJy=F% z@EZ_?{ca3MxV0w0f_OJGn$_ilPn@L1NC-o^rAmqR7ta{X!U#K15N4dJ+;xH33nqzx z{{FbG@-3D+-9^e&He{m~$OSi3;h{C_)D~n^m=P`4nHC@@bHxG`h;6_?l#DvU+A#V^ zO(Qj6f&;O2^~eD-kQNf8;OI4nyB~V&;P9>WL62M;&U82E8z<2!|3<2dqYMw$6dMhc z!GhMovJ_pt>y_xo2gR(WQ8L|6Mq#9`$U)690cFuD9u1nNp3dXI%0?#5TM9^`6Y!GJ zKx{xB2j!}jkK_sZRgsnih<9JAy`Z-M3=**`>c7+lEkzApR`!`M?s*UYv_u(w`2X2f z?{?0FA;TMy4o5SZs>y%u+*{+-5{ubm_WUtjq>hk|bG1FdEUoW&O`U&PB>b-OQe`4TK@ z^3Yhq`TZfc%=Qqfx+Y$tAW`H6%N}k{AGY7j2y0ns$%X1_a9qndS=s*ZjC5h;P=SMmAVjUbm8@U!?HqJ z%`_N;lyn$_5WJ|2AwVim@915r2C}*~4=YTs*vc-kA4mwS0`TIrojvkji#juLUE6AtpKBq?jpfVH@id^mr5N;>HeI*wCfZOvETs*xt%R z3pNmenKliM(i-KMn5t8GLN0|`2tpY(6o+vnmXKt?Ki#uEJf>+wLa`1^{Qj1if8OzE z;_Ce%=5PeGbALTKg02akYI^Z|p5qvL@mB?g1Wn`v=ZMIQ0N%+zW!ix5X5T&yhACx0o3`m5d2|xI zOU#r`9S5KduIC4?2E1#ZZc!`Gi+bL`1;1CUr!A%rlRjLApST%QCi}CCX@hvQh9cUhQ>u;p;`?EiU85Nl$8Vj#zJBBi7J?*S4iJvwZ_-t_JqVHoB?$38m! z{p2o)sm>_zj+n=&{AA}D|nqoG`+lqYqKES zE{}Og$9cVQaBFnx36PMw#N9e|Eys&xj)b;>j8?nWWfpDX+7K7BOaWE1^$XZl5=Nxo zQ?aH^y*ZLi7Rzd35#6j|0b4^iTza0LtpEpQ>~o?p21s{=oFdLl2IdW!(e%p@o@D|X zp?$nUo3#7W{*V!Voz(*b7M<0wS*$LZU8NcbBcDWR+eiRVk&T0Skb_jdzgi26?O)Rg zQ`{q4lW>kRVB44^=X}iqL!+sU;%khJk6UtmEhJ6x&L(H?8~bSGovS!A$q9J+#QA#S z21QL*7E5!xkz!E2WU_9jkj@EE%VTQVFo_VIGEP{bWSy?7KNBm@fb=)KnX#dbM2$9g zFRZlJR zLkdr}h8NTxJ4Vh@3(Uf!LtP>mIx$iJNY&+09QNZ}&^igk=Dl(598y-p4~8n93hbjA z*|As`wncxg?i8!Z{W`|f&1G=U^DdlXa%rDGmtK&ShVGV$@@z2V zG>$(>b4v1&X_y_+6STEHX1?_%C}H{mNvmsqyDyecLN4i;Pa-BL!Bz%`Ot~f?nFE$p zeN39}eoV;EVn;$%TyOD6YI)0I=}@`Y7%U$gILhiLbdi$M=?)is@cOn)N8)Hl^z54G zg)fptIM!R|_(GzwT44&8*89^vI#vKTaJvEVD@!72GqmVnTGV~Bj-vImcikJ&B9R0G zGKuXnU;?83bRq=4Hq#a-!Qnh422y%=&3vB5r;X?)lGxzs2*&Jb-55;Z6<2mws!$uB zrQMOwRa9mXP8#6|<}ZKJ>u+FGiNTjO@=$1p!c;OFXQs5fa5r_l(FA>d@p^a3iW2!j0speauFO zSZQKg<|yQN4y2zKbHs53wx3c=M{Sd}h9hEZ3>hc3m=7AXZ0ATW5+IkF-!y%PTz>3Uy2LlFu# z2Re<-#XgrSZCd@3+8 z9cd#3n;T~}W_1?xnidqEpf4r=*0GCDBofo2$vf5K{`2PaUM)JmcrRzFyw;?J3msg& zoBtTu`g&Ifn-daq`y?_?^uojgDLdHC!05U_fyHojAf4~b06?~;nhQ8d+EBz#vx?&K zj;LZ*pIBZDPZLG6K{kA>r+pko-d+B9c(QJxh$3Bat8FK(H4HpsJm3)M2|8aUT(8t| zFMEAN2BG&CnYGQc$xWS#AosY1Se(JxJTdb#;1HCM=iTT`lmox$jH?e2VuXbG1}gHC z>t7J;zC70F!99@rnDYRGbbqDy|MvCc6v5f67UCUNFK>r|b=HZD_w#C_Aq_ZCp&OG_ zr-_7jPm-0+qim~}o_b(nRhm%#WOnxO={0XYi7?_Fu!z@=Z6z<*wk)?w?*)p#_s4h< zc*+v#^`J71+sraPJjq~=v_^nUauggbVO=Wph6AL`LKDMCeMH$*CNt}lv+PgqC*@>| zIRANU_+!>iR+$?geD9TF*F8d*ojZq|v}cwEHdS@ZJ-|SrDKZ7wq|<3~@EClc?ljK# zV_$TW4Q~X$`xiMgxVsPq(J- z`|?N6nl%-_9&M7h6{jUy`e}WlG0Zk0f|<#s@xjA z&82hYR}Wjdf7Xw97pGp^Ts{WX8W}@XOuPD3T^O5!nZ_w|GNiuD>m-PqcEv(rMP*gBZ6bf+f@r}c z$o?o;qa=*bZIS~tvFdIV%mG5*qI25J`VrsA;*_K?7-aHTmWvYUzFY`8Ih-ioEXNR3 zru+KxC(gyKh<{BzX8z92nOHAv7kwm=PKRrdmB41GfC3+9cq(O+t{kwBW9E5_n6kY; z0_AH=>Jd&J$wvsc{cfmkW;@QV4pyt`!BRpxq-@nS9h)#8a04I#`C)$|o+QI4+vydgm9o*&nSr(a$*e|yUC5$p#qH*A24v)}257MMf#)iD zX&p3p;-mIAJPRt&EW87mtX0Y~Q$&t9Lz?s{@hgY|c3eW3um)3+ObES0<%g>PwiFYz zN$Hb&t`YS_$k@bSe@cJej>Y*+Vf!u%CR{(lNG2LKc$pULr*XWTh^SquD0n!)FC1f-92%J2A!CK4KZQjuh*pvj45xQZ+XAr` zBD;N@a0fM{KI?bds~eV>fK}EO66Wq^PbMWu^RBv<0GM)3^z#i+rLCiE17j0y4ggCbVG4~3G+GV7iTN6=*pB8X z!KR>&>bbdUJ(!P}rOP@Ws*x;>pJtS2Fpa2>;F>9KAR;y00)R*G`cis()H4{K%r}s4 z)Z{DLJ>-0244mfFzGf^1<~FMD^6!sZ5r0}0QKj{5*aNz>WZKwGQk4lOhmJyLP6*4?By>n)SA}*U zLv#~Ccb&g1@WSW$fFl5!YBPFtaQo0##w0C((;<=639^OwhfK+7!a4W!Qj|88_P}?k=q#_ z|NVbfgF0&{Jc4n$YRnEHeAfPa-uWD++Q~h_KRkSVNKi4`p=%3r%0XJc>33ASf4px0hVBqo+!zo7s$jG1{{DdVG|>Mtt@saZN~fN4NOOQbH8U$?X~sK*8+av& z{a9^$j^_P4HRHgZkB`(1NYg%$!$%7wWC+itNznRR-B-1d${%@_Q!ZGWn-vK_U&<9TdVv)>HH zX1E5HZE1fLYk&pWZyzc%4MP6!^U$VKc@2fldW$q)n0V$ug;}B&BwJP45wMdtYg1P? zJ0N`&A`{(tD9iJ0(T#1c6VIfG6}OGuSpZGfsc(_!V?VxPTczc=NOL3;rGDuUTfNIN zS(iRu7w!GWJ+ZO*@M3kH-TC%x`LLD0cKkcFdHGwI%eTgN2Dkln+4hR1Je~CnP{l0g zZl!&M!zOE3hwAX0CP)pOI{&u2o@~Y)Nw#_y^x+Vex>KNSTH5kHTXa~H!&~Fi_3it7 z&Kv_GjT4Z+5CEcDHF8g4c2ZhL#snf-&XCfdd4q>f%4R%u%CeY?zfcZ0R2@j}zA^7f zE3R3n0TUTd<3X~dS^u`o1$&6pmtzx*;rC)9Z35vN?QF^}yFTU3PPeGLhBq0P=*a7L`*+7EU3+E;C3gGm&56KX1XPR7TyAjG>1*L^zn&-+v@Dni%y zd7koVyuZ4{dJ$p-H<9lVe37#@B8RwxTl_Zq<9b+1dEapOx%qjToBcIy?zYnMBL4c< z(&gE|A11Xq&iohiXM}w3&*^m@ElWK%|3o_`|1B02Q_R3KCpfporbm9He0(m4Ks(=w zWMRu+?7-N;I1psutvy+ckECES>z9QZqLAX;q))IbI45e5z6P6%f~glgGf1NSWawY! z#^%3k7n4nIDt7l5fHb2y^0kvj>Txs{tdV*-g%yo{XwCNH@QWDBJw^e;RgHFLH_d^9 zdKP%({q=t-B1xG|u|bL*c4Fr)u`;xc4{e0zeTpnpOfyzd9g)<+3woH0!Lio;t{Ubo z#8kvpH%JQRbZG0bn0djmg}*2Gbl*8SVO>BFEZ!qa?+lXAUe;imd8>5PB4#U+*femnt zl3NQn^yA$!r-yuTEEq(^E<$Gfw9D*>c{Q;v&Tpe)55Jgi5o6SYDoMhLxn{jG z7>lJY7_eN+sotgt2;v@F#5>P4hd0G^$CPnDgBhe>YLZ}`XU#;#1l);52i#TqdbcSa zJM{4`m*TBrr%iQs&*EL;CMDjyuAkY7oaU;mVFx^}$WprwersH2>XO4Yni-@t`ZHU{ zhX~`EBZFF9^kHTQf%XfY(ThumLA1dd@9Z>UH&{eCOIB@WO7TA*_4h+;5PUAe^#^n0LdL$1J3hLHB{H$ zXh2!``g_{DUHue6AhBC@Sx`m1o^b43Em$vz#QaDu$SATH93^*eVUy=fIE1XhhyGhE zn4l|)mkD2$ljA}BlV5br{Ooh0H_w4kNR5eR>r*n``I%ZPVaPb!tf@pa6mztgI#&Rd zDYuhN-5e=uR)yyGIA++0hikt~^gYwxtO}NS8ykn_8&M{n)u#-(umEp5IeH<3n&9|l zi|FG)zPdTVY_-yXt?+}uxgr zY@bywQn35oYZP`ufTm0gw5O^v^~?UKl#DWB^DYVE+6}B(xTXS~AltCib5#uBffNA) z3fz88>k$!{e@T_ATw5&M6*J52u8won5Wxp5y6gV0NLputhQ&IN*;lD+dp$3twl+4i-k)Xv_#sqz+=g8H5v|S6g9O_PdOL_fg2@t7a ztK9Q}-I?0s(~crdhi7!f^AMNYkw-!bAmdNWo@(IrUQ}KWm@Vm#g{3-#Vm_ya$}F9v zpSY3~BM{{Djyu<%f;&)@w?ly53s<^c>CTFTD4Uwfm@84Mn@#Ogbm1ti=i(bhuUjU+ zpcjMwZO<#q^~}#8TclbiXgwvUYneln(m{z(gePlXafASS5ZBq}nb&AWME)M%naC(q zJ>+2m1K9sDdU1z)BM7C^{DUyX|NjFpDzpBQ0XdC8KM2Wx!v}61&_72B4N;17ec-s%x{jPTa8^p6`kxQg>aS*~v>A=<9uO}@Rj_^}f_%K${$e4Ea> z`2zT?M=!=4P*<^T7*SZUai=x=T|NUA^%V@5euc?aBSUnQr?(lBvqz&gu@Fq^ZB)3C zaf&$~9&BO5iy`{zK5d+x&Z9zv1h#;vW*qn_OO?IG*nF0V?1O-`K@EI56B>*mR=D7M zwOJrKPXR5^8_iGos=N~#I>>n^>&YxU#c41+crmicP0{<0t-LSA@%opieX-jnnCj2t z+xr~P#WJz%|7BcOi^;4#?@_;Md=*NFWOFT+3H^7#l@47$`UBvw#!$8W7BdnVS ztAxAT=sg&f-v?DXMM5RZv$@PH^M3{B9cGy@U!NU22|m|9d8DP9!;mxHjrQOt4+f^7 zb%)ENys{25OyJSj5f*myZI|Qodx7?Ja2fGYZ!gjuner>t|D&~Uj1eX3 zwrtzBZQI6e+qP}nwr$(CZQFg@xZOSd{!Av5$-K#zNvc*(owLu+O6`4W?X`SvxjUj> z``}h9ZSOE`9|W&L&^8ykoXrbxt*VLoe2M>RUxf57_Ni;Li6&2dmU=JUtct<1{<}70 zpRpd?==CiEgUFqu*HY(lZ;N)4?)2&@pRabA3_Z&_qP{TFAWZd9wlzMmHqf{z)stV9 zfe?xGe002rU8^hGDeOQLX*B_6hre$)9%lpM3+?t3{(D8+#(XytT{D{cdUJT`_L-;Y zx%S0nV5jz@`m4(86=Jii`gD_VFobU8Hg{hGA^v$zTiv=SVKd1!H)|C0WA*r#Jkt@B zSFlCb)V*j-_Zr#l4KKi!9P{EHUF8Lj`Iv6YhxP7rZnT4md9OJeADgTrb)P zROKezOjzzmUw?+ydTZcpal>0OL#282$*%CRbp?~8jn;doc2P-ZO%sAvnzf*Mhkt^* zue#!==p(B*haK{@siD*4lnmEnyn<0?-R#DVqQ#AZwoUBuR@pKKg7YZb~$HxM~Cf* z#`2GcyVqoq9+V_NC~w{gy{x=2t)_|0+t#XlTdRfYj9pv8;!ZoSY)sAS-s4*N9YmJT zNic~`-u`SoEdK%E+gE_^_RsY@6VTf zjZDGu<`6rAEm{rEbxWQc8(4Q}V&TkG4 z@~)lUrk6ov7@8WMzX!IdX6jJWn-J2d5A2`=dUzbY*y_`Al>>SFaezsA@W;N^mQm)BF<71Dxca*XZYh+DFADkM=&Rt8<5urXoTV|{ej_jUL4 zwHNn6`}3W2(--&L3GfpucJb0DW+2x0P>_1%Du`v)Z@WU?W_nFc!=Ab#w?(x4Q-kf$ zA{rAt1a=$S%|x!|Kn9J#5eCoOKxv$>Eel5d{YrqLj(vm!-bB&mdNvi}M_ zZtYB+lh_km9mA#!yBa3!S876&>QW;4*?Vc&yYm^akwF%ho#Gz6h*q}w)>DhwqLm`7 zT;w@TIkZ)w=eunA#>4PCXcN7+*34)NtM=c^KUBTPXvl;JyNSm%9>4z%+Dgynq#h+> zdymhh|9=8sRnc5!%P$Y_xK#Ro0`^JiC)tJDcZknSU+a$ZnjaoN=~|C7NXFMvNO6I6 zr+!oy5>Gf~k~yahLMAbBDN(Ln-$(k zKxTM2d&n~!`TZ#4gweVBGP7(hyIc4 zYKT3geyOrnh+I+A`~$u(vFy;Z{zDo7aq_c)&7%&80QI2~BPMup9-3}}nf~slaVn&Z zETVjobrNVn;?`E^R;IS$&R5iJ)JOgP9nwOOUPw&lJUjobKgS6S!qq773L;|-NGJM< z>iqzW89j&gQb_nZ%8L?zosk+QrLif?Pj}GtD)dQD^cI8pWX_lVclf?zE{L;K{5I9J zV|~}NP}Ch}qO>#p2#}p*o~BMRJ+}zW{XfGUmvEe2EbXpOENxM)(b?abhA6jmqal`F zx7Zv}jxn-^*#^p0Jxtz%?~j|TH=&Wa=qzO0M3WuF*GNKl=dU+)G}UVYc$zv%5abym z#1_%s_|3xf+Exmk3ffE1RklT8iamLp(MjgZIom+KB3tZD5G;mxxIYDeL8ta4SRM2c zVh0+93RDrHE_gO6HuC}FLQ;tJDVesTWY_sTh6do%zq(eg{l_fM2H>Ke>dgYdxF#Zl zaQ8o8#Mk=AGr_pgp;XuYoOhmsaOpF(ak}~okW%YezjtOJQhIJDG3wy)5@9f!Y2L1U zcy{${|H(4F529(x6{EWWO$X66VrYz2Bc4J1IqdWLAG{)j)W1Z=2AK3WU3v){Zhe8n z)cD8_qL2`1Ro;JQsEm^12D%qj!XaRwzlMwY%jZl2k^Yp=Iw1urGnd7dWO53V zW^lIU0XiD+10OFI1vAg>DGz3#3rcf5G8saeCDhOy{Cg%7xmvomPJv#}H(_&7>+$ns zlg8^wq_x8jX{oBn$*c)nLHEE@&(%U*&^2wYVpMA`{ZPXE;6VY1G2Ce*q?xhj5YVpo zz_Qt~-8txaA%wxiMz;r&s-L&JGHR9@M zs;70h^+uxj1nsL!=f#ItOdm#-yH-eUS>t9b4-TS3d-;`~@$r%~bOK)kJ%XJ9HI zX_GnYXWQG>Kb_XjEuvnV`*v8fCnG1i zk-cf^C$}d<2QhWUNsaDUJ2)bG2D^iN0FL#Q#lPS#H-sH_?=ip3+6&Rw%eRhg4A|~d zwQbI@sJRlQ!i1h`Q_sbYb@R+_r8;T7279q;Zq=6Dg%y%iE=5xBbf=; z9YJY7D4qY2XI!o3TNn=}yr30t!}YlDrd)jzpUb1P9j!i6`j zo(g=3vmCt}P$H$WKc7YglT@ihQSQckb0I>+3X^+5-N%#sbn)8tuvcb~yrFaBi)3xY zHv8e8Q=p8#sx@;W^2f9EU)F_gpQu6+IL)! z`*3(jmgjnS2reMZ#;X|_(Q8-302^?X9^>@6>pH3sRBtQy45Zu@t{kpe2a_srQ+Nv^ zez~f@ZV&9Iu6@30g9!PR(;?5ReNF*R2L*NW6-O{2FG#{1u-{2!9gyFd5G7a2FC9u92Q9s*WlZ*HzN+vD?Mjc#B@nm`Yb9+#;|ON5gV zY`#U@)fo?s8*69F0HT?gUbKZvtbRbaZmcM^fUB#D$Iw<(WmvL; zj`y!I3LZDZrrgkOEP_668vNhk!;tJBAA?=S1qu{69=Pn7!@#f^Iy(sMpZdjC03beq zHdNlGEitHApx7QX3L+Sm7p`qI(H1yRk>^_qE2a1p{Z&ZQuUv+!6$CRs;_&CVK%W`r zha>D3foiLMg+O)kaF;-JaG-{79@p9SEEuZ+d6mEx>Sek61ZVt;m&?6gq0fxqozaDI zz#L+!Po!m`2|m|6E7N}%%!C_xW3u?3L)`peBch)TAGy4)D4W;@G+@6KR=5GFc=*9H zuG4ZZthLpXdTR@D8H4J5=d=%=)3xXFYLmHZx+ZLhS7|?8lEw@5U^=>DyIuWJREy3k zS3*s{)vERZwqxJ z5l#2Yap0egJ&rUJh=Ux&=zCqINbu%t4B^-mfY%sXOJM7L333yENVu*w$n(AVEmBtI z^+ro(kv-t>T?x%YfG60}2C(`)b}nLIUJeml0Q=B2D?b2Jcb`G-INQ?Ez3PS0C{%J# zoLP<|Z}d5f1_Pg-Hrw78D@YCqOo_!Y`;y+PCvcG6c305hS(_-T%Lr!S)E zz?qup*gYm|?K!u~M7|9^X@do$1 z5YMudoOR0mz zy?&q1eSzPb%_MH-j$vf~DU_qTm7_vtXJ<@gWc+77t~L`3R~n2Da~h1! z5~*;J0(nz@lNCl`ylJ>lrf7A%sRL!PMl+NJTAdJvgUHP&v@+qC&*aWj~gv!`+X5Iy??{cU6~F5+5oo%IzTu=iX$KfbWkuf;1w#s@jSU&xdwDX z1u995ay3E1Mz4tYryexn$sEt;BHqo@hK=z=;t%X&6-p821XW{U<;nUPcDVn zv31`gY!iDKn|J)jVac>1vFY-gEGB%uv)%D@ihsi;0$d!x8rhM5~N{HmTZ z-5Y-X;ut|Y$F`Qx3g5ETmHi=4nroJG=%WpPhsCbq)i^h}hxQu^pGqoIMST4CwgULqK4aw949{C4t!~-Ku4(jc$z1`9 zmR~loJoW7y+1JNW-sKh%@|)1dPTe|3+uB_~uQwKTnOipAtK@Zf%KtpY(r+?d7e-}K z!A)7+T*P!j8vJ%DF7;vbAzE6apYw+CxB{;`UX7)=#+f7uK64q8O^D@RVB|bB=(bGe z#PLa6ycCJZrxwm85Y5Ja85imEyA>D~_4YgI>r)}yo<%sGpWeN8C|rLf=+_*8-Sl2y zV722wUMhtgvye6VP@nKCq*pGUNtDsaGwM~pBJ0a0ZM-;S&dYv4t}?D^**m!rrbYhp zXI-7fZ7Hcf^LNcW8*$HSD69!)xg7O}8WYmydO4>fLAEIWTN3QPw8YcpbQtrnGkddv ze;1j1gU}j)mVPTp7ec6y?I;@rf;)+FIIIUOj50V7Oli5TiH`eZ9f|kFq;OeO&1{gU zv|UHO_r5WD1NIO_^2Dpsjv$FO?i{!Zw|0uNc1>JMn2SN?j_gP<74L|z@l8(oPNxU* zs^`Xt6`jM_c^?0#{&Jq8ZJrccsrJva?ogt@MOn3(P-uLha7;mH%t*$ zs$Aim?}}YVW1hF1V}N|Tl5Mc^x!xP_)DB#YIzi>3a<~0ZbEx)B=oJ9>Gzj=~1&-V% z?|@P-AKIJ9I5bQPD38s}c22$Q9i$h*oH16|{vR)Y;GHg89v1<-ehd0Z&v2kkpOLj9 zsB8~-m3(+ohGabZ+ZNqR({9Gm$wwqfu`_Se(7CDf+{dbZ6f2R*Wc_3(PDo?hptL*{ zTudPKHldX{OQZYDXWNsmJOgkB5H365nY;q%doC9P>(#-MxS#_lUx$k@J#BUP9U_L} zk&xGoFNLTd5%wR^CyhE6t=kW>t0?b;XH#i6VWu6r_qXCEz<1MMazOj?wnPQ=bb*Ie zk_Dp#V-Tk(_0c(J;+(lQq6vat=i7R16xw*l`m27{x@ zjCJ7$=bQB=fcu@4Yo}f>{&gYj6d?>pDb)5*l%>A(VbNC#E1^qAu!uEKtqZ7dsSov6 zgHSEWd;%~h>)S)glk19MbP>?Yw!Fov-^m+`3Ai=VU`BQ?2I1PHklr36$A%=bOC8L? zf!G>GeOMl!Lo{q#5`J!$eE3$@iz1+C-XG4w->uk1EiY?pt58<5OjEKCx{QEaIiUCp z4{46{j=N&nE#l^tUKfPKjVmxU_?WU|{MA=NWzB~HQnLl5@Upg&uyv=ND}4r%ygIKn zuCK!Xu|fg2;{-{)+)D|b+`a%uDc`q?u5Yo9U;QP;c+aMGDsySYLFd{ z-l(n2`se`|$bPUN_gd1f>qchJ`G$6rjXG4^;d8bkz)YMM z%e23bH*c}=DBO;R%zn_e+0l(%x})pS90P>-sgWd9N2v^mSk(A0W!#cCaO zFcN|u0qIus2=Ee9(4)oj&E1ppER*-(-z9$oQS3=+i+e$j7MOHHos>Ct6u>x5uZ-w^C~ z&H^QL?s;y}pd2j7*A7ZG--9sJ=o#6cY;RBq?Nrc>(dys*%!*!N@p3wJQgP)BLrB)T z7&$B4cDCYnA8=>`;uPe3%N{bhjIW`8*jjtg(rs+rIr^A8BA;N|xe;7N_^J(EH~T(b z;`_TW7}Y37B>b>la#^2FCqR{k46&Rt#*{NWsv7y1&(VJy^ zd?+(Je*5onFbZB~g$wT&@4)4*k4s9EY|D9nF64+kJquAj>IvfYW5sWcD{E3;LlGIS zMS%n;Ipu$vNu%Yo*e_A6!!0I^^~2Qq)F0}At|N(dKanfy)o9jnr%O+*{e-4|Q5-bQ zyhaNx%kx~$`MgMdFfDGC?Sv1DMYnn}XWxPLnRe#z2gBVy-9>kk-IJ)v?g<3a9gk25 zuQba4uWleX=>~!!C1Yf~Rk)eRtylqBq`tCyA&g)e1v9yj38xM>?S&AK?F0|EBgyNX zbmCyZk<=u`wkwm~PB;a0->GzmtFKnB2f4(tG3vE~Ebe2LV`%2NlkJ|;>0oc!bcy() zO77Sn$SLSJfmELD{$H7HvND1xU{`!gXPO0^MIVLyuUv5S(xl7w(&q+e@qonA&dr! z?UVF(1g7RYnu099DtFG(6w3m3^D}X%!NI-`-8t=PDVrw(1Q**Haner*CIT!D)Zt(P zhf+@ZX@rmaqxBv4HI3N?;HEK%z`;j@pxP9U`tqZ+l;Eeb1fcm2&`NOI<%fq!z|=X};+zchW%Irw zY%$_w2&QEM^U?XFS;DA5BWpq+EQG1V`2mJjWNHe>&;aZq$fE7`MG$GTs0T0s>@56P*GAHci!T0SFE49svNrGjU!4 z05{WBJ^}t{7Pvn^fCY;@z`z9&R+x%D1Cau~tg?UD-14a3x+v z4|t|)aWYB!3>CiC_4yaHj?-I;&9rSMv0i~%w+&m3sNbF#TEidBGd|hiZKC;R{+>Vc zUD%t6=WJM7jgg3MQKV6K;ja~=v9(Og>x^+Wx47`FQ$1R}#NA0(&%$mUd$l{Y?p341 zwb7TweM+eO=Z|-?D{rVA5Zoz4Cn3T0Wu%o)wGz06>cSXHE zxAs6Sd90!9X?TJpUM{;j*rJWUUn|>uVz29e-UPlPA>drP%I^B+O(*@lQQ+`{0f&zS zU(`tO--rQWM1_b;1=-N6fL>WK($40Q!zk|a1&9>10q|UjAs|QMT;dGA#z~}i;&_2B z`xK`XyK#=WhhORRrSAM_P8RZGjsV&h>_In@wpXBZ+yuD zmOW()v6bbjLZNa?lK%@E0-@518)?PR8}K@JX~vhrZAmvJ)Zj^kWfbsvb=H3@3(rWWksOIykaTX(VuGFSC$Tt;%N z3yBHl*~^xL6!hdReB8iZ+~O#_+K&wni|G0oINBwN{%=%^5531jSbwsONjv#khSxJ- zKEMvdOSQV`aStt}4m3%xqL@aSl9jTAtYo=3IWt)?NzqbKN=B+e^8ame<|#Q-PY#=L zT91;JtYoCP`B%FkY0*$o^N&=Nqy^)DKS?AT1<5oO(xZ_I9Y-}KDw29av`0Ke>X&n( zC=!2C2xL|`>8L>wRR9^1k$EE2Ah{i!o^}ZR`Ecdu>wRPcKhqbtWhs1lV9b4bqNXxo z?P#ae0e?YH9vLyzfw^V~jdl>k_jL73NHFSr*c`k| z*vdB64AcDtEUvYE&ll1~FZ)@JOww3sV?24YA@$T=_l#BWU(T4gsrty;bgWJQU0}pt zH1%WQHP{517*Bn#cYEC=iUEr9cqdq`{Z)Q!wP~lVTjYy)u9`1F`w(48lD2W{-5{^u z>~)n`G7GD3By>LkzQcIJL?q-e>ELDDrWjUP6xKGY%5lb_fIgt11|2|g@?5dkgJ4+z zYb<-poqN1=6%LFfd)HsZGZ&{*!O+q{#dv31uB2 zU0jEY`Vi>KAzg?m;5CVMoF!mCvDfvMFkNutm?rVVXbT^wI59e>f9-B~fZjDBa(Dlj3a?N-F?7YS|_dnKFh(8${}t0K`S z^O|25%tab1D=exitidWO69z&_XB(Z^>kpbo5C3{^aLrOy8cR33BZb53fDF)F3Hx20 zA}LGjh6?ra;9l)`=r1NG6bx`_$2&2lU%3di0zQ!2Lgnn+D$orrN+&EJdHz!787_x0 zV`z;w!b?&U2DlI!nq&t^my}lDu?2CYBZA z3SvYHo9=Ev0$y~3)Pp8!n(j;I<17#oBt4RpgH-z}{Y643YYdlDEy?-wdR@7nSdnUw zBEYm#=S^mvK7z-0PiguI{kK1~d;WVH0u6o?u~2sv=u~i9Ivu2CDw(0utPMv{TTo=0 z0|cdd^_>A@xdbEhEWj<39^f*dI0MYT?eb13k3wF^*c87Bz$fh{QEe0Tu)19Q8QCLt?O~pYxA!nadT@D6u zF}BCBXCIq!ePQmS=;xjJj{MJ{qu;T7Fvmd_2AsSPTxl1k@DXB}oTxdu#`wzt+ONCJ zeQ^}2V{$Ug0+)B=(_LSJ>o!e zJyn_!Hk!?1c6-UMu_nbkSsxfAO3%B>Q}_9meYEw7N!i|??_cCi!{aOIO@xe&bjrJU z!Phh(pne#Oe-1PXKHT7Qo8H$IWapC^eT)pTx!J4Td|Da#^lMe|D1gAJ%L9n!8*t!I z0DW2>@=I#FS`p~_H8(=(o%Q_^4ZkF@7M?;MAX;Aqx}fguL3pYOv_w!Y4CR9l0gNjJ zGB1DYlhX0u`h+>(JA}y#pm8lRkX7G`mR8UJFfJbTj%x57mY{afJhy)EWR{ViS zOKyMJzJ>>iix70dNIH_auf}KgOBS(1T?=UN737fJD0FjeRhDzDEfGFEEcHk1EMVrRIuihsd zh)`ZVr+WH>D$50}q82=y5tyzd4uT~i2#c@{_qWmxcswk8P2zkL0T&zgA3Bnm5xCbX zW_u4#ui~&se5n6!IzU7Gd6)gXxCRaAIlVLu9*c0HO7EEm<%!!zkfw9Vb2{0DR8lR= zh1A+=%IqLP;HN!YBw}-AlY6`|7D?=%py33<`1Z~#JLEmI%l{;8-Ep#sBr=Pz2qy5i}$V#7az)>^jFs<4Wy@uP;905(W({aj8Mm z62UKaO>xchPgW|{Q#`d*g#})ADwd)Uu4RQ_O-EyDrz8<8$Xv9(=A~uSWf{~%iaUmGZXqd@2? zN={|%eF=`Bm85sZzYdoasR8v7G%a;!iJii&YZG(`ydeYj^#p|4V4y|p$(4x+wc`(m zk*sAB=m8+nVnN>qTLAQGDf-jKzi1OawV3V#eI|IJUrO$&*V7j3^z}}yejmW$YNLZu zfEsJ#K|VPZl^lypk7@J=d}o2tuFr_H2Yl&*kgkK4Z8Qe>Am&$*ug^-X27D7hDc0$M zh)>ywnnOT8K?hZ;OAJyQD?~IOLB6GYT8jJeht-t|uJUs;rM$sCmYw%`%G1#T_R?%0 z?FAm2eEq@0-9}4dlEcY5QOt|c$`u0bBmAdHP|_gImC#%xk{w9Y0vt_svLGhH_3|Jl z&L_nX6W`}nNHFzAsDzjf)~SVnS%kvv&#?&ommZC<2?1uIN7#h~id$kGg8c)na-D+ZVQ?fB97$lu zt%U@mj?YIhjL}b=8K2{nRHf`Jc7?s zHg33eCj2>3$ON*W=R-sV8eiDhXbRmu9Ny}~iOxq1hlwJy&^wT$037S)B1Qc((WB6# z{KM(Vn9&p{`b>7ziwhoS+KdompVkI6OrDKWuBBgc(2vcw;-2r0S~uf81^zJ@ujKsI zJ0Wet1pFg62KIJ@(gfSgzYUAT*mwZP_ZZ_|MQTh8tW(7#PzV) z9;jP7#fI-p#m_%YM>|x58nB=Uv>c0Y50e_mu-xPwStclLql{elTX>;&8ZeuHK zlbHVnps3d7U9s2`V}abBaz0_4^~oz^2c2fq>e=@2PH1DQu|!)g)A@wmPKSj5LT9X1 zuZR%`W1jEp)3thATjSQI!bm_L7YPzo>@_a?6je!{wt4H_BxAq|avOiU6uXJvx*7BQ z9>7lXK~u?%w{+@GUdUy9Q+#AQOs7|O)=7=yy68q_l(wqtUs>9t#~oE@HhReja~fwyPErX z|25TXGNt!nd3t^Sr?Aj_&wjR*h6ldprDEJ+GhV(2^${1JB1-*97QaQ*WHD5alWxX0O$hTx_6y8&t3OPC)H5tTJS2>W1aW{+yYW&`W$-p!BmOyeK`Yf=ddYDahznzQ>V<$8s~a z1UQF{AX}{RE>7whBQW)Q{d$pRM}c8RE4Mz9X3VJy0p5@mHeOW*xL8FPz#>IkEI{ex zk%w`GMqE~f?zFsOd8e=Q?3el@Pk@F%u}EvBaMj*dK3A?dxj)}SNX`T*KL zH^I_=l;Nq*k*i@3Gsf&TZO;=0YR_xdfmeQ-T^9$yiEe;7H)rC1`_D)w!Xd6 z#Xycvi%0HjZiT~g!I&Mrh1w+jKjd?~83HOo)Ep%fhrKIN&AL+bu8 zSl2ZnHbXaUB|{P&LG)3zs()4b^7f7Xq*FO5ii#krP=l@}v7u{Sdi0K8?I*kS`yKcF z?DaJ7i1bJ*R3WSmr2tNEBXfG0IxacG6SV<}t!@!=?Qdq+37#%=-+Bl2cu;3k+SpD7 zE@}%tk%l}*rIi}cPs>k-?$g$J09)zk6jSpn7(OF343lN{^z>xr*M13 zgp0c>tiy25n(!@ltx)6$Tj&eQ{R9CG^P3Qf7@u29n!i#3F}^cVcKkG$L9BYTCNQPZ z1Idi-uA})g>9I)RrO}<(YMbi`+C6j4F@ph>Ef3Xj`dWfBmjDAN_Nw6WH7Q{T#n-q( z@+k(;eqZ>bdP(l4D9K{;=z!B|{$b<34}(?-}3 z>-yhVr%+EPHgM|%1FK1j_N~1y(T^ONKH4BPPbU(SJmQ(%R9{Tft3>p`vxP_+?M4+` zBg{C60?2rln28a&fWA54TRj_7l8v?P zGKy=5>JrD<758C(W<+bi;}bE1uMmKkg&XVyy-x>c4X@AaS*iHp+Y$-qUvSRJ4Gc7 zwOV^)J+M*x`G4(v5ZaEn;vpKf(mDXP%DdFIO7}Uh6m7BBTaR3;q@@3DYU~nfwcx@I ziZ*C*F6y_bk1pPR#oBa*0A%6;sp7P#xbYc*xXKV}+aR@CxqAHy2{+FS<)z=65mdc8 zb0#hFLDb=hw7WM~+#EsWZF&`W_DOF>rVV6DY5gTvU-yzAU$3&n3Dks8)HVhDx`N%O z$>%rjoCf?5rif}{z+#L@^Sw{}cDB!80yv;NivLG-NP-}kDaERxo=_?zyIR(Q@5u~y zxz*Zl*v1@nG6HkPGk8SXP{pv6Rz#T@!iXe~NMxi0qHHbU7wInrHqr1ZWrK%-EM9yl z*e$vyBtO2403-pVK@tq$$h&HA$L@fiRD>OiA#zzx1VUCgNnISJODN-U~RX50GiV#9DF_bd`kHm+jVy89&RQXT|6P2gKT7DVQ@uMQV0S`5; zgJ>+oN=#)0#D6@@qc0>|`~F_$A8$r}0Tkgg$@{6D6%XgOnz1xle3b;f_-uiL^TUD` z8#nK#tSByDfH@6JeuhKM|A|A(|JhBD^3qMzy?>3F??V^lIFO5dn=$g?ffshiA2;&) z3T{1b0P^z|$N^-4Ef_jBJIHpZdGT(Y^DlEwa-S2)QShN<^2#0qLb3X{?K@ep35$+I zKe*onr~QWsZ96U`U>KmRD-^0s>43~iv?9FZLQiej7)k-3d1s)3KK+$_>G-ty1e}d>VXq8$cTKj8ARrRdXLmXsPpHd zXR%;8MOA>!?~ukof-I*%1bu*`-fYWaI^D+yZBdGr5I-ZbX zqIOKklvwa000lh{2&JJ#uR*9u16Z9@LLCe=g>1m60;6G}8;l0~BNz-Mv;KHyTxiN! z|C-;{7Q-0keZdjT`;j9U_kIU3o=py5Jo#)uJtn`@IXI_dh`ORv@2$7J6UR-U1Wt=e z$U~u9(sLlPS-$Xn9Q!9BljF0J&h9-H~PFO>+kBeYp z_0~+fw|8AIlEX9#fE->mnJ@u}`1hLfCol0pyH_VAKd97m#7cH%7*jg6BI96sm>t1@ zl#_YGtKOe*Ql3snH)@V%t@5f*ZW#9jV)57MsouuPU%Ik5MK#+jfX+9N0XNxIh`!XX zR*KZ>X?CgVPUrFzztgB$Lzb6vu zEapH;-ARo0Ie0|iPX%g=Bez9d>^ z9u4>Bv9tleDv%0~OTARntg~%P*ywZ@ZbXHk^&y~yoQgjSL`+5#6OdMUZst9ZG;me- zQJc_@ErWz802-b`mKW-gDFruREP+EHD>|G;Ldfbt<;(Urt)YJn^`ECn-G>EwXiRSm zgD{^*o7E@ErW=_dZ?T?ktzWLB(PBZJJ6W@fo}$;=q^szw?eg=9jVyggDI7B7V-?O$ zsT#r*F__sJwnGrTBYSOd*+g;2Qhj$-(K}J1#r+T)R|Gv1RZJm`k1YJ^q;5_{`U`IsCr6Wt2z}QWhrmeq><*_cK3)x9`_-CeMBwO>-zh3@ZF$I z@LlkbDkBI@4N7$K=gqbt!_ro>Faac0=6B#^Y~)FPj}mo%WjADs`3Y}f1c$uyH8JFs z;T8Fr{hWoMp$RLvh-L^A;dWPa>IV802!>E@iW^k4RO>^=u2{JA;S?TsCcd}m!93)K z2#n2ZxkLqlP^YSLrjWS`gM|#?37_zr3W+eQ#7<^P1sD?>wB)6L>9I53c%Wd8cw>9# z7Y8-X`8eAAHNJpg^=>tZH}U@vJnU9#UwGL4pJ^>fLaH@%tK@`pmtP;xe~;jCX4MK-YdezI+gJi ztMJd33o4uI2({GvqTXR@Eg>}c%yl>9+{eUXEnll7m0$kHt15w>1Ezf_IwTa5@6h7e zeL4la%W@cgm<^KhCm*$&6K#4Un6H6%n698&r tA>~(kVE$iWY0{T03#7}HWy6|bLMpjh1W+sDd+!IF={o|j83-QWe*p4%y#xRN literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-L5.json.gz b/src/libxr/pin_data/stm32-L5.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..fdb861a9c0ad92aab68d69ce6cc3ce7313d69120 GIT binary patch literal 7101 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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-MP1.json.gz b/src/libxr/pin_data/stm32-MP1.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..10dfc9eca28f514b5c8932dbef3832629dee595d GIT binary patch literal 45483 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 z zX(l|XDB{&uG_;|))-<$7fH*9z>A(Rsnh8Rza?2oTQwW|caKjT99t@6y%_3C9O2p>L z%;ab+OwKof5F#j#LQp`G3G$3?BUW^!<2+U{lUZGfkv6*o=&CMkW_G`Jx%Q&elphhS zO}l=$=`)SDaJ1v>FB*Kp++;?PExAY>lEVS#p)LQqgcGzgh2k_au4e38>nV#&7{6R# z+~}bv0+^P%Fk0%%i;+f+f~;zd#A}euwKtf6u!!CR?Ha&OruR^9B>sXnPe@$gWF>(z z6QS;K#Ti^*T5Dj&J!2$Qh@*{-Bq)!>s-qtXL|W11VVsATehQb;Qv}oUcO^Wic#Pw5 zJq1D6qg0bG*m*e+op)k!*YV(&H-})EAQ<;I)mWOVv|FYvMfPrDvQLl9gv`TXW3>Mo z_88a;nX=v6M-`Nz0!a@^R|1o78!IXNyB49saJPn5SU>8b{xgHdl$5s?e#xTCFc2Gc zt>LR8Y8RK9d`rT*!wFWLoN}uAMCFU71$JYdxPn}eLgJ86L?)3&nVqZH$|6)%Ci$DX zim<3M+q*7&=ea(geF4|F5Lu#c80(a)UIPMfr7gC5O4qPxa9jcb&*S&{Ifek~hF% z8|OX+pmF8l;K4(Hdu*E~6U?r?92I zpXs#jqAbFpl+{K|@pGN3I8%aj#!bbc^}OmjoEy?eaz_2_ zNvM$lgnD10~rn+I?<54T@ynEId^8Mx-@Iq47`8zYcbeRlj4l^;Es$%%~K;F!UXopQ% zjDk-#!9V)SyvX{c84H1G%3=bIHbVIZ!l6O2>wWT+dg}_fPhrJHYqpK~83;#93f^bK zt7&+3$iv-eKOX^v_si1rav2w*Hd8!G&_|{RB9u;*3AY2jw-fS)ExPx zVh0sB55@d*D*HRLA`6$|^oqz35D1GdjxU+(WIhy&Bq7x~bq^LZw|P|OP(%_7>z+bpZXh)rs>vpJ31=4t@&Oj>nx8$1Tu5~A654l9O?IkjXJh%+qP}nww*~b zaniAE+qP{?Y}>}n$?yLj)Tyr8&*!e{-nE~7t$VF9$;q51s6e9AuW%vj(*ta;tW$3^ zs%O`CJgCN|WZ8%WA&*qy!E&I+rs-y4mJ7?&ko>IEmq6J0ow*IT-LY7naFaz=EGvn( zTT7<-Y~m`5+;zoVeJpU^PA3>3=YonQ%nr^G03WLrA~)O!UDaSj?aF8?r&}qgPT<86 zZM{~EYW@tDGZ~6piK$TCJh>0s`rkxJsO@&NxDz>p6I4|S#$$k0Y*h0is%RENbSRU1 z+RJegMZ77+9myv*^5HLI>W;(&TJ8>$X_KI8oGLA%s!^H`>OR^exkJN$>o54eefwlb zug`Jh-cW>416{3kyNfZpM~tt3Pnb|ib1W1Vamik1u6s+JfqvDkD`xxE$*r>g%Mt?A zEwZ=ks8F7mJucMeZKlZH_01AS&2&vV{a#s328*ui`%~V9_zj8JtTfvl05s=l$i8NS zqPLW?EzI57I1pb%drnqcoYbDEa3I4ILF2xuKfpNt?mK;a~5b33d7<@WXW zL~5kk^9gZKCPw+g)y3e9@iS{w$!uKl5wTO_nrc?iY4^PikCu7%7)q%4&8j z*>z7h(Z!{6xvR94*o)#Sn>?c^_j~WL(E~j+w|{P{4k@RsqxPquk^;-r3V({&MKgMN z_p0OcfP{S4rDE8MY(jRBftE?;CtHS%HSv4$~zN+bIVR=$)nEwY+vKl`W z(~?76g%z|HoXJZ2Z@fwHQE>MVH!9QhFCTl^dC>`*-*UDoB769=va1CcJEZ1s4Yw@i z<8rjA6J$7$k-7+Y5h4TGVYwn31MLXuXaz*1r3gyv_?cyz??_|T?dreF^;xEbS0`(b zUDm&hII9soSV@gI$uxzC%}tODG@vpoyuc&bS!wExkb9c@!bZM`0_|JSVp#M@=hrYu zBmUZ&O&@)HM4dlBqS2l-s1(mZ1YzeNcFXn28Tx1NXG6?$w2Ig9Y+JMr*5|wrfjy?7 zo-^6L&8P;#rYb5RY1uq$w1fY1@~A8_$1BVV+Y%G{vy7L$plv<{8A(awJL84ZQzupy zq4#BYZ%?5buYK$+V^(`(Ry+wsh}8q-Re^HMO5>!5P}z+XzhtE9rV*OfB6D4+xS)d7%2wWg$vT%x-8`lGg% zNaGKb3#OAfmoG!MZmrDo$&p@cMj<<~#ou`u)rB>JeUt;gnp}5~)H$Hg5x=@f0sC-lhXTpHIAod!v-;H?xIWY22z*{N42!wt=rn zg8*IcVNAy+;Mukq4e+`Hq#%glwfWm%tZh!1;YvZ9ouNhJg{3U5O;;T=c=VIr7i!t(M zm%juCWVS$f$4zDV(fLPFeE;DahptW{+RIlElobfPxl~0z{ zKq6mHCSFltEST_zKmNl0rG&yoRe}J+>Pa~WwgAK;1tSBkqNKJJZGUl3WwzZr_3w)+ z%Op#@z@m4CbeImAz#aFld^3^c#y6KwY`_oYBA-pHf1Ef^dQ2k`o(V4~ z^)lF>&ZiRvyj^4bUQ>a{ZS*G<_s7VN+0;M#F>g%&Pq zjS7Y(?BE1GZ_pm5{%Q#_CQv5CSk`yKWP1t|@?K~dx8-}vs48k?hs62+sKC7-Di--L z?E{ONLkTg6!VQStg@qrID8*#gLpyghd>cY)}p0Lzi-!ZXn zrZ8!;ZFNNTibEe@kx*pDF2m1sw~I&@u$_<|!w2+Gu$jSm#=q3BhhB!rh)3Grcp@*P zy*ZJN{j^3~-db--XhXQzTrD$lh&tzmpN#w#k_zW6V%hH%|7w99LwgOOjd>gy+esoX zW(fil0-U*iIpdbMer7Ct2vWv@Kn>Vy9}HL3q#HMf5KmxtWKH0>IppXaN*!rH(-0?b z>?;=NLwbf%^w4q=2j7z$62CLtlly_J-`!}$_(eFWj$O-d<9BYHN*?B@UDf*nouBgs z#+Hi}@G0b|W_pHGJ_0o;#K`?)+j~JQna8 zFsJGkDm1kDhc777@i)Y%9dBS$q1m>Tk=u6{AIIP`?ekm40JF>^vm?)JvU=mTt+bvu zEbstHNT--V1=itfE4ry=z`&W3>Kxoj{{VzKKQJqlHv+XKAHZ!`>Wi@SQ^vOklox;~ zK$*%=!6QhNdP9+XMJrE{tQrS)ib@J0-{cQtTjempH`yR!r|U_F>j?zG z)xxr1gvT$U5bM8qa_ZnwKfQm+n$XA#f`DbnJ?08kA6H#1w^l6AeiPba)RvV9Hx@d< zpi*iM;+0D#Zr5Q{wWQgnAX@6mk7r+yN|CD!5u*XgqTWajeY_0hgwxvuFz0Ow{$!-e zmeK7(->I19QqqM@v7CM_incvfX>ZLB&GI4gy7FIL+1_m@uCc>$AD77XqDedxX%uWe zTYRz-kj~s`L`wy#Bh}X(8V~8I3*vri{3Z^@7~aSmS=eFg^p%K49|Gyzrn`-fxj;5m z0Pt$NQ#-zTkoIiGJUMVKc5OF%nx=d5>db&KF@ynX2ZS1Yxs8Nlkv)Q=H^c(ZVn?($Np2CrsG_mlk$bX{Q3UEV?NCILSn}e>*=#T;SMG9*TIGC|pqu~sJM_qupuLLw+O0K=c&W_A#W~n8J33vMVpyItmc-Pj?zYR+qXU^`M~K-8v`0&e5*}+XA*n>66&}CCN3s5Br(3Ip z0Os7S9S|FBuJj^R>2jkD3~h5H(595ZRwna1{kO3R)tEXsN+B17Dks7#CZy+wQ%B_CW84&;Jpm7K)$6wNkVWR=C;DLNj8~e#S&q914An4nF=hVRLd5S%;@@m zDzZP*i~<}(U17FGfFlj^m(UgK<3&EUQ9}Y}Tlat`6VxAO6A|Yb=$uB=mm_)rr3NWl7ktJM}%^+Ke) z-^R=1G^&9l)pJBvp1`W9f1-O9Ea=j}+5M=RBvmJYkE+H_?t9*1 zgYB?PbdX`PbJ0Ld-2$;tlqo;=FZKGACL9J4ku!hN`F6wgVkSh*F!xAPNv4Q&24f)> z5($g8x!?z_(J`rzV)0($0>Qj!d&3gFLC??NI+Ue_8a^O?7olm-fPScQ-od_~`W4-& zIf~8P(fgzPjLD&@epBwx@+NmNV}>2~gLcLYQv~pG`HGN%q02QdOzQKP6xy47;#MZY zDF0PE{HVrBQ+oVRWoZgg;tEv`?F`LqiNowCHbeLF4V54^JQjwD7Qs>sM*@TZ>5Hbj zhw3sFdx}Es-7w`)EtGCEGbC8u0*}t4Mv;ZApf%zMs}hWmjO(C9y@vn@8l$xWn*twS?WzL|s4ltfb)g~m~A zp6-OZB??AwOTjo`xDhdlI3mdb>L+WLISc6$4Ive%cHCs#^crk1TGfkrY&3KHbq{Gs z0~jvdmy{<5kj$7SC51bbBD#?&vF=4dKabK&3B@=J8-d$`H3;Id+roVgDDH=Fc3wb= zL&6Yuq=~qK86f4}0q|)fIe{ZB(WvrT*qLQWv_aiu5M!Y{0*Qg4&Ve#%p!QxRqZU=^ zrSlM6enQGpFQ)z%E$`+g6of($v`1BqrbYn&P+ICZoRUZiAagr&3vbLaPb^2wmr# z0Y&>8G6&?E?h|RNTuT;~=@M7jxhT$~s@L<7fVHqtm2KLeuzH|jc-nj8Ft`#gAjUV6 zgFD7$b)?e^ULry(O%Y}lO=f`zq&HHlO6mMOVcn$W1B+l34AmAtW;lo(*%m!_SZwcC zU%82mSBF-WmJ!gcP^u#qOV&jDE-Cm(Y=3U#P=Eg}e6>1NyzT;S(?&48Ge1{U6m(7R zCpSlSFG;b=IMLVSr)Scq_Ce4J8uDcTCFSWaad~w_+w1+!nu5cF1g+eC z2VkZ(nnioPl9%Qxb!c()X4ko|96Ctd*y)U5SAr}ZpL_o|&jMfg_@Z+4^F4IsrNR{f zYc#90a`n||HZCb;+M(Mpc8w<3s|GfF&3rMDzo#hDsoWiceMzNZ;7T`rZc6yN*F`rU z^7d1>6db+&S%~5sFgiaq%{n}VrRkK>2U^StO0d{1Lb*j`iV8V?0~MjkI^z|g+$}=X z4Nc(W+aswqq}^Z7YVT3fR?M*Ui-U4@+7K&RMpB72UVF(^Y|ZIQr+PD>wmNBOhH&Mg z^^wB*rNf4Z+gmhluGH_M8p?C#=-oA!^Y;4T4wsp~BvzMMJ1O!O-0vJz5|FDZRy#`# zZ0YMXNChh}G(}g((|kmG^l>kaR|@slyg45GGk+7@i(l}xE~hwFbhVY-5R`bPpqL;qJqgx+jfWY2gLlAzV^E{5Ofz%4vk2a3-r zydTsPir)$HA>}(?@vr(<%6G!_KN;B&fs7+NCO?+(IJsX$CiX@cAlc0~f?!+?*r`|n zjad4Oy3?krkSV0fh^L7Yh0C-NfmP1srz%(&GD+Xi^O@3gE@LqFIH2XC@P#A57x5qI zhH*tm@fFc*>A>YK5!I={GEYpUK&3&Jw6*Bzx0-i`UiTOeLMasqN7 zrq;@p9Fl8@l}DmyqOv6W^>Ux(Kb>rfefp-QlLr&WwSExB1b1oycuMwI!T^3^oMcRb z_QNVWdC&|`rr?3>e(^0CH6t6LXIX)qAd&zUT8bgiQ<&^1wZDT1#f5fdKPC=p=dJu* zU6g3NifmXufwcxPRH3>Tfu{gg18USC zTZMl#6!V|>^Rp}dV=a?Hq(;7wHJyQLvB>l*Z>dCQa5w>yGc9)r|FHB2?Z>DA@JU6a zHYQbvf*yNNE?e~vxaf=v>^(a4>$Ib2bG6CAKYT!ud<-BNUN=|HUnuB^=k&Un5=hfr zuu4?xv=*}X|g)j8P zk&&xrPgLlpXD>)H57jMQnbFoW!L36snWmg_!0ufy*`Vr@g2hnxg3DLP*rCxdfi2~i zQdePCdF1j4v+j*vy zHLxQhE*4^c0_p{0FbUb}h9WC=#40$eXWUX%PC|Sc|7?dmB_SS~Q%&_X4E#jf%>QdQ zUbDVHWHp9ulD2Kd%w%;7#^kuqrHi2!zU)HO%|si4WCE>&#k^Cs@=8PNne)AFFjBp9 zunV*Bjh+qH=3ftUDPBRDT{L|jY1C*kB^UMgci>mOuz)b1l(!bA<<ax!8Vs$(#wqpdNS3k?dpN{vW7uy7eLX>o8V4 zhSa|k9(2WzZg#8w;%=9)=tpF+Lu>nu)jDaAd0L11vJpPG-2?5(IxL5S8dZ}DjIy=Q zFnzL*FnK~80nXqfbx5Q}*hpE>N#KGK>rRzxs4p+WKYb#*UolQFNmX2mpho96-@sNV z=B&i=mY@_X+P_19)<=eLJR(Z=u^k?-Er`{WOH#U?{`?Cp&yanvNp@P?VIf`H_V9Jtx(0nIYwlaYBIU;JK4>*mbWR; zJUP_1*2|v;LL!^sQ|PU%V~WN=4O561h;~L+EAoJZ^a|AGxFwP7ZA^0f#;ggaSW@ zq-p)^7QuGJ5f23LMN1~Y?{wlcJBS5Vvp>@XpV*_YMOwy~3ipx>5io4uc$?xkBh2~B za5yFiL!wg~PKB544cACH>wy>p^OF1m6@;)ITq^DFuFIa)wVd-Zxm*uerD*K=3zsCP zX)dd8ykXI#qcJ|CHBZcM7dZ0x^ecfn@R^dDAorH?{AIvt7ODi`*DeKta!T%iG};>nTrhnu~%4(*L~3zYo#hBx9>V zq>aQ-PhiLck(JYN6OOv?S3C)N`#vQ)D4%nT+o} zH|Zxy8!5rbcOTNkMRy{lpyoNP-DLZUxX3*g4Wdubi((LnoE6k3q?BA&M!ex79@Ftp zwL^gv6Eyz@D7C?{l_O>VcTg+6E-f`UULok+#lV+>@0y(-`FTD$$9QapysP=KgBu>7 zX?FajF+Xy=&PnyDMcZ`U&Nm`;X>WLDHA4r@@xALh(SAS8Yhrs3UjM3nJbl;qIAr_6 z3-(6dJ^9!K){1=Q4th5k{#R2HVt=w4{nn~cg$7P7P$#5cRJliuwn}QPu~+tYZKg@tcHQo3Zl)Ll~{ObpY)p0hKyELTgqACR1+1!k4Fa*9<`MT{5kg2K@m zh5WBgqq~jUfc0Qg2kNJP&>9s?8hWr%_n@u(h@LWDjdB5P)Y&~5&hKYaFqv+jDcj|%)2rb zvk$OKKLIe9wn8y$ov@)IxP`U=H?esIdd2>;kAkyWbxEm@cmUoCQ2hdN%oJqh5RJyF z7s*jw$U$VbTcMFblC@sV0~dRMCL>UM>Q>{();99zi`J&tX)#=bcW4f`c!OzGuC=~f z`-X;Vn^!X)mwLzM6jkdk=Qa*b;{8DWzeex?z zCMVPLuk~jNY%QiuYUbUMTD5d!P70mJ-9Zwz)=u?@F6rvEbH){SACSCY_TMPwQaQ-6 zVGkXP9s81^2)VF~oC#drA}cXLgcYSGZ0g=2bQBQ{y6qPgOc@h$97!Fx9;=w1%#p0K zg1EJr`V&^6jk=R|WGk@H;T2cDA|`!>du+$Bg9EhaC1QY`mHxi7h)S5_Hk^D1@&3>) zZ>7)74$8n0J8Ioe&r|po-dZ(06neAnMWk#mt@{5zRi%9QaE!{NK}wMDMnfnygF-x3 z%&FMTJ60l@<;?2=+s9Y61|SQU)$S?+|1Dsp@#MgPJ|7tkv~!u) z=nw7r0q+lX76_|6abN@K zqXO2NCkW*Ox6y#J@rY%bsYRhW4V-fRxlHa0J>`=*DaqiYNhB+VNQq*{?5QHArxxDY zSMF@uqu}yeWp%0%RCDi5A@Oh0!ITei#Knt9wjbE{qdUsNh`e|+;g0aimIp5)q0tq^ zvOLV04h<`L5Wg)u^(sM;yrDg`5g;V4m!LZLHr63O*}ogMkN;!XoAU?}+)N=3Qzv|f zNs!u7{%ePMXURL6cik*FWDo_tAb)tD@^+}CybvJwdoTxLAO{J2oqzxO1x(b@P$jzv z+gT_*I%G3||M>WYn6a&_dn*bhr1bQq7}be67Y;+rnG*p#28BfLx?tF_fiU18ACf#U zSmh$04$O6;qKH7+TUeTbpDUDt*v((pk2Jbz-pnx6`W&*sh%7XWX<1%cnC^$Mf>8>b z@cp6@|3AOF$K^sj8waIXkkom2Oh*Cv7_&UWJ|bntARP#jWBjSW#NbXZO5Fb?0?s@k z905L6IzgMD6hmHptQ`AAhA$AQY8Z>Zue)LtPaXp9epN8#L3QW?jI%4BA;6=u@v--;ZI8_Eop zs+Z3i>Z_lAEWu!BwC4b#o+(9?G0k``G}DXs1)G1DJnGlk%|%Mt+9rf$yHfH=vU<@wQ7~jDe!=e=*puor zuHq8;)riliul)q%^|tZV-{O+^ug=7Tv9Fz=z5S5SN{)Wx-1jvsp zBx*+{BJBZ{pmbR-RJ>mXvOCC%y7k4ei>)p#60I9>u}3A*8at#}U1^(|ItFxP2-|{2 z&%kA38tGf~0sUPy!q67T7Uv))t&V$3k$MLx0ny2~6T)9^LV6Okx&*1>r|79DjOZqGP_PO?LDc*Ik3nJit4EX|6>@}Y98Vrj&!zk9PH_Veto6T=qU6M*Wn|k zlq42GSux4?{ua~T2x&=J8;LCBK%e@nF)FU0vBeg6ULGjl`So~Z;ceNdHb>zqqB&V9 z>)q9cd%o>Z?AevDb6whlJJh|oU_%k$%p8&lFHwIyglrc_l-nTKxZdYwfZ@MB+;j7RlmW39mvP(eGyC=z7l{yy#}6vrLXI}UoN{gIt5yUmU5sy@fyfe%1t)B!`j zwl}8R^gX4Y80)p-sF*Pg)3T^mIt;|KlfK5tFC1(g4KYOetg*TUh6Ghp5e7_qbs`Vy zm(T~DCD-L-#4McY|8U3X2X`{^qE-@Op(hHy?h-eSTII99&)V#uJ}ji8MRc_q4fNb~ z{jjGo^iyB=D$|zPI!K(vg<;g$YQ~J#)zp~K!_*q;O^U2&RaT;?`)MUstLg{RXjps< zWOn#8g#VUAt`Nv4=(ld~IV-)ZwPS&!T2>SeS{;9;(dgji8ILc81D+VY?a&Iz3A1Rr zk4DP#gV51KY8Q#k_SJtAZhOEi=ODMeie0d`T%~Y%H8=m2c@#br9+c_EP=MBw9zzpM zuqfdZ7sE?Q;aE5F4d2jE*1nD0u-8m3s7g-65(%pTWc!F0u~h;w6tPIbozzwE zdQ#48DJ#D0SU|zBW;0oi!=0_29R%ZKT;O`qh97Y5|%2ECpc2E@9#S1RJ1?p z5X^6dH4e1|YdIF@fO7 zY7Hyt`rM!nxyljNqk5b|=~A5_l+fWS8Z<(~Wn{hSt9aV91q%ps*;+SS%aDe zP+27Pd3}m04AZ0~ZYCIaXPL1$6r#YzMS3rzB?KJe%z}XI_3ym9u)u#mCB58?lk6?G z%qi+|$xzz~Q0%;>O8}Gc3S?t@v29j?DQ78yKCP3!hY)%@Kp5164)DPhvP|ct9Q}%n z>Z3*^%m`nk;o0M>QytID4PYP1jhK$UZG_O~RMd;8&V-y*Ovo-OVwAC;hT@X9j9hZ# zuo&vwwlw8H%3!}t<2w+sJxrivU)E82nc84ji1FG(k!Dts1# z4=+L~Xw>D5gTHK}rgTO`9ft(Ud#~XOulWS=u!ikYlo&Aj3jZZR-Ixi9*5$B=`7rk> z0o=0#a5>ifOXk(VsZ@3^8pQc1b2M&(fh2``z~EGX1lpvHKFE|4-QAaYZL z=0<`gr{!gLRVq(-wlsVHpA0QXjxRh4Z?*p?L#d1CE*LyOC;!P%|IGhnNUZPw$dDM& z$d3#y{>YHD0LD~w|JHvpgre{xLq?1y(!#!>nKs|dCmBkj`HcN&s5WX3!XdH+qu^y? zdNAC5m_~a4uM8Q<{@*gR_#;Dn+CMV%#qd8FiigK^Ik}?5I)WS^`kxF11^!Ql27ewW z$dYrL7&caS1^KYVV?ag3`cT}z0PX^Sl$*4ni6j$ogy8>2hBj~}69113y%B9#w;8D0 zDvyMlV5CI9ArWtrN}9#jkR;i{3QLXp36K6vMo@NCMpvAgMEc_^W|Lk%ndh>--J=9J zx7^E#lqvaBR%8NQp>_{84X=E@?d1!`s7y`qtTuTqGGm~~kn;C8@jDq4t8xX4)YH-O zD{V@GNgyX<5&tubX;G$Ir-Db`uPok3O;NO-KW3j?RI9I2PA}NL8Rc%K6bh>ThNr*2 zNzJ3HDUCBPKRL(i(+Dy!pQgLDF5$*@Y+2E5{{ZKU&~A&9RQ=0W&Brey1hGQ5wFb8E zd!%uAT5$OD>ab;cqV5(M_I?}8E}ohWtn4$Wlmc3>t-L@{rmWJVg;^);j(qtb?OZGp zK`ka!{9{5i{QPEm)#`*pLsT{=C_#Yaxp%bw&<{MLW1KD@S+gx z*sngt`DZ9=s?JzgZ(V^cFyJnd7IXAYGY_*E|Ks!X9lx(5SJ&s=fa?xCr{` z&%02V;NKk`#n+WrTo~8z`*yLr;rXs^QBpG6l1%_lv2M`=LFkHi##ALQd$h0@-~@Zz zWb`E+8%-r}i#pGms@gLCMf}H*To>4j)ecbFAYNAZ@)=5} zUUC`jZ>aJSBL#{LaS_J2Yx2=VMH3@eOS}p!cMDS)2Gy}wYrfjhnu>i$T3;@WKQlDF zMS-}^cLe=ZKMt&%Tq8PSwo6JFhU-UmmA8?6RLMaUa0QeGGu31A+hswPZm0tT`OrAc zMMrf|n>&8z|FB4P?(9D-I%4fa*pa7UF=2n!SzWfRVc)VjqWlBnaE9~l;#l5hE84TA z0}97GXYn%?ZjQ89N`EZ1^MT&|wRL&B$gFv-^?#-%sec>W>BxH#_&+T2{lTK^jjFa0 zL#gu6=pPue`}{Am)7t>4kbU#>mHx}>{6uyNAa8_v8wtB-uXf)Jqf7k1AP?OsxN)a1 z@f5b?ZuTo$h&PP@vbf}MVeM0_mKG?tYFv$jdP2wJyUTl3)ygGb>qdEw?{9z_KqW}`s$KQ2;ISst6^mHN{0cMX>8x{^(b?*Lg z?aE2cScDQCD?u)H-W2ebTa1236CTUN1=%XgmiMXO98`oLjyfn4@#en>m#s5GnSiFU zkL2khwkBN!=#iT6a-4e92u}VOrO~-Kv>kMgPWa1>?hDfNp)j5*btF&RZ^>Sp9PFbu z#@`&Hyy1vlIY8^dlX$e5;2VAb?n>e^-`GP$dSpbfu(|y{m1;*XF57WBo5PgsHN@Ha zZMdI4^nCHxnLm+6IRb=8w8UPP;Y{HhqVtl*0RgHpL$M09YO&-L4y03}c#Y^=dc}Z= z-0)#i&Hg>o#UyphJ4*odYD#V;>l^DZ{aLY=&n86wS>+RU0QVnOCUcq%#tG~Ba<=#? zZ=jl=j-QQRTkD5!EldO|VXez)L_IDTdmb{7fnR?MAemc8-Kb2BHaC`4-I%nY@P%|6 z=$0C;x-x*-%WB;Pz@J(D>nchyFl*O!-CNzs-Spy#c7DRbbqt8k;bADs9rJ^Vs2A4QR1$muU!}FJstHww1<-JULQ}2O=i8KFyU@<`Ba7OP;LK7; z$$zSqxY{&@Up2xQbjnH=zdW0XokY+L*0>`@KAY6=!csAzavqsuh0J5;a zgEaH!7i%6**M)9qTK%7-GtNM7;m$2e0?eJcCG4^3#>59hY>kVj$tw0KYbqQ2XabA& z6X1Gf_~_ie)17)Q;ry&OEN3Kn{8CU+HurR{?upVvwGAyhMwtz?BxF)|(Oyq!bF$@8 z_&PgaTJ8!`mey`4kZLB&*2TB^T;F|8Aju$fDLC+TW`x6Pm#VMK)!nEvA zhzhT7HaF3nQIm!YI7IB4>52i#ZleSq{E*W24=E)ap)G1i7fRGU|BzC~|4mATv77U) zzOZmuCLwYmks0NQ6vH=KYQszTKW%F}WJ`fpl}UqnP2!!?;v%=Vqz64$I5|NwSE3JC z(_tHQm06uMbSbCkU9JFF9-0b+pTuP>o&^B+GC6m-NkLwk^eyWBV&&vJ4;fTy6zqO{ zbj=%{rmup#AT3SPbXBt!xOfe-KNrODN*M*Xh)T4ceQ~FiH%namWuJ5?cuxXjH75q- zR^Ega(71l4N*h>iH$mFL4i5~XM~4H)$OB%yS^{BaZvtq}w-o@Ny2V!0sm>cv;3os^ z%dvT@mqkAR9JCDqw9gy)t1M!R#dIyZ7P$IH1kXTeL{BGaL}@y%9Z?*}rO$YNXvo+2 zB(4V0`>$VaDtM+GhA@hruSyccv+nsO=fSZh$k(yKjRSGR>3AS7FZlpQXDf9A5@kNY zkm-+s^k+2YnbGS15<&gZ?9pN6Z4A&w^=ykKmIm$e8JL_e5_V1C9{obXG1<}S;Y#OQ zVUN~D=DMpCu=`qBM0PFI20@@J)93Rw)Q2Z%oCWPo1qZVdC5RNuXZGcG!b2*H8k`$E z^5HCYZ_%T#X7vhG0KWOzrxjjjR%8Ut>yQx_mBE!^4;*%7d{!Cl& z6X6+RM%%!PL8nHNHL4!}&(4_MequsdemG%sT;yO|KS%!53-bWQNwHZb)ODdM=3oiX zpHXPdDE(5?%g`HR*2J?nO=P0Qr)CRzCxWv8ffQsE0YzZ!2~_mDoaFtOkRWdp{`tJ5 z*nOwU`3m+;PZkITwLNzb`gFVopZ{_~4Bsm=O%@Ie|K)@ZZQGOxUmQ=?`kFYRxAXys zW!|#}pkQvZk|83wQI??ic`3y5%3#3J6)`2Cc`bzMw$B;rpRJXlt=%(Qk3pvo++F}n z>NZqTgnPQ+lnE<+M z=SM?4tW#)~pd|RXO(5v@Nd)PVv5YckXD@@x9kpjnpXoT4$yU4NR_9jAlqxH`lxk6% zo5sA{0=YlD#9WCN&eN^A0Q1|cN-We@hm;{YV*JgZ78J%WYx?*nP`pP_%yo-suXI@1 ziIix)i3#*WTokiE?O`C=?6m`Pj|PGc{V&}g&w2J`Q?HwKR0dCe-=@+8gOG(%b=R~# zZlK&(e^kg1E1hS;Ejymurum4fa{?|B-cxGNmr#!CGP<9X!2bN&0pr>M+06av(uB~P z5-^AQ&0PW=MA1UGl;5ZWhwm!jtVr;)IZR%y^H|8%hOn6pcKT?ZugeIUNDugB1@nSm z2D++1uG^0_@)O>2NNy$6x}&*8-p#IQPy%y~TFJrXdG^ShY7qfLtu!fn5@s%QRm&D+ z@j77M3{0HHiRT&|m)ftaZbD{9^%YcKf6fzzdCzg5Y36zpV;l5!*i`S4QFYUH1tWW! z2O~TGeBf@{wXXEZ7&K_{F;&19S%xdDBN3XAJ~nN19}1gOaJc#^MAAd z9&f)Cv%Eb166Kai3#5C!Fjr3NZ!-sTElu@eqEu*0WGm_FQ##o|z)A!d6WQ75HSmpu z>$Kx28A?-q)`PK1f{_7eljO1H`l}};DO{!W!^_>wN?MA=yqeGFf`j;OEg7YRvgS%o z?AYidUM79@BjUcVx9r?c|FTYd1Id<5OI_dwg4Zik4_*OrM3PR;OAt@3Bdu?X3okXm zB}e4*;xwZGyM<8Y6NWOLhtu{D4wKoVT(u&KWW4!N)iB>_k5(dtSyK=1*d_>~K~Q;w zsS3ati;@He9hFX4$sbeh1;)N#14A|?>H9y>7&5HOG&H>)efl9E*&R(5? zOTyJ`d!i#-WV82*w}4R+7y|2rr@v4>aE{LEzvftQNp^N#P+nL|BZ;1^6^bI@%_0Km zM93DkRQ5JrxfJU}u)c||l>VJk*R+>OiTz~ycsMuX!RU^Y4aDyCh+_|m`ON1aZ5D`% zp|rYXk99$xDyaeLkJdy0+3UGOVm0gAf1oh_9|GvX%YTa%J>Ye4QK|Bx;~Vp*7@W{B zDhnO4w94Ij0}Ts0|AzezjeN&-L06D7I2NUfyN16x^_sEHZ46{ZPB#tE!U>RHo-_E+ z4ly~cln(A&)b3&wl|FZ+fFCu$!F~T}e$mN?SyD1^EjZZx>)*S|DQ6a#V~PT7f?XT$ z2{qgU8M?{^ww9hZAKYh(%g+pW0?kQhMJU7g_}aQch&Od@<+)w1|9A`ynBaH z_urBnF0^~ReWbBPGE}{R!~q5QV8J_sLVWK+{aVZ+ia%AX!=^(eEH{Xt|D;|edz2>s zky*74?6y-F%nElBLYfxuU3(rZT@8~+9e&7rl$<73Uk4`L4qvqm%3o{!GeDtt>G<@u zHIi~5Y^Y%XB-Y>yi2PNleNga4su8yHEmP)gcBs1*x2HBKrWmUJK)SpToo0Sh6UxWZ zts-C&P^Wi7O`ogaHx z?`l9yr0MXY@~X-5L|r8Ryr>ddtD@K0aR%%Jtq=;atlnCfz*WUVyu(b7tGRWFVtRON zJy!s)*92*-HBSHWKx+QtZtZqz6pQIHyj8@ee%q+k&gOZVMo&Jmf>@uL zJJf5{H!NHs=n#cDBSHp_YFSCwGd464p(G-!x^C~}1Z&pq+N@&z+1R$F+50xwrGo$3 zz2ckPWeWSI6DykBOK&wH06h|YX!p)j09_3T;acGjJn4y&#u;7bC*&#X@p6*WwzDIg zl4*S}JJhTJW?PlWeyZuSh+j}o8qGb)pbS1regMCdD+g}na#2!05w7PgK$o4^M;Vh% zurxPm__VV)ExO8_%loE1z3aYoVwlN6(>;5wo&WcH&Bu6cPUXJ^BJu1&`p8AWRF``1 zJfv)WDIj@)(9N62{lNh8srpJSDuj;L@-esz%i}H-9V4vGP}!bD})Q-@D7II`bozdk@!4 zgiSSz5x*a^e7{e3HYTS6W?sZnDWZBr6%$x7g^}2eU>}fl@3tS`U?AAt=&kXSHj@30xF3Mr}C46Cp7wqhX{aYN(l$khG0h`TWt*dS=F251z;bqfW3G+V8yU) zs_X`H*6n$FgVNMVQhR2v0FyfbGyJgF^kGa8ofSs}zd?IvQk&IyQY%>hA!Jqspa2;- zZ9_EIw~>pleDc}H2fh8o6Rr31qj|=Q>3o2^rQ_q%!lAs!|N6rYRikJ_7^gaVlPx%W zVwd}@%BOA^KmicAQY;0ZQr}^m>*v&2ojY8tFy@v zvZTcbQH2ia2!QX*k6DBm$SO^F`#3jP>+T>uy@QM<_LEgKaqV6nblhLpe%B5=KCl-v%BEwUWN=L->Z4 zfix5b-lol(fF!cpY&4UQDgW6BL=n<;?csMkgjp_I9Sp0CTBj4OCtR4_Y^^wmx{(|u z^0YIEir~!H$8<9ChxfnUf`!^EBa0XQ^hA1yof^ejJv-HL!}Mp3ewk-GM*x`Krje-U#eRcWhGK-w%7jz~NC~sB|Hiw=oAx4}v-5pax)GCp>KG zma+(2dsCI(JUa2hu%szLmJny_O5n4@fs75JwX+EY`f!H)4rsf*B7?c#8rpFgjvm}` z31j^!u5l?(v5$$i704MyK=@PJ9aa|Hoa<_WRmv|Mab=+v7nSnmf<~d=oz$4nWNiI2 zg`PV@g1Ljs^1$Op9gBR~Aqw20AG1B?oMB;d(IG>dxyqDoKiOgH*w204 zd|Ln>^e8Ck~vLrupPlv8_ZtRwjtl(A#n))bkRYAgbJE?S_9V=~;9^|dn@cx(l^ zL$2q^3JNeqo_{VaHqvPV0;7{+FG9E&iZQP976r$P@&3mh^vD7X30v52L5!vqNdz_1 zdd16P^{3yAZ83tu+4!IR`35%pKgQq?LVhbw-z0yuz3ZNQf@$5s8L5z3An=XwL$_yK z)weY^SZrv<3*$E_KW5iYlLtnV0d%l%DkxRaXc56IILM>|N#9Hw36RbQAP$JVuJ~@~ zJ;qC7!I-JmT4yLJ0!xy@)O6(rVGq-1D6+kM-i^m)%HMFm0i0 zewWe|CWd+CWU&pXv!@N^oTBTRN9ipMPd3w7Cfn^IQQ8QxF?nNqK($4`!gLlgeR=)= z#o9du>F$Q_f^OTkZQHhO+qP}nz1p^IyI0$`y}GA=`@d_~)YQ}*%}G)@_zsdveU;?B zpX(0fWL4%LXsB)q>WBxq2&VL-&e!|(?espYf#?jWn%OiV!968fkt$^_`%@869ylSm z`G5~&G}H~Ul}%7H%zi5AAORiH0mxA5Y2Jl4yX#`0lRs9Q$#OoZ5kk?l9U;vp5qRa( zgZjy(p=SRcVipC{OKi-hFTKG8!k_8*K*rn_^^6a*^hUd3>I=bLjDbp$A53p^s1JJw z)~z17{LQ)KuDao&bjlLRGZQ=dA#~o{vE|O~E5!(i_SP(*nlqQqTX1A<`%*T#2*Q_r z(v3}UZ2&;2cQ}b)wkEiL!sf)Ijg%a_p01HMM#d7G2V$99EEyGuSPeHOx(`H8V1VAs zK+t;u9;LYsq68Y*`&1#PJG9t0iW zw+&5TU$$!>GKA9Joq4lg)Nq5X(jBdry2;oHUv8y4%J)C#eBRrD; zygnbO3|7?xd7=y><`gA1c3=@l9JW%A#A*{nT+qwx4PeLgzXWOR#9ju@_O_}^y#r3& zmJ&vZH(?7>W{bHp&XG!9ZL#=v>MavmqlvCF(cvR?w}lC>pc;rp8q%-#5cZ9bf6lBw zQyGKTdk1IYWs9}fi12&O4`JV}w@iv7$Z^lcB;^36bKzD}_(E++UlLix$6uu(MsE;p zE`?(`uj$XZY3qLF(EHPG?sU!LJ$qS0_s4-mDq1lMS@hJ07B`HWXM_=J9(a8|BuShkFFOJDEqRvAxeC7YM63wxN#Jn3;2Ug0fA zz-`7Y;>}=hI)C^q-?7ynjF)dQlob*xD!QzvQ;GQ+&bBBH;Oqc=xWW&k3zW(pazGXR zNv5!`SniHd_8#6o_A!|Hd6@lh=5!#~U;+wo>jgm>QEa`!t@T&gxb=7{#x%%tC^IoY zI126}n!6LmpR$x}Un)u)@ZRcRXQAgNAd1xf*0VwW%$SA~U*b^#gfS_S%mrNn5(8%z zs5R1AfltQQx-bd79fS7ea2aOZDHWWM+1~Dz8xq+T?BiboQy1Sd(_8txH(RO9C#~WxMq%tLW!yH?l`YYroE;#el?GlY zw+Md8ikLu|VGZE!?tMx|cBgjjIUYkchL4JJ?9XY_&3IHY0}1g z^FCJb&@Yc;TkF}NNmp^RB6fCM;DL#!PCHR`0Nz6!bI><_0o(uBezYj8@eNldNQr}8 z>>JN=IPtJZu2dUGWKFU=46;F>E*At`5oX?dDhSLG5L)oPt;oj*L6+H5Zwhs2eTXv9 z%NW?@3~R?iH`?MrxX##B;Ko3LwxB_FU6zq}*`H-a>4D2NY7%obkqmFjv9?^fpCfNP zPwvQXx?-6MRrZuEEr=tUq{CBVQNFsUv$8UMsS{eO5Y@&Y>a8kjNRV<0{gv+%KX-8E z#&$=J+1K|hvcv^AqRjDkWh%bh|9IS+jc^KfzGkB^s`@{4(KhwM@T=>)I|*Nhu9Mpb z^qAfWXR^a>v1=SNVj_58727`>c%p_zL4{>#s&zME1gAt9<=pLy5_sJ@i7 zlLwDai7F&URB?-HxXyE(D3#_dcJlimCwz)OFn-_pp({=hnF|8c!HnNZsq$xE-7S7A z6SIwrtfqmC`*6WmeB>rl`@I@#A43HeL@6V55Y_fG!8GW7 zkL<8JHrdyINFPa$_H@kSS_`AwFZ@T088iDs8>>b$y@_z)Z<|mnIIooAzNuQK{KUJ`X}yrR@U&@F1EQ$)!P-m zSYKCHl&&R>hCGm?zR1ij(AbJhZxZ1$UqaWs!q`WvSmb+k^!2gK;JXKV+K_KN3;E$5 z$TLQB3YRVicz@19oJTwuuP%QG$EyvFU5CYgMqXXq@QHpKYuq48=q$K`qwUc87OQ0{ zBoL>nVoG-YwuZb%dWJ$#oIH63RY8~L`(srWAF3E_R672aIB|=k<-dy)_1h&j?phVt z(>-y=ASbs-Kbdl6KzHRmVln`Dg@(vEowyyY`Y|pX0=X6rAwsMQJjmkfEG=GoLX2kY ziV>675w$ZI$rA`FfsO+bP?v*llD)#3B)k+)q1Q=1;f>>7YgN(R;HA9~gBzy(n7G3( zilf3J`XVB2s(_!)2#V+%^t^}#W`$ocL;qxq!U6mWC3fJhospREI}~KAUk2 zOHL5_G}n$)>X?P7AaK-slFlNykdwd}Fyi-FQ zN~@kaP~z3^6`a*Pb9j2#NciY(yj7Lb(f)$I^k~-qgOiWpRBAy;<12`@WQ~U$Blk|y zhal`#0-Uxk-d&Mcu@d-8DCi*F6K$r)Pb6#(p@buo;T7CMolBMx2GFhq2rJl>y*`Qp zRotJZHrK!$A#@H?Q}eXUT-~a44~uC+tdn-+p4{Ew>{K1i5?~%Q!HKrjSmPp><&B+V z2UmX}rvfuFRP$F&R2%Z69417x&P8e?c2H-nbsAHJLcS?rge1N=A;|7yv5#0(Lfj6N zxBx_xPFPD!6&-LUVa=@6D7!K`z)T{CMcGj)Rb=d-X7OHOSd|SixnYv{s7{rM%W27X z+C(EWo8AG}1%02R6OoxZr{1`EK3Zo&fqeOG)A4Nk_3xZ5$&PkRy#qDoT*_-VVkT}o zP#FL>x2^ekH}RxoztG*Z9LQ0G3GNyb$kaw^l%(18rXdiwb-a>j}X)R)c$h)k^Q?tbW`fk{9sSYUwTY4^4DN!}S)(+a}% zZZ7)^7_MG9j5ZV2p!J}wIp5}m&kAC;oy=W^1sW5@R-al$#E7hPPhYQCEJ?%Wi(y$n zC3!$bx;tatBQhEAt72-Lb`Hhl8L%%IuM_QHCufD;uTdb!vnH@6`b&<`+7x*MzVQ87!fy6ym`5w9R6rZkG zv_5UQU)eA&J+sAR1hvrwR#v!SFEuMR$yRBNY0ZCFJ4c_g{KaT(VrxmgX8KTSY-?Ux zU$PqUDx$fnb2PC{US|dE(kB%?VjHY2r7H_t8eXjYYI4H2=s6vdjp%twMn@fE@0_5r zf}6kwePJ|V3ze-66cVtkU}2z?f@)-y(3>b-xiDQiX7vJz)lU_jp{#?1l)?8#Sr>Ly z!`IwdON#Wt|7RDj@?h$c*uh1H#pp|sr{AaS?>)}1d=^-LCtO3*1u zZ0KuGLNU%L_D7LReO-xgl#a&ZH;Fi<8Yg&f8xm_u18OzW5xC`LYpoY zYMN!bFD!{|dNR$jZvW{uME!zb3za{P3wcs!Mm%CT<3S~qlK{-4d12gja**H6M*SC)iVhC^Oxh8@PVt-$SIX`Z`% z0V2~zrhk%{x+Jj3=^C4Yz=Zp*~}6pN#>9ANA%XyOeP6W=|(lnnvs z+Xj&Zh}a+nnQr_6`KJ=p*Eb`)K+sl!|KYgL*Pb0x%z|=oxx{nrVYqRm2s)D#Omj^% zym*3PpMGM{3h5R#L3zJQ;r$zYf0Bpv@x$BRJshWU8Z#22TtRbY<4vhSP4ot9SS((g zj8^@T9rQH<*~3XCxR$1iUDhd#qmr-pBZ&(#YXoZcK_r@L@`Rv`S2$ZTE=VKQKlYNN*WxI9f4rJq(<-TAz3n@mOBsaT*`5zyVhBQd+!O0=kxi z5_mka8B9h(!jXr5`SW#fG#N-v8qA$bb}jkIqgDKcvMSFXx?WGd_sVgw9Ic9`=;QZj*kAL5bb{9=K5-|BEjp>fsWp%?nVHpQKrb=l$LN3f;Ya7YZ2le-ee zE#)<#2?|g=|93X(@Iloj(fM-lmdGPVFds8in%i1(-`k+&*B^{3Se!K|VEu3X&^k(C z>vnWmFDyuyZekbs)=Lt9X20EppLN6Ae2dQ0CZjPrX;r*6nL%KD9OloH9VF3u%Ah&! zwC-tdR)iq~{0^_q2_m8bz11bZg9Gq)3^Tjqtxm;9|7ztt6H*>k$kglr;3d54dpO8{pcU9gSa{K-X$8|K1NR#t9V-JFwR(CGqq(y8vDU$wDfrDxeRJ7RXIfjl32LgD^b5T{3iiU$FzHV;NNkn!S2@sK8{pzxz zD8RfEprdeLbyoX8-H+ZaSe)*A&-kkKgUDN*H5T*WW7fax^&@pmyeFth!5=}FL-JO} zpiC%lcbiz;XPFn>=z9U9zwgclB6TG`74x0l-j?RCi_73IY|M;woQ}1_j)dwh*YuDp za0w4>pMbesTmmYBypY8~K+5L4umFEoA9qK9x?1Izbt&qrT=IlHGycBNqr~z?*wDZ* zFfd!_2Y6-*1_ND9$mA1Z!yR-C(z;=Md4hf?67$*Nk!0u>Zm|^gI2fZ~`a*nPrG3pv zn6PKAGoV#V=SL66yOAUEwDaCyc(`H8j_$KRBKiMlm-7MgA zn=z@|R>cG|b;X%XGu%5ZlU`jz+bcgf(KaH5j55_UdBZ&LlC#%+g|O zhsU7x^e)dn{qVZCVxN0{UR<$@yZl{X-D$ow&bZ{(V)euzyDVCnYgNBp*Cj@M|J;aFj8XsY=uD$_sN4_2JLd7hS zl-!YOu1=|zP#tLr5|#dZVAKnBhTX@KTbpVN(t96&(+O2M-^ zmcl)DZjM94&QVaKF3@J%dNYE!M#5%t;HUVsus6w@izjWEM+> zS_Pn)xVIZ+KG-*Nh@PKLQ^(j*6jg;&xbr3S-h7_vGC3qV%&&Xb5K4f~<9BdT^gQWk z7#T1$w&nw=@uKUpxxOBMGZhvPo;K{!9GW!5aAbQ=0TQa4#*6Vl%F0!XV6kwohdO5i z;*|%bT0}5K6|ml9u!Q<@HKOu}s&%bua3_sQ)C+RtfJZ%NP%$_vZXA?uJLiehEQ;DD zCP=JRslZD0F`yJ$bNEQ%`Qb1+kTf>xul11Fupq5B9N?)Dh=5kXTfIoAbFR8G#vBJD zU{L^&*WL#<-h-5zAcj=U0_EoNR7aAvj}V&bqH+)Hr#9&<5>l>d`G^btU^vnw+2Msc zenvd<7s}=?k;EIchS;e&PyI!)A63z?+(JbXwLeh>jC1gd)ipX?iAdo&_oa+st95w6 zknvxHfQ5Lv&a#gAE0pGw%e?8?V(494-y&+CB|@Gmc2-!wxUGrU#2@u*;JObC1O}wJ z87INyL=LLPUa)v;sl>$ILlu&!j1+44TY2aUcv_ITN&nT7J9Qn5epXW5_R=HBzbQcb zTHaJ5Qy#zOQp1hwB|Zh!XeaB+g=Plv)Sl#IqUj@vueeYfD}BEgMpUp0_$3L%eq|E_ za~Xu=;^pENi^@-wLZbY=_wQjZZEW@^)ebJRr@%8H-joUt;8J8|J z%&pQd%tQcObVGw$>7$Fy9m=E2>d}e7tQK4b?df8D=YY#0XH)1YQ`1%IDU;13@wpL@ z9z{r#$wKhZ9_Y^s%|z#s;W$7!I?}d zbY?r+BuJuC=v~R+vWv!}@|zE^qjzKQC|@K9B7h}^Py!MRI3JR37hgq}2{36)ECUJ* z)`gxCfU&VQt31Qmw7EqYdYu)ZP2n_)+)g}>*QISImV$X0bCANJ&AaJzhaC{T?ym|1 zAl++9Ae`FM98WZ5INs|U^Tzw5`YSlq2uU^n?J-srQQ{WgnC@tc1o@~`00GKIX2(X? z`Lv~nE^hj49inliThAucc=JA3Myk%@MojnC9aSMHyur(WimMJ9GmfJPJ_GvAY+lGRVYDlrW{Zs^ zSVc+7d&8On{5b0~d*^HlW@r*kjhPXTSBaz35!d)^?ump-B0g2FPK>db8E)Pjx(^p@ z-jGCm_+br#rE44htdXQkcdL3^#f)P-bDCnJ2Rp|B%+Ln zhRtNMzE%i4l$uI5?5{T#NGj!6b}ERdcUV-U7YVevqM@}Lts7e+x-7S+oc&8Ybr1b| z54rf7I~=h-R-tkfN69K15t$X9zr>TgH*iZ3Oh=%kfWkj8zpnp?Cn-DjyQ%+(CjeV} zk@Httf2Wu|Y>LSDfyr#o(Eo@hh>Kt1XC%xQ8BzhXTavW>AJ~a{aaj zL1;7yd6|i5JM?>~7xjQ+Kq=8AArPub)R<$bQK1Q%lxs}m$D|@bkNkK`A%$vCobOdQ z#tT)TibN~=^!4+=B_t+j0kUA<{^b+1!X|9N_$;sW-C0=%g0S2Teh$O;gK&q zAwLB3iYlo^LJ*N}0NEeI@jhhEI-^WuSP7&J7g-sJ3R8(z{XjMNGIb!rhx*OXw3z>Z$GMs<r{ z^c@VD7FB!SmATbb5uF}KQJle#bwyTvXIFGaPbISEM*yUzN}Y%U)+YNyG={98CQ|Zx zc~7`1QlhY-e0~qjip1CP{qHmMD0%)wq(ll?QOIn!PHxl}bmu0f^?d3N?9sgYkK90? zGdFX3hmE1O@W{mlxTBbrd}yfY=1TuJ$Mn`Kf&B|+bxygmhnU!8N$cOsYAYO?xE0_9+*2<-7M2WYcNe$lev$km<;g?QBTAKMP zd+yQ+aCiBb%-)#}+~cmGbt@fXanlRV$veBaH)MV}s;$|lall9Z_cmo-*bVWjsSSx{ zp$lQD09<5CR8=0<0o`ilf&of@p2lT8DOOy(MwI{=S>E=i=)_u)eeaB279kj|p^HtF zrGvxxMJ{Fad@`YYObiW}1Fs2hgyvA$cQg5+A2f1GDNr^ITrilweS?}|kglYOn@n+& z7G?u)>l503c_ZRwXxWhsN411ROPXMF(d#YQNtXx$Q2LYNdXEEnL+jSRF2mu&U^hX0 zMGf=&5Z`K4PZ`-2QEObn=1pyKfitc5BL}Nk6Hx=kh^|oSiuzvXsZcq<@uOMxxD>II z+un{HvH=04m09$bm#?3@p9?0tyUKFa?SprY>!MXTTNjzUa#iFR76&y&>al$=5eaRW zrWKv>ABCVFrZV5Eu$5mh3Ipd4A9TjYGW<4fU#YFpP{z`KqX0R|ir%A*=s?s~e>K=r z8m?&2M}Uk_;Nv3ytGobx!1-Sy6SN%dpJgFA+UW{VsfT=83SHJ#lTPD{|3gQ8X#5Wy zMUnjfprf48e(5OFUpk7n`v1^TsZ#%+bQIkGrlV?{)PL!y)%O289c5(s|4v7d3XJ~$ zKu5Kkt>ga~9qTt;(T5yl{nAk*tmB5VUIAXVYiLC0zjTzyVuNNq#&}DFB$@7Xak6Xb zkbE)GrwQV9D#-rI)3P$87&PhB4@mchiPW>zh(cW8eNou*fkC%K%i@@lEQm-3ajbQK zq26zQM}TB>^z?6k2MOD`VKn_Bp3fH1W%2llFT(l(>e`W$oE->-?Yj&DJL~4_LA6V$ zU>-nHQ7OD}*$$bpvVCfDbb?ov&(7I$ZRm?VqN1Iq0#R{&d*Ck}RjBw&N2N0<)0O8Q!6|Hn7RzO)OD?uft1qVggHI`m)TKmD_j`01V0UPDGTesk-c{1C6 zs+oXxrYI4WMYk0uKtD8_mIJl`CKWiN@%}avY@oDFDD{g&@@4GE+tT{ z*R|Z;hr+{N0&ktSU^{7YSUY?rO5mpjZq%h!2BDPB zqs)0BAc2_c{*N7W-Q@&!YkcPP7of_>Wt^d@qWT4>M%F=c^v~ywh?{+K zUDWQ@_ZuYQsJvkt;Ipax=}r{$Jx1G>DbLYnZ2D5SV@I@ru43wuJDV1q`<24>2ch9C z!fczdB`T0i4Ogg+`=F?e8mr^&tnPwJQ8?t``+5tNAh8e85n^UWIl?#_Exv;CQFkiE zUxy+($hRK|ihZ&{AWwhC2UyPh@dyLmrMLdsBGRY3NrO~uGHE@$u%YxPA**PUQel_q zt+F93+i6Pu6J6hx$#KG#!nO&F6~0P|^kt-0Tm0I_jYh@qIz)Vwcb8PL;Ioo(5{I$B zd0<2=<({yc`yjIt2+mL309#^qGqwk-?N5W#4tmH(7QTw$@KP5O5h5a2buZNLD$@~= z(URt-y4t3!sZ?YEcb5viAU(ozS3&8%`-!7XQDcv?t1n7U|v|D(k;-38s&|bqK4*pmvz{G~haM8Yq5da6FHup9%UZety zp#bcIzh-+`wll6W70X@kGUc`-XpAWYl#0R0^zKtP3e zZ!m>-FEE9dyaGA-9U@@-PT=MIcuPoD=n}s7DGE^%H2rUgp!!`wuKL-npcNIor$*q9 zF5Kj@{J>vMkm-Mdgi!~`QoJHWJN^)yp}~$<yc@%HzN1)8Aoj;(rPmyxs~2OZ>yK zxMS{j$9>5zbYlkGaE0bH-0*OVW@)$GCKh)Y0RBCMb=61j-!f7ISg7=aQiX7#HO*Lt&B19^bdloiX#X>_W>sbt|Je@NWCS}huYIGd2 z!iZKSpcXswpdA^{qF?wt2FT@}{qk*rVg&c{S?*$$oPfB%bIBYNcU2Rz3}koZhW-dP zfDX~if3cTi0EB!h zdVj>NDPd-pwCW*^vkOH+TXS1cA{0_CEcw8od{o5X7<)req~(p~NO+$2{s(1#r8STxv#d^YoYVRDqiF^w-@pYm9#+$P|5w`GmHHb3g~n8&>GS~QPu z2ALHM=GK=4sy345g)K`?4<^ob%uT(NQ(^&yZH(Xh&9B8*w1}k)!vj_MT1Ycb@^*g# ztUy3sY0YvB$^vuD9T_k{-YFKc!7D!C&G@xv=F5-|$3BPEupd64LrxU?{J@Vv!!Vsj zMg8#vRpQ<~b7J}!pf6nxP=HPnDwgL*JM<3Lv3{rD&tIG{6tu=ek#$_K>J)2)CS{w90(*P(;fVZj7-)nDmhT$i*gxHG2H z^*fPA+_Q#t{oX+PFUgI6-_$iZ|Xe$d!e4p^VR>+ND99T%-N{wezwaX#ZP?g z8s9jZm9gXkjoqTEpDGyTL03=h5v7`|CLl%HYJ)gY@BRaIhEQs=Ce;z8&0OTGbu@V~*IuInPrOww==B{GhThHhB-c?g~z6 zHx(A_Sr?amb%?mH)2xG|J{ zr?Y+N)g7IzO0swE;&%=q(j{uwLH|wGm)f?kWvd6ja&chCy-U)W)T~rlf;>t>(9fLLi(= z9y}&>2PM-#<)wZ5E4cROSXeXd-HqK_W8p`~4wwd0N{!QTFE@I>k5Xk}uNqg~){>Bi zoN>-r-@M=U746et8g&!@f2pQl{O|Z|nm1p9Y0}9)44OB_5ZT3Ec0_1dxu=BI z7oSX4b7|Qwkyt4u(t$OhHp)Jw8;Lp}6uc-=UJwD@*$a8F(=Un7PxmJpOP<}ckat;x zD>8cZv)rS5_*`dFmO$|m>5X9ci@p$EC=MBH7qkDtF9;-Tk+clyk9J$Oz< zrz#TlFKYP3y@&KjLKKL7Db8}V#RN5nYK~9s)jI+=mN_b*lxM}4O#n9-@E|3I$)ja^ zy7cwtp<&#)gn?GWkSR7k#ZOHAT)`)uLpx?HgT_6g!e4%G6 zdwc#g+pVE--6US)v()AoaUnjFuDb5>6OLU}Mwo-|&O4o(S_u~k6=GsT@#tLn~ z-FI9^991L}X%))^8AZgTXjMLhPc<0AIJHN#*F zb3Yud6qSuWbSram9Kp)Jx7pOZ=_aVkNrAxgz9Ru^kTNK(3-tU|+3~^frWMeRf0DSV)&v68|$BAYoR8_YA7@dSJ|4 z64N^3wD3vw*4Ex4W!6xT;+()hadORJBP!KJWm=RQ)L#l)s#C##_O#iAR7Z8(Lk=LM zI;p-pG?QeiT|uJS(UHHJNj6{Qt#qV24XXU_F6pG9u$yWgFdRXNYR?I=@C&Ma3m6{g zHHpE29uoLf38-CMSz^^QVx~v!-H?RS2Ei3Fs=WBlmO0CYyl0p0dh>vQQ`LIRDBMBP z+%h*QybG1Ywnk{`8VtZ;9t%|B?L${7#&AWoGY?MBqTSl1!g)+LpDun^b}f`Sw;c8i z+vUn@-y|N(9e+1pN(rS~x9+Y5nbf?Mg~Vkr4U0{@X<82sAN=V0BdOzM8cWFs91==n z%he^OT3Y68I3(l*SN%0C%+0+0Z;6Rf)3D+<}k<|8;KxL zU1t~=z9FnoFn_T@u-XRNFh!&PVphI0QllSLyPC(;@H;){8$GhM#pn#(XQcZ&HV;w* zLu{NmDPzRF+OKQ0hXrBkyj`R+xQ#CIF&v68`$XWx<)5$ zzt!%*y7OR!K|QqnHnlFDyVYijV`oOU!Kru&19{gSI?u>v={;Lj6hSbK0d7Zx&4*oO z568e(XX8*N>sLAm4}!2xp%mKH=mSzV+kIGLospSoO_F3rMfNH3z09RBE%Eikc0{k> zUg%qh17Ml_%3Xi0B0kIKI(#b_fF6h23*E65*znR;IvSiq z#-Wrj62eUZgPSZ5mXT@>XUPCj4EBUzjW|MSWk8`$G)0JdN0WR2Xbbl3Xev=Rv`xoE zs<^HQunAKB_cCNA`4gQ=+ng*mv-?!g!erz{+;m}DZq&VP3z5Q8-~%oMJbiFHLPcjJ zm4NLd7%95X+Tu22z){g~Hy%A3{LTP%h-25tAtgYv5R?y&R3yG|zYrG{@5aS9cyvmF zay#Vm_4*^Q<|dZa4C8d4gn$m8$hr*}9A+VUTWnf&lS+FG>@XlFri+e0vzMFM>dZN) z1-+3Q`r3+>)Z5nLWhV%$pZ6Edg{j7vPQ)Ho78-=ts94r5y?=UA027k9s_^fm04W^Y zIKIhXiwOyT-Hqx9aVM^`h+Bj=tgV18E)Wx=Bq=j-NY&eQiK&Zgn2Qh~3?1+eKA&sp zgipT1(U$EQ1AyF;uWi9hftXpFUU0=Yh}~H7ZsC`_0-J+<<`M|#d*NC49Plf}o$l{N z4l8%SbX{gh!+{<;S_F`}+1B_N*zavBq3Csi|J+AZhW^~gjH~3fn<`9eXXU7kbj_0E zK)HFyYKB`JoQ*WhdjTPBL{|F8t|m02*yO?~Kj}6L){5kt!};r0k@cO*z|ZwWm6`0> zHVDY6anvNDRX6O6=(xH=L} zVLwF@fj51r#aa?E^MB+ViJ6Dvi|dLRVQOg=ewYz$1waD4Y@D+dNOaBPw5#r(jp)m+ zC)5A47Y?*9;TO6uD7Vf@uR_e4_tth9ng*sOpLZ9Akh)8;c>3N%y5G*hL28EYQkDQ1|zY zB|$#`DYq`V_u+KHHXSl6hMh<)Aui&BtyvGYw$M+%wK5<2P$eaHj3_z&VOIW^+}DGm zz}+k?D$c7#R@+J&VQI=|pxr4xq4pH}P3~VeR?m*g5$7WIwA3?mvl7b>WHvVmjf=;9 zD7TX-&9xme?V}(|niU=U!Dd13Q{@LA9WmFxMNEK!@r$Yj_Po|zBq5Z0MA{2k&LCMg z&wO4?)>|3G)(<9*0VUQnkXAT!!Y!1$QbM3LnE?CpmIHag+<3y^5l;#wMfT#nfX5ym z_WPq>`;(FV=r%XKBTXiCx=+yq)7>+UH$zR6)cYCleH{}U-u}zwGY1n)i?GQW`S*a+ zN5p4)!eJpBhw8E-y$Xt=05_c3J6p{-yJUY9&=Dez+r~`J(3Ek|_!TJIfH8nD&m)sA z3Jh2zqGX6O1a0vt&Jl*5Fb|zjhS2*8`bPSj)GtsSn%}1NuY?Dt<5bcXAJmxcnTM39 zSm)Ju&aOU1GQ^V|v!j&ypQQdBe-Jpc0GSf^&1#TFU+pl|wmfKvU#zF!j1LeW1~f_e znJBLeQ#s@<@%}It5z_3zO+!5U^lHxNI)qMD_dNan3=&JDd-~6SS)Ua=|_V8La1r^5GdkyeTWc z+5M0L9JUvaz|KEP|7G`EK>~~ZhNQO_rxL^)UJozvEdX?%OF7lwkUdMGt>&7zM~)X+ zrXwYy_Cx6#qQ)9oY=;MTPmpC5)y-&)GMc%=y}GfvIT%8>zwM;4AJsV~$Fk+={K22$ zMC5ko3R3<+X>{E@#lj^lWh4X`7Efp)z{=KY0{(^sviC%mUN-c)F7;|9detABuB`R9 zhU!v8lIzFx#d3gVf_kM1G-7?!#RSiz0gr=W$cg8)0d^|g+l3WAZ{P)eA}41Q)A z{N&q5wxQ?@L}6yEyUqVgMSZIobq=f1QzAIxBgs%@9&`MG>Y~*`o!2zor0Ot+adgUP9EkY&{7rT!1L6QDOm=hg6RpE4j@AaCylFhu+bcz0Vwm(o! z;#{vj6WI!YueQXF0iVx|HYBD=Y1ey*F0NU87Dr`&p@;cV%$}hmEdK7oL-${;apmyr zdLT`C{1Pga+e0=~9F8Sh;03hWPd)3AdAesiy%sFJz${F6P)403;ETUvXrH1H4^11OkvpejP-Q~EE zYJ=W4zmheV_za!7gQ#C8;L&EmZus+;pohIX2~Q0*C5S;IpQ2tw6-*MckA0J*fQgk58GR{h_*k==0`A#n84;SjA#@z z4&}qXp>9`*WZ(rFl()8i+)QW&e&T7tqBVeAVck{E37b4?e#l`k|J(UneVJgNH0Foy zV277Wv6F7GkyZ}rJ^iPy`l2PG4m$+^VXJrL=Nhy#(qY^K{6B@lebu;*uWOvKH8+N zjhA>Vc6Y~qz|6baTp~{9g}!|4>65c~@r%I^jQEQTW^o9u7Kd+<(!I&SGeG5`i1`fc z>zOotd45k9t9vToZ>+yA(y$4%SF`pydG&PwL^3g$Eqv@B6GJ#sTMxDo8f z#m(vZ?4bcYvXzcvI&$)CKt_&sHd(od~`=9$={;&J|ogeH8Rf`BL<7I)aNA;+c z_1xs&Xu|wvFCl(GrYm`hz=hckL9(6=O`ibK8j#}{gO0T|tOc`AB;G@LjOmDeFMq@4 z$T#$2h?D}}Z-MU^RA3s9#`SP|`jQtBY0vOe=8ltjLtv}ft!l>34a9x+fDb2auG#2i zq4BfFmg$*YYn&Mr%yeSb+xsjYD4KIw4rSno75u`&;x)y*FJwD#fWrdfLTfBMelWf@=8U?;*(J1@;RuRe1o&5!Rv50U{~2%2h9WE>Jv~G`3Y>H zcHX@Ln@uiGv!`J$#j`q}GV_9Wn$L~>XKwa>C* zo^bw>4`!^*k+!Fdmh-#3^!`G%82)M{D;eoMIn4Fu)YnpKRPUu!dea)0pV~Cf^v6=_ z_G zeXVU_rjY6N0;ml-Obn5X@wXD0i*-5!5fcnkk11Q4OX4!jWN29(8s+E2rI^U-Gdeme z8554<*;kJYSF+y(t2W9qIi%}r<55Lp28(K;)ip(&5Et{GXA$Eq(+U(p#y!hm_BI(Q zR*QaZd|}&v9eamGy0Z6!+1b#tcAJ!)Z~%bK0lBpsoJqaMIN>#1^7fB}2Fi7Vip3j4 zcG@v0kV*I|E`d`ReO8(zu9uF-5?_rMM{81iEp+yjcHGYxOon0f&3twg%6ZY=`eHyd zXj?z;glzAagxbXVl@%3%eP+0jniVx9P=9VZN5FkO3fY<`zyXeU!^XldL{tEtUq3A7 z*hNID#Y5Pn-M3ijDhp>=Z?!qgzcG010K1TMdVq$fI^)wP<}AhX#<1`=6C@6{=-Rg{ zKIdyuK8cHLtPi0{GF51)6xYYUt3)c)L2@5U7ASJF0)hQq#_c}}j<1dHXNd7!x z7kp#=)!||c9kP8^Z2-NNbDE|f)9-fk%#C-Sub$<~rt#>`e&?xCWvkykAj>Pj01Z|w zFe0=g>y>uWmC1VOq)YbbcEu9wbbGX{HH4=1Joj~zeQ$Zg?g8NMGW*i1uT=!PE}FtUVbE9c3&htqp&uCB@f+po=tQK@$_6>|C4S1b zRl=Ez6#-l);mE^|1ZtF26ktOFHAxmCvImfg)|5$XW;56wjf|mPYm*_~M!V83h4ry6 zg_7CXNHD4Q$ZIebiVh<5Jy0xf7zw!!IX~aLm6P91dnnz6YIN8HS@WSLY-r_OGLbblE&|pJRy7waVWe|N>50lklj5dTH>zKq{8`A6!cQ=4HzsK8I=hcb1 z^eB`4A^?S4-W8nVK(w$ga=XXzX7{PxUAN_l*JAiU$+%SkmgO{Tg=X8Em#7GkeQ@OI zcAnLPhedX_^aDMIDF8=V#`&m?)=`L-cLTnE?yxO)8vl7kif)I6%RT&_t}%X zTkQ&I+kxEiN`F}8p3uHU+VLXyywsi4z9q5mc~m06|F^q!DwP@C0sNh{Ipds})djAd zYZi~haOckt($ z^ruZ;k?=L?aq|^BsAS|endHMa$=F=?&Ukz#e2#Ep!)H20vNrsx!y-Mr0-*{%R3Mrc z;^v8kY9`fl}(5W~)1)EpG?kPb?A1?@bCQ}!m2CR)s-hnax0`KWk zF+O|}Z-(XVaLh)?;Mn;4$m7#E(P#mWmnu#ZN#{$EfDfPa)la7VwfJZ!9`fu_(dl+9 z#hYL1=C>)yYSgB!UKQGm)n+AXzaLs>fKD^HzpGVjkEtzFz{$?G&OS8?jP>N@Z4A`D zw^brAMJtkK4Jxb$6~>zy^F@v6%6726Ey>VcIjkoY#yk7>*h35I1RY*pdZM}%Af23) z*|%%BYZ(2e(S}F-Ed`Rq7`o11kM(jXm=#F=I7GygyZ7MGG9lM(mpNiHFGpnG+4@>@ z@-K>`Iyt%X7gAPt*~Hz9oZN-SB1%It`~XN}I%&svz`3$R9cdHBmi0(=*pac06i*c* z!ptKF!Rh*#c~-kB^}?%3<4>y=r*9^gcBE$dw5wA@gh76=6r0};p)=-(wzncyHkSkL zF>-P7+{&<}!0EfWLiSvoF@t9H$-3Ylz337zH>>!3a(ExNo6r4+IPrHEs9*W5_K zZu(>C@mF`tudxXz{S*4|mhQC#%czXeXz5UyJT(```?<0^68gCPCteGobh@mL=rw1+ zo^T|XhXd03+rUWu{(2VRpzZ*}^BhgsrbWm9i>`YNj-?COMjhL>c5K^rvSZt}ZS5pG zwr$(ov8{=1`{X(AdFydn2YX$ z)iBRT30J5AlffN~LQ_!WI*=LGcDfHvn3*@re81iEq3zj$uqKFlT>TBVjCKPIRs(c1 zg&HBM*5THf3`WepaPMw!YH($piwq|?0Q+qFrGaRCzkHm6l^$a3#xrMaUfE$rU(EcB zO@=tMS<{(n>O=hPz`rQ*;+UV55`$A?5%h5Iy9}g4U9j^L=EEw4#qOL$?T)4}M`Cx-brB!r`;R{wLo@jqpN77Tw z+0!q;b79RxIME7i+WP>%R{J0o-cF?`UD;u`i(-Zf<9SO*bh6i-p6S8N4hfOnQkc%rNhH!yL<}3N?-0#J^b_>D)%tgJk_q3@vhY z%le%rjL9JnJ3E1+ggju5q?p(7qMafvxd=&=Q2YnGMSS@=*LJ^p1i032zxY+-*YiKg zLF#F9p^Y@<2qO)tLUN@f+=_k{<}qMQ_wwabopx=7L`=heuAwx-^7)266x`1)fK&h< z&mfD#Ys7B3t~l_*5lxK}Eu;jMfq)n#Tto9tq8)if8bchxCjde~x#VLFF3Vza`+!^x zCrCBc5W3s`jSZ`O4y(AdmF-X)v_Q3B?M_UcYNVTAc|>pN?_(8&g0lBul@1CKtIKk6 zi%m^2Lc&ht?+K7cYr&&)r&FB?sxsV1#fJN`c!jagCxA=$KvgtnPz#x!3je!?=h1gd zgk1m(bzr%n=rk3>s!~j7Yjz+#-IsT8zh9{&7w6z4+npvVdlemoCt`+qDjwsql}il( zE4_psqV+M;AWbtjN2x-YYm;Z$0tc~6S>$4Iv*k&UghY($_E4*U$PP3pFxp0h#Dv;~8S zJmg&dB?bneJ?z~l4J(gn(2)|Nypq6qrZq31>uo86ZZYv=Cyv)-rNjBzOr$aVo14D{n7sG~nSh2bxWat9pYl&KFW6p9tHpPNR zUr-I(dZmr)HimULh!sAK^+=f@Md!YlRDZYAS}+;K#ra;74Ec0kKo!rz1(Kj5NE5s@ z_5FviG>`(3$$%;{0|yMu{jBe#B!poWRN|%_3nT(rQE^71Fb>tj?01HI>@G~$!JaH; zo*f6o)_U~V3MB&x65zlf)rqb8_O4(#Y!TS7L70Q)hGuC(%n0|>2Dit05E8m1Bs()o zsl|ee+CZ4kgdBMEyL6nN*!6^apVoMAvgUaJxEmC3tIZ6RCaz?7+;c&oZdOGv7_AE}( zgTI%#Jdwpi@OaY7gMUB%o!L~QZfQRoXyKZK>65l!r3#_2KEiJiwYK2}N%3w8 zqQ$W~g)SQw-=B**xA9H5Z4lz*N~oUi=x%cVByUAOn$j%vfgldOD{Rom#=WMWnu$8E zPVq0xL_aw`dTsHepu_E@Gh?mV^tmTdMXTj))=&7<6-Jfa#hhLL8S^^hP5D%sDbkr^ zE=0Z_o@tLIw%W?rfMgvv4KuST&W-l#d3^JZU^cP2U7l1O;&z{XDpRGHaOXArhtut| zU*c@SPDsOT>)se}*^VF=9fD3zD4hypw5PCeea*G-?eZf&?REz{$Z6vhNL6PO_IVB2 zeJdTC?#lg+DZD?p=HU9NpDdWK=1T1KJ>{&(V6C}uMM-WfGa$Wz3j2VR|s_;>th5&SA8H=+ik-CEy2g>$sWmf5YP()gUBw=)JiT-JIhicE;{=tW&=$Tt zf5ER2=IVx>$k_c5+cVW$6v5E-X~Qph!#4q?w6o;srCd}M-CCazeoYluTkisSw#qR$ z61ZVeEEox_h)h%}s#SB~sMsK-Q7qN3b@*w1Flv+LcDJZmu(Otl2ba?8qlDTTa!wtOsdQ1y zt(HS8A9{$s-cgWPjv!{P=xXkZXaf*$x2W~8A609Q83ImfvLz>);!Pjdhy8Ubk-6b8 zn(`^x;sp0~Gg7mOuVX)e4#F(3#xn9+wTL6*qFxIpkNXAAo8wwapx!E0=sz-0-0nXM zY(!aEeWJAILryKQcEY9UvbIHZP03(#(C=?nu`IwYMpK~CGqB<$nv!F2!SavrIPI;l zwued!n_(?r(E6$Id|&ZQ=uHUX`=}Q&p`^ENXqs^pSSqWB<|(t*-o52KYLV#s$-c`! z^xm|)#RJDW@%MhE+x7bwi0+_JIp?Flr~gsm+j-F_;mJ!>EV<5aRzAQbmjJg8$w+BU ztXB1X>l4O$YFd_!3eG2JAfx8;%rc$*f`S4y#%TU+?{jd6c-x)ci|5g?-KLac)In?L zuSri(ZXu2H?ONhq7>1la9skMxKx>L+3DP=e7k$1`0^Zr}5B%wPBxEwOBg0?!uJZ+1L84Q1uF=Wo|u%r$m0qHBSxk+pKGw@4(SHvre}Z*l!nU4N-yT(GlK zJ?d0&E@v_fNxc3Trgf{Y+))*qWKe~1>4?4xYMdj*QM-e-osti^Si zxR5I!YHg{VU1CRj0)35D(Q$*+_Ok0)OO0}?D;-~<^(nS)^vnsjCr2@otZk8P_urQ0 zmB~#;fpYapla-;V?qs(Wwe?LsufOj(w#gdzGrxK%bw}kp?y_B;-R8Fv58#&U=>6Is zF1=5^p67ixWDtLz3wYWCZN;=->Ay_z=>P9*;yqRoBEv7^H|r(ne72YpF;EaUnQr^= zl@T|8Z#EEqoc4Y{Ui<&t+^c=v`I^2dmCF~uFHHoqWC{4V2cK40aE3Z_ zlI{!Z$Y?TX%J%>QP56uE6wa&sggc7Yi z0%s8FAy{z?Oa(%g09B4~_hrzPmf)V1Kk&*Z|=oJ)qZ?12@HKq zRrSey-1Cr2M#wfEd?KEp7aHRp+k<3N668jkXi8=$B1!ngl+e z=q+?*x>X8gEhuPdLi-&)2Nwi7(#Ug4%qU7jqkTaL*eIJ7XN17!iq6{}mQ-iAKKrLE zF3CtO9b-3R@iy7Y87SxK=u`~{Fa)~HBb(|}p6loi7%^?O3p~--`w(WAh=H}%`i45= zlkG`YEq@IDu&*`N&t*^)MzA$hHtvrnE_vElfH}N2Nvhzoa>)%RbIYOK{iWtl)@zjL zOCgFihi+n1H3_hNuQJXLXgWm1Q<9LHrsc^BaadG3z! zQ;zF}+g;(iX_&Uq%XdGwdyGOAF|skaU!Sf&TQ5u$ad|lvXz`#6;K!y2 zzsc>oqkjYI{)akDD*@N;>vNkHx8mr`LEfm7l;$v%VA6J=lNMPZs}+_crL8ldU|Sia zwSJjomd_hLPHFqLf3xt`QW68;-kCyA?v7A_KkbUAzpJI;_|}M{cG!!|Xu#LC&mq;C zQZPv_K|(j5^ue!`Z^YNg;-wC%h0ZM_!Af_*DZtKKww+Cs4jVqBP-ZNafkDH+uVh9IvX)mx0Dr>JyjI|mOO((O)DdI@C9vI zO5*~HH%$8Xf36KK+5sDoGJ!c;-`e@w65W79g@er;>Julj=n&JPY;1qJNsI{8bdiDDF|>}U^@h?6o^_{l2%dUnvmZ%Z@X1=; zZ9zE3$S)!-gjSkqeK;U;BVtDNYVZAIDVEXMFYU6=j;qTZ6se2cleh}rF znv=@#`Am^DWWI8S78Gxzg&y;XUy%mv0O5F6HGPCwAzxo^=H(&I8483tehN{upCW5dH+J7W#^XjD zv$kyCe`C&j)7gz}sHILR1$`_Qrpqy*)kSgOgLtii`n;rG<+1vwfh|1Hej4l8^-Y-e zL2SAn;$Qb<{-!G0>Rg#fsV_!+g41|u=8PfP{erGxaNlu|fzwA{l-4g}j`R;MeU7^~ zvtF)Stl~1~beaspI1X1MP6*px(xs{t z?^I=qhpPJiz#%7>XLC7JY$0cGnC>7ECN?phEbPx$>lhW21wM!ruhE}TAsn&jK@s}D zBqG&?26#h^tD=kgObv8*R;8q{XF?Ia3o%m*i%0zxGXKDpY|P3SgT;~JRRQZF3Q$mE+go zM*2Jwu9!_1Fq^4{yoxt^Kkv;h^{mKV-_5Np)5m?n4!4?Gdx3_J^XJDnvUg;@gk;~w z)|`>-&26_S2)Q5ab)fUnIbgzE9*tgh|I@dy>)6pQE3kl)Fa4W4WGy@ctdbi>jSWW4 zFp6%xGBEb!4@r<+zSrPW(+;f;A2y2HZZPni$XK=&n@1|dH8a3u|XRJWbkm6=BY(p*qBsHux1<6@+@h3$Lxfke}8wq<|dS zU}Ts^x;%-&C7FY9(B|~Z+DGQ&4jC%9zidBk6it8izKk;mVvH};>O;v@p3nB8#lPb}9ye+? zfNFnlH^S|E49^?22f(L9l=to&2cVyAKQxe%ukgt=xZojXb0ssr#cv_oUBJ)xdHX4z zu=Ct+&TnAV0{}}1;p2Ec-r-L7d`;-;8hO(FS@0R+s%(m9I3P5{^+0Pe8yU&NHr8=M zd0y~)nQSsQ2$(7!iL{=Qh2>qXi#Gms3g?qj;>6pxpowe|?L_8us(O%`!yYxugR0>P#uDpywHyqeG{X-x$?xacG>oYh3a+rTI4u_u2hClWD54 zcaQx;AE~mY0_Lw5<^w}rK8#E($}wg}ekY74k|z9JIDoXT<`myjNGtQ*Y?i0*2kt># ziEzOK(OO8XVnG6tT9KsP4eP&M+GY%%Lb8?UV# zfp=O;UHJ5XN!8X^maPU*Woms3t#gYFa8-`kPWdNK{*v*|Dcfpi`iW5SlNePZ&fGaL zBV~N#&wxs45H)v>Wbn+ZBJ}C>A}JB=ODCILxGsk;rQrhuI&O4Xf=H6(?@oR-;MM*6 z?Pgm|H$z{B)^C>&5FDb9neFZ@5y}-u;qo<9$3HD7n(zPTQ3ApUrklg~TjBD1rpaxC znGh876vs9kI@&ZLK!aGi-ofF7!J8iS=hfq(UkrppjbD8IP3rcq<-p)i@wTGtIPg~O zGi(MwUgJ#&zBzzZKIdQ0p;>S%M;U`t`Nh)^3g;xy;#3`V-SR`7FX3oVyuK2`g&O{0 z-dF(%H$40d0m2PPI6sd>8+d;P0I#2k2==%MQ&`64C)VJi3?49)goZz-em;~SG_v5g zedk${TN70q z#tWc=^>8^99Fc;oHtXG=Nai01jR0zA{TW`jbG{?X0SqUg7S78YocBgOY;yrCauZY! z-ar-u7)%ddP&$@RJx0_a#rR|f{vl=VI|2iwi0MVFzw_z4^FDPR!3ANWu07%9!loc5 z@=+b^%-oRTxk19Q2hF5nKWEbOU~m>Xw8)Vw_4qHW+|M zhF##KuM2ql=@EyV!Cs|E(pcrMG5M){QTA1pLq;SPLqgze$3coUboIl+ z`XfHd_0l?fRxND7e=J9vsUQZ4Uv&_D?n2B<4c>8R4=K3H>HZDGufL!5&W9zU{jWvK z3to=Pb$g|ckw}>5K?tWxrB9}!L|n~AkmVO>xm7@%S>G@Cn>mT>g94mo@b?c6(W3u% zeAWu#4pax_OfD7)R0lp?{K>Y5+-;VzV@bah#9^bgR3WjSHW4g;OnSFD`4}qlopXd5 z4KHaOFX|APNiWcKQS;wT?Izw;QX7_V%!@ zo7b555|BXJrj$%43LR{ z0evK}nLdKjZODyEI^~VUjfAYCeo;f*h$q{%}zI&PT|uUzP`i z3tQuaxFlxC6#Op#;#22X^<`T4y0WPM%; z+>@#)6%z|yi)T>6QE!w4R2!8*(CH;NVbOkTO#i|ZNl0q50KqAdUgut_lqF7<)`6$J z6_Q`5cuB*ck}>q&>0Cpq3!Ac%s3S}&R7^7pc0#T5jTlqrT)*tWQvxE|N(Ogx?X&I! zbHlo#0M~yLk?_%Sx0r+o23yC+^gE|b;JyX-Kw<#ggPA*5Lw*I_z5f+hsuN(?#-kiF z7!~3(A=tg zlww=0a3n3gs@8X2;qXaDnImDPt{I)~4v5YU?qOM%ee9tO&b;6Mdk>yG3Gyl;X>Upw zDu$yFq|!o19$mAU0u5D16x5ns+Sec4wyUu<8>`ev$Q+4iIv;*F6fS;a;Tk0|!O96l zM7Mxn4{mmEk!Gs6ZkX4kt+Bpa)?|i)cahzQ=zg^C=m5dsD34IIxM%N#m$8eghpst2 zw&z(21l`IDVCXwGq|z}C(-AM>M> zq`(RMo*n_DpNnStsR0YI@pA_A!G_#~;NosH+DqTMp-5#d{?l;$*ZXf{#zG+>&m7UD z477rz-}>92=Oh1i2+5vp2aCWPN{4%2J$vjZn}?N(tq2qqQns81~Omrar~nM3L^;@obfMKDY|uvMzjxancV zccmrdT!DyyHHWi$)UlHGRM`=iWm8CR?$*E=@eyV#Kk#zGi@rc=Yb@g=4T!_}o!%Qw z+mgaE|Mh2;1)4kGqoRdNTe%R#bFtAXCl{xDIW3nD;jzt!H=xC{r1G;N?3d5u&CvGW z`f#K;7X9SNQpqIn_f7kaEDlWj4J!*PbiQiHY+~bC8A%aFhv7K>-dUN`T9w9by@%09EzkyFE=-1fT_$kyRotMua!SZnxc*?w7!Q>NU#?BYsho zBHE(`7oEgvvgRD|Ri!Y)H|aqK6}#~H%$-OBs$30E64viWaJQWRV1vVPSSwNAvDr}! zmNIR_tO4$^Y!#nvg05#u5JUwIQH5`FqVyvpG+`8*NhK1PUq-745$>m6%8Q5iQGkc(eZhFkeiM7>_PXbhfoQ+rSQ%QBdKt6zs{{`ayOH&1a z@1X*gHe9S`=#viRZ(n=7LG$4e|LME!7g%Nhd*5nkOj2-}nl-yAJ zx0S9q`hg{KVx3We$dacBjeS2o2Y2$Sut(ZyTAl62f>M)BUz&S%o@;|MfFagao=Rj2 z@)mt)WJzMv1jZ5T>jj<&4EO#3Gw%bfs6C~)8KA$XrW$p7gz!A=@!}H8w-T=G8*csX zQ9OYW@BS(pcvyNFvFNNT28J?ehJCbUlv4) z3PXf@n}e^f{M@n3ZcwG3ENglF@nnNm-^{x#CuxF5Hp_(o-E2&47IPn;a`dwVjV7iu0R@ntiy_iGEJTd%L7Wtv_2NqioE1Wi^U zMe_~wJOW6QF7rP;+OUbhmg=@BU>51dE>tS>Pi2uP#j8ETVvT|>Ah>hQMWR4`Xi`i| zx8$B%K3Fk5VRM6IfGWuc4e8YA0!e!N*E5E6JL7WR%(Sh?^W|-DM?+Y6csC50k3eXK zhql#P_iAs=Htb1=Cpa^HA$O9?4W@sfw{-G^DQ6Q|FG9`Uq5d<4x|Bzbr3Kr5BA?a_ z$7aiayNxEU09#_Y&{BUcut1+kUzt8)sVUu{?x%nYlwszEo+ zW%1i6bpL`0>Ny^mXiiVTCcF?t^Z*B5CorFL&_U-nxV_2f%Q?zj2}rH~y=A=j1Q>u= zX;P%G$&DqAJ7@x%Qx zy+fGuQ(*A*c~>7cVYgR!2pV#n+>^_R*<3SGNYV(fz)QpC7&Z?1LSfENpXdc}A1@hl5<& zmnUq5%9*xONI4XmP~*jvn1`bp<^P1)e9%h+Ic^FWqTl_GFq;j3);84blPo;f75L|o z)ds@HTS!h#Cdyn4C6Ejuq<7HPlgvKX|DjZY7QUQs|Lc}kE+gA={$i6tLe}G-qz$ai zhIqYGZ~J2QeYF>G%Ol4I%-=){kVR)<6gYH_lXM!mDV7^k(hB1t+8YkcS~(br&neTB zA|Md{eCntkv_C)FuRH)7Fj+vX*0H!qQ)QvWb7tHyxkAm?kx>J3NUx;1eOS@^$;}Tk ziVisWu~eVPYLvYc6}%E4vd9qiwf#i9PuJcyanzUBf-?XoGKzZNuhUWBpPx$X{cbYn*FHs_QzHU3bOW~W865g6K z{wjjzMg9d6X7hXLsIkpT9^S@vb2I_%IL(8Z$;nn_jUS}q_6boh-8iElRL0I~1l62P zGtuc>rLv>uv@BTzgJI39F=BlSpWx+I8x6xWpolzfdW~PqnEu^3fvxj5*AwWK{p8t@ z&p$qM6CYaPTp9*Atx6#YbB{Xs0BmQ&1_cQ>4e~cPSE%lW`Fj)XUJQclPb`=o9DC*T z?`S#o8l!!j_mFi7=D}<{K?LwKxIzJ#(0>;(YP#=77(el4E@)B~NdkqZOtYP=`#sgL z@F|V?cc3wt1^l`2{4{gRgi|eFMA#^^F9H)`0D1{yFlrJ!{v26Uq=I{7U?UrDp&1 zn=Y#nh{^3Y=!O1K^r1B2aW3Oqv^oSt$z3OK9l-v+V`OZs|Nnd!E6ZAtroD??SsK-H zLAGm1?69Lytf{&RE#ELzCY&?xd8q3KILnZOnUj{34Ezigajl%fOut4D7xnDY0A|om zYq7Iyn7b>vlPko+s&FFI91iymxnH!r3VPzV|<32cTMWkRdZj zgtOB8L_R^d*B{5OT_9-|wZi_v3Nr`>yssI7Uc+K3u{+Jc{|b z()&5;|8vCO>)W36=g;kJ5+bO6>oxmxpLi!~l7F)B^zQl7)+=9G^OXu}{NX?+UvqN` z7t0f4UBKwCpQ>G~n^rc8rpzAEPST2CO}X^zI9B)YaPU(jG9u)~#TC$aK?OqE)V+xb zOQ8fOGovRt`?to`0qxFL>RD%Zh}S8gu`E#qmVLIBdSO00Wfu-@2@z-ra!t7pAM-fj zymsUHBqWPwi5H7gH?)%;upST~Nzb#`{Y}Xv$^t-EeodVU<0c||BaDHo07qZ>&Dad=P+Kv4*B;B3&?8g5bTz(;WIA@`shL}zS)ncf^ zEXu?TUg;~0tgVRfa_0oGNPB`F^vBC{VIrPy=i%pt#P{CK-lTCD#F!4I+78CXvlwy} z_Rj6%U@=m2-~Ct~++DqDdXnU9;Va3;s2ZnBXX%TBRx}I)g_wr3U{(cEj=R~INHRDC zdHE%;Yz4f?%q3T0H+~2zD5oIs#r96W)mv%0efS}i&o>2XVNX`prhqZjfh|v(qe7$A0Tsa1BRX?gRqp? zVpHQgY{D^7JdlJ-!!uT49jbg&BZL|*`CyeZI_xtE!5=Ywfa4CIn8KS7%_adkGl5Hk z%N2ypa3T+o3Y{!J^R6$G!W24h*|1SUsxNk~h=g1qbSS5cZ6)!DncAXM*bC8sNEBD3 z&)y+R67r@z{ST1cqEA2XjZSg#PW3VT0J3Ui#)QJDzoYO(T0em7B1!=FJ&}0Br|p5Y z{q&|TwQof&rm{+DUP%UEi4EVD?B4WX@DoFNJ^$IMb)-8zS0f9f**%^kgW|`AZ?{&F zMh?;pTc{8{ryZI=1pK6I`eMMCmdkVTnuI_1==aP@u6hwKH^O4pXyN8}=!_f}-d>|K z`|C!+oOB8}h5^kbNO$2kQ65oR1;?bup`F39%i$g|la@K9=22-p*8sH8k_35QV*g~G zbPkw0e_>5wV!|041S@nc@gHDYbIfe)C*=8k4=)SXO={f@q8ek=3 zeL!QpJ-K&*V4CU~)`W5a2L#YI`Jq=Uw+n6o@F; zKtnAxVP|j1Ks7*n%>_(_p2Cpan?-Htt zu3|W#R#SqT7p8JxZ%4QFB@dBdF^v5cNUPf%=2bD1Bo`Ih;WYwF*<#=bEwid5DHcq@-9;d-)>x_FY8tq(C- zVudsrHN%>JG9_X(lvhs<&Y>EM10W9JRgSPJE33c)e@mM-_) zXkKN*HJucwW}$1T8MnoG%GhFT0eqG1aAnW_AqLoO>ZSQbiPx+zJL|`gF_>I$h(P0= z8aaXDm?Ra$NiJG;wJeulYq$NcAp;i;AM(S7o^KiY`=22rUBfB+`=22j*#=51)JWV< zoWM13LbG=A3GzfmnaoIwZVwtY|w1hj>w0Ghc4 z^-?DX;@XSMy~j=!a4J5KYl8x`@FzrIt>}gV7uvr;sy>e+fOv$q1jz`uE_1(V6yw5d z>dI_qqZPbUv$1o{z1@CF<#kRQw+C){kHwAO>Ng`mnHQA31+PAvQPb~zYwT`AX*)_= z2+=+h&}C01yxMZyHM-$WBQ($gJ^8K{6k^LqIvFNMt;bM=SkfoHQP)gk#&mJPxzP^F z!(;63cI5ViaB&f{wU)lI#?#pt?fCibLJC~O9*D(%5f>FqwBQab77km4w{@G>Tk)rKYcVOxojH6ek{WbgG$Q_!aH*xcW{_w~>A#=ww zJt=P5<;uBO7G(=qV#fBReG+>c)Y?G98o=}Q+=qj;jPtVA`Wf7x^KPS5*5mti9>DS( z`fqfb0`FMQA?rP4e^VybITv7cO*Y!Dz&YK0!1+woain*b@$Q%DQ?}2f;Jr$T-I%cl zthMur1@g4(9MQ#o%3?}#MeI#)bz(?;a4kZt=#Cha$Oi>A7Yr~!L=k=<;#v^_A@+*T zIwwBVK}>MwD?%y=2WUB)tw2WiS5Kq*%oTP(=6f&h?{-PBz{kEbWg_LhSv+UBL=X~! zlD3vTte70s)*A|=RRzTFej@fkCjU^hHv&GLxc{MO=Km)}^LYBdP_&nSo1ZRtk@XXI zq>Sy=$S=#beJ_t~dU%YK!f~Lc?jS8qsL=E$UM&DmBiEyBxK;W~yS|1BH0D+xq zuon;PQ0QMsiD`w)X)#h0abu=e%2|Q}IrYSwdbki_ljE&g;_zWM3##^z*WaI6wp}K3 z&c@UKm3BtN6ies}RTWmVqL(zHhNvU)I<$G|%;uOh@A-xO@4PWsP&P%%%MGk%1!OKK zTjl83k|sBs!oQ9EXl+bdL2Cc?;Xku%O7<_q zbTQ0(o;#;ati40iNVU`tOG!}ONOL2w2bouti(vY~Z%(xxbE{j+%eR z3Ulb`zh2R>j)#HkdLW}t=fzmucVp@E{C|^J>UH_O@R2^jVy&4`W?(WlWV2Kn8u8GB z>0X=H>5nR<)Esfl(D#}x6rkze@026=g0SsrbpbWrok5Yvh5Vs77VV%z=6|yS z&9RM4K$k2U`7&_{=?%%G!kcMOJeIZU(8nJy65fH0{>4?6SpIcQ>k$1FTJq^aRAMq?MHa6}2TTsLF)25+l`HSnWZ;gw_JFYS z0Dq!|BcS;Wk<#+Vh+%_8vzc5tUsSO}_W8&_4PUYqthxWT`JnYqsA_^kTeZE@`v653 z4aV_;ir5a&$E?#Pv}bF_KxPN=)Z2O6%af>}^nwW?5za^}pQ}Q)*~lBEv7N2jO}lqPFrdhgVTp;u7Y0@F zqtUF~`o3A1Slk3Pgq{2-EiBY3ltJB!A+BxK+*<;sxhTcAr%d1q3>fvDBfPsQulItc zuZ`SMX4t?W9&^rF0+$eCUOpq2Vq;#)6E+coIFX;sUu7?5tlkunqAfmTseh`ru4J=6 z>m73LZsC-UIVeQu^-g9|7IaTe8#^(xYjZJ_5QY$<{xElKT)>2Xv9XWeNDS71d!?;q z#0ibjfe%9tArLY^9&1Kz^#qx*z8yQuRkzySbVxo|McMq9R0F-y6nWOkPNz~{Z z92ix68BueiFI}@RqJeuC-W(pe5KRAy?rOiTb%aA2x~12LbKXnKpegal*+VwR`UL?= zeoL4r#+LwtkA(i%Q?b$}R=U^|%`bv$Id;dX59X~chc4LYa(n!2HqOxbH`>y`O&5q4 zx@vQNxIJ-riB|XH{Z-K@+t;0PN=X6!to4D5nUBOh8Z9|6ig|L1TcTWw3q7`fz@DKL z=u|V%LZfl6uC}sDn01qR&H?sc&zGGTD5r&Cl+U`LQ)C2f4%J)5jaE8U;~m)TY2E?d zZNlh&Rn>PU|B3A(-h9Z73C%Th3Glt<=|}$N62u}sT&C&`+Zn_GA)K{@FL-_+M(U@4 z?_=IAHx!e14{{XUAK7v%6w(Uv*%FnmBfsGK7ec)Ufd)*ZPwaoWVG-(~Bg%R5M-xhR z7aco3zT$HG`Ap+Q`*82VIrIZgRE>|Uu(Pwk zdG!#8z9ak(*hc5RhwWY{&b1D}61=15`l5gq)h@Xz>V22`Mr$c&H@egD8nV;X=I4kQ zs86jKrHfG4<8V@?`3`63E6egU)0-;vNhgoxp0gB9hJLS2AUI7c%h~;r7;rwjJ62b^ zh*8EAcNWCf1WkBx_WgFv(j}r$DhVNeXfV~q(9*YAAPk}#OQcl8`jyZ(7}F4v^I;E8 zB#m^9Op12F%F~JGE$3ZL{_GHZAhpXct<@8RAWCK~N z0qBUW--aKklXQ=^2ZKsNSkh6}rMUAnE&M60WVmrN5l4FN-)-Y~eUQd2pPG?@ke;Li z8XtF*vZ0Oq9rhKHkFb*&HZL)FBV3r(9-sfLalSYt3x<`66hUUcqhLOWBI6(=H#ZLGnk^;D zAT)Q#K2~j~XC2wens2yI@?V+Q5+#gVDFG2LKlI4!6IbxYfsk!T12xu07=nx+Nm!r6 z#dJ=T!t7XOT8@KTf)-w?Z8<}?!G77KJ+!=R}wjO=O(YX5MH7TFDEU&;tUOK6MBG%cj| z_=!{Qq6=5^*5DH!k@W5(}5npod0q{6zQ|LL~0njhT;YR-m8h#1@zmgs8}QqwQW6jWU&p75jF z1b=j!>yzN-!=*EzOU>@mbGEhB@^_oPuz(sBZO!`SWLt2e{|c;?2cd{$$z@dfck%RoA&Mhr`rPZc0!^ae{@^@kAZWgk2U&V z-L}_Ia}7ed@`w+1_@mo$o39G0JDXU}Ypx$!t6}v1(`^*~;A>;+&^5AP8d@s|!w;0? z5|=JYC9t0rwj2E_E`NS>oA@clitA0jY)Wg55H7xX?k;iCZ;C2wjlaeR@aHvI15DWG zS8fix2VRCsX%FjXqZ30{UVjhFR-&zN`UbpqS6gQg9?LQ1b3W!4_t!1Wc)8?WK4&OP zghnf?YlbOBFW$p)iXWHHLuwYlB4XoE?5DHOs#Gpv+Uw=d?NozYq(<``&r6mkRF-})oyOx}GJQIAZ@PLLBx22Ht zAGP=-WYT&Z551g`!l_l~*T|){?rO1BF8zP_x~J$!8i#M!v2EKw(VqM zOl)If+Y{T)&hvc#_x-f@KB=|3*6M@qqwcD@es`wo90YQx5eZxfDI6GoBpUg7BM_T` z5U??vbb)J8A7X*z-5F76fvwKn;wb%*EHxC2JYEMv^Dc$x<(Q5K@*V@cw-KHB+6q$ItfPR1 zcmbj7T|p*E(*%URKQdrS_6B!AeL?ocsH&p%B~wOu-7L+w?}F7QkVTC-Qo8^ z@Us}i!F_Q!MQ+H}81l(*e9p1G(m zJ;$>>i+Hz;t3&)=JbQsJ}S)Qr&rsE_q%QRa5V+o;Jbul!8h7^ibg^BQh6+=#C;e>MBoS0vLWP*s*!AR)yLuSBc zK$5Y-l0yX=alQYj9tIp+R=%*p2tR%5p>ELzOWTk6(e$LPs@EzS+}egcOO|S1=TXhJ ze6Ng}5BZvss!nt8r=B1jlO><o{dc`s|N`fXcao8{CWV76Guo+<7 z1J5UoE#B2@^Lu^owaKE-_DWySFWUntu4${4|M!UC$XU#tCabRq-_JU5ZfEwu%$(;u z?KNvTmUah`H3*C&mrhK!?aqCu7F_^jhbcl(1%UhwS&_6wR_A6_>*tVwlZzax2 zn{{G~OHO*S^)|y!|)_+LA`l+V$Lf zF|_Vt-$Aa&^v|auBWM=cGvpz2J6D9&cbg~<83c8c;k6%G0Chuav6g_JuIQO+ddZrF zW7|NpWM%W_eOlib(7NdFnzjDT@B?d7e4z7IsMwv0yi`nARtsc3R@Im0a1n!3KjmQe zkXB!$w#RiQg|fFY>sK%6Io=xCv%YP!3(h+u?ZLYbwYsZ{8k$HWylWy_3chs;(kU;L zalut#+Rr$e&h;~I#s;sI;;46qB@YM8(~bIu;ak%a3}wT(UvQKv*k{o>n}*YG0xJ#Z z*;^VW(mWw=&{z*IfLY;9$?H?SMGeiQ#$r%AEYT)2tQ7Lp{phwS80IvUX&oi7cd`Jh z3nyOc+*Dk{T<+dYZ}#5Jwz&wXJ9<0GW51%ojN+6mA~p? z2|J!}G!E2cR;jB#P(voUBy)7I39-M?90k6STdUPs4~vS#azTqA>Vf@vL4yXjP|%%( zxc4tPg+w#Ph=%5op;gA2nkGgdRf}ggpd4e$DPul=h#m?2IN_f|p@1mwJc`X#Z-mX& zw&D||=o}6j@*0~>0bq8V>rw*X$tFyZu%tjZD7?__*&LcuaXdBZ>Rs|{+2|j~D6JIY zY@F#csSe5^ZpeN+)#b~E0MoE^~NCR0()G_ zU_@y+iJD<{k%yb63LQ^&bVqCil&AbtC!KTMpi5y^?oa&RJ`M%L^+25U*9jY1;7n|p zdTH;eOT!*CgFyXrZbs!#p_26|NHM zf>hOnK*yRLA&Q?9J}HUIy1-_A;dks^jp@v`z3N?=TbdJCX?p;VO&i<*3!4VBfgU#b zP*E#mbu-9H%1Y&J73k~-i-dAxbH~g`>A*~?cT!cq3QV&&e|kgl@9c>6nNzwM*~5i|=kpVwj0 z&oy!-!I+keusDFMrY*l~pMzH+2+@xMkYiA~>o%QW3jB|{8x%dw+~5^zRa9X_McMCXV!H1%dt0n{y5V+{T0wLu$iGhG$tXJrGcf%xx%~T(l?qG{7iWe=z*221VI5yf_a@fq?E5LqP!^4?%TE5-%P#RA{c;gtWe~)_5hw zi1~jzH~)H@xjGjfYA$e!UGZ>Fj;R$~OFVyZ*YaLKOADa1BH+{XN#dO+ zWpI_%jz0wx&Ekl#cieA8!IlE;WE1U+qJBH;{wPPoy(`qD^4j8~FC=W_XyIz;c+}@o zr)J-I%kgFBQ0`I;fur9B+aJdsr3qMF2inImLus4y$Ei|hVo6Z*728qh8 z$KZ3q@X3-#fa{`93}Rh(MA0x6XhPQA@+L7qsAh$#SB=1C;!(a`r+Be0$@jME8i>Sz z6H(F2zux$)?43l~Qt6;$iO4uPo59M#u1h<%acRUrU}_c4br>5R4H_zJOtUsoU6lh#*Faka3)qHczMfjsbdjf)|EowJr%ZeT9%uv{PZN2Cl~SZj!;ew6 z?<(i!c{}IWA^P5_oN>SWw}-iUO_wID9#k#9-k5me@O(oDqR9LFNY)eAta zQpt+Yff?%DLA^TCSo4&F`;v$V&lx~4LbQqqk#1k+gir(Y=Yn2nF)5hPiOGTo z@B1Z@U6!K{ob%QpD#6GP0pn?KW&w@N$Mer^m`(0elnz1!e*Dk%7%)X%v`#UBR_iVT zVI0SzVwlK@AYW%Dhxxo=Ct#t(sw@29d1*@U8$stmVi!>^Nr~hj>0Q6(^G9NbJx)%< zJ9m=xzV*b#Q z^>QMmvhpy`oXF+F|EHJhHM3g(IgMA|`R(N*s{Riz*NybwUT$9Qe|ot(9-@c;csaw( zb+X@G-(Ifozr38{-q4Bx7^K>_ms{!m_HuCuWub2#3`_zOa901Dm-{>azk0b+l$QU? z%hmfN0#pA_FPC^jn4|Q+c)5cA&C89o4}I|ePcMhG@voOVU>!XZzjs(eLwY3vDedw@ zQ(#^T&jC>GV)OE>Qy+82{(m4>X{>O=#lGL4T?3L6vqvduHJPmRF$23qAn3*^p`L>s%V8ZrMFx~eQI{oxisXU&akJ`XOMxSt1e1p&gUVv*VBo~3R8IJ%5z0-=gSzSMS zb6SHPo>v^K5mxU^&vNOKZJ|HlbYA1JGV=Y&1-9(5Fs@^WM-Xn93SHlImO%MhL9^G^X3ZwzX`}16@6YuoGa$YqhxyFc~ z%PoYOM$d1rBZ(j31X7qitJ?DWa<+CIra`48rF4!A zpSp&{84E)&3onL21J|6JI;D9Q5eg;cqW$M0vVp4j;FUPwl}tkze-{NM?!}P}+Z4JC zaX0KRB=X>(JFffuj|&duns7R$gWRyM+iz;6$EB^8kTvPjTve*z1~nx}WLjw%M;d!* z)H?STIzv-b?3NIx_v>gupQ=IJVAO(W6$$g235^7*--7ZexDQ4DRLM{x*Fm7QG7EK? zy(@f8zFs9l=d}9f%YGS^|J>mw<*n{lO4`iBadY)QE9Xa4_iYTDUsX7wwfDQ}^9Zt= zHqgNq_%tXrz!*x|S-L4{%aSV{@Vj>amKOf@wC6}c4dS3Qr~fjc|jQ+1KE9T*o*m8 zQ{}bn`1Pr%o)*5f&bTJ8!J#^gOp*N~TVy&AA}767IjJftwt)f1M7N)b1}h!}S_mbI z1@yPw&>xbj?W);0$KdW|${*Uos{y{`l3cU%%-5>mMKJ@GkDZ#3OmVnx0Agum@HCk` z(Bz~5t%#fDjvuLplNN-PG!$y8oN8i2d6F?(pH&Jfs4^+h*w|i;u6~n$qh~nng#aSI z+7vy_%kZrM3+xf%t@*Y&p(75cgUqyKj`)ilTXh^+i+cD5f2m}+8tnXZ&J7W zjt+Tp?u%V)pmvMr+TWXa6mAlyo#sP6#l03YQ#nRw@Fo%1S%luh(VBmsO$n_P0dF2P zU#TBm>ECmEe}m{VGmKcZ??ozv8po5lsg#!>IvY*4S3ye4y=;a*^Ynxo&+f3~*{d&! zE4d2yk186tZ}*(r3Yr6su}9;FD3vR#hNp@Lr>ZSJWp>%tr+96c3B3kW{p0=>b~hmU zum%q-OQ|ODAIEz0=RC+yv+Ep>IeLbzS;+(o3Hr%y%ruo=oKrbIIFk;p2VF;f#HVTd zdfalCRzkn=0_;wo2lterR5AKEe9ZUWJLdf{m(KVkyZ$A0&c^>m>XiON>aq*}C3Pg| z|B^aJmrj{K9rSn1$4NCGuIUh(6fe=}!Yr_mVV@00PlBoV_1Asxa1vPWpH)94AhV%b z=eXK2iGw)LcUZ@wUhaVBd9#`7**@-BW!qoR@%R(DFVn+*3R$40hnk$qNFUWw$|P42 z3~=bZVi|ISNf9dYs(rewhG0xJ0m!6}U!)0Cxgyyc=YCoMXaT8_jpM^g4r;bWSw9Uh zenL%e#xYME3?lp62S0?}p+^EGBLUxkwL}4x_R8zMupT~ziJn>n^65%mqxg@Xdz8;2 zd_Kdm%HpDhC%_dsnEJxFK?~GY$Y%vw1t8Y^0J!UFT-(RqjkkS4f<)2D-2tcxDyL?7 zFmYNWYy3e!E958IAB6i7#x*@q+r&ACElHwEpmKjO@ZiO7QV(K@ZZ zdU*V(F9eV3;Ie2Vrl%;z(>46WsDe^+92v3EkEDf4xi1&8CHUcT6eMxd0MD^-ZR!If zn$4_|%JAmLQ@I9h^XyPliiyNDPpn%lTT)L+;MdaJUguWM*VzF+!VyhZ`#(~JRoNER z7twBzl)!fF(<_0wu+=`o4A;$_vxEF#tG8$dznr!PL4Z`9XZl{dTjenOiWNHU;?_rpP(hqXJ zi!jkK`#dTbA5SsHnJX!8K`9g+dRY`Wvkp9R7lCj*B4YPgG53N2aXgSoivA)NP(+1I z#J^cLK(zB_Kn;X-v9h8YGvqj2XNCn8Ws6;gWC^peqbPO%YC0%}FbE$en*VoA=kQ;e zF8V*3Zu0IQP3Ld%kES!$`X8FkM(lga?_W(98)7}`2VE}=G3hpI?XE*r2fvjU+%ic4 z$?)5GLZlOG+9Tw`9*I>qZUEe{3@HAz|m-*F7RRc}J;Z z*$^-M+1`kgo)sv3sN}uP!A8}}1e;}oK#5jaHj%Xr*yBPqAxiM)SJg`I~OM0;0y$7m8i2qG8AHh0>^_DIhpa@V;jO4 z>(_QG^5NpzRtB=jF_Z^q<&>P|i!Gq9aH;5Q>0-0Ifex>3g(jurs%Wo|hToupzBkD) zhZ8ZMEQ5V@MOv51|6chdjbb?+z3`fGud?NWm$3zx*U1!Hh&*4`my0$LAcvIpqSjb@ zGl)p4`n@oR$a8!2HPR~)RCCJ<&A>)&PhB+D3Aq%5JR~5K8tG#nsu~yE9i-DyYZj_F z$mAypeXTd2OM@kPgb*dMS#W7MgJIBv37Zk}$o7LvSA+*ts&k_b)0Q{AU_(V=Rk(VL zio*oTgP!1G?;(tC#~Dy=LhY=B5q+5wn|TVP27(gJwOGqUHDqN+P?bR^wez`qWkc z=fYqjKL&iteqncQQBz$CQ|f|GUp5y;TPi`aE@@x`TKvh#?TOY>tys8j2q?>OQ)Ek@nc$dtVn(#hqPGVh4aZ`-^%^ta!x$E4zqzo!*$ z`j+aSQ;xmyQ&fOb5e)dSEg!xDs>ggs$@r6{2*;H>B?w0r0j8)=!z0B8@e@KQy+l77 zT^8nKf!V`e1Omn)27Zi0dP7-n6%yyA&#lXad~PL>Q1t5BN(19*+`M(>Nay!yf)u11 zi~S(P31o9z?@S4dV?Xzs%tsKpE=Wut)PzY&XYO6LkAAC=o8TVxriDmZd3hB`W5!gg zN2C_(3&g)%OYH-|jM^?0s~lKu$c4)P>_l(qJ7QkTzgz{|&XdJY@*SrHJLW_0L7{9! zQ?Qb1C;N#O3LL|mlkhRfC{7z`+)pA@53(UlF%8lia);IuAAr-Jn1=EzR9w5p@L0@s zM!3U&C-jO@vv#11%M_0$)?t*m&3gD~8r#lz_}Rgg2Vy|bCg3eE#2hq`XXB@~L1(5* z4!B+Q-0~kAx%2U~zJIE1(npA^Wan)%iZ#=LgnZNFhifv=f;f?s3HQM5Q@%YRiR4qI#ApLV}b*8L7?8l{~V@%o^w)|$JNc_^~-^6LsN_=?rAK= z4^@qI8b|T%N8F~;JSJ+5rm8%;1HW%e8N0=g%01|eN*fYeq0V~C$lQ(1-l>Xn(Z~Fi z8W^OW$VMz@*Opnch#~}tI6$;2Hel|n3s*8&-%s@)t2(kzp{!npWCccr%q>$Sc7N)C zRTPcHAiG~iIPhwXvh0hW2tfMcfp+weIXq(S7-10t^U4fYfk2`XGSqJADySP`J6*Yc zA(^bwaoDKCsWusAfW++f*H0!YzV}(`@j^+PqjtP@8va)JK(G@+s;4AR(d!!UVyd`5 z?OJCIFnp9l0)8=vz^0Dc__L?k_=LbmMJt1yggi9ftEh?mtX_`c9kN_6-p{Bmig)C zN7@9@)vX5{tj{_!`DuG(AXmO|SjQ3#+)eRu5d(&ugAXMWr$1t*kR@&12q4@79K#gi z*!W66zm<`*?+eOT12{KL8r4}1>Z3ii;Xw&V3Gyxz!)=CHi*>*}05P298d|8QD&QUi zo)GK4C~Jk?YGRoaF!L=9nqPQih1IN)Kn(AUcQ;c?Xon~4GA=SU`0_Ek zC$XMcW9Mq9NAOqPZ0Y;~$OSTEA1{X@N*{NHs%&Vt>=(_Unt>XGgMocvmw_*z*ClSi zgJ2k+qrEHR3Z!%ac9}Z^g)^z3>VrM1&~v3Brn0kS-Ac1^b!ezub!AC?LQhXC=MYy%3M!*$k<4$YG>>&ohksNS;*$#@q_?WTIpJZwK6}!4%DxsrGk&*6IghI#i z-Hl<9_G!XiCyL=fhB_j-^ClPCPaM1EKU8yP(Lth)o-@T9+(|wC?DZqYHK<_KH~}lZ zAgh=Km9$3nA&{F}gIs6sMS9u-CQ5_r0EudF{WTP~hR_jT0N@5O z&}k&thkF)ZbA!PfvH~CD?fy*Q$V+T%!2uy48R8X<dbl{0Fd3KFLzK#BfI%)Cfwm~tc zXg}QMrxMhtGFgY9Z7LW>j}RY!s2ns5=FKUG3uDuB)}~)0F)-=zgD3BHz&Ih;EXmcP zDxOo}lm#k;Lp_6#zJFz15GC^*$MO}w?NU9Uu7r~x$`scyGw15}mnrB1C%r>peQN2i zFk_)k`Ff3y@nZ$)z$*LCwZw#@4VT0&$T)p1r1T}@fd=DYJO0ae$k%IM+Nvuoi)x<< zASDLMngCz|SJb}*B-F~mc|U@VnQq;;e`Hx0`ckV#ihRsaCkm#UUQDrCxm`8_D0q#@ zs34kciZr+mbWZhN)w+O?-?MDc$E2`8B9(|?!)RFV>o7#Yv5eVJ@L7y-UbA5DDZp<& z50!!=@X|@-iz9O-(bE#Wje)`Ypd~?^@pw3J`i=2J#xQroJ{p zmwu3T^wDMhnCN2AzPauw<3@=fgm$cEu!eVS9f#AJZM)-lNf;5Q4P4^tCMxG)96|_nYId zGMJ4RxB2M*P`#VU9v7hl-GzI*x_uS|yn+eMf2dxK&gHg<#GCn$gUNqWJ)6S+qI$bZ zOhHUGXl(g=*bQ})vq>y*?*IYoN;fL0O#8xSRb zrb7QNxS+w)%Q_D&btU^gvcf_YboF~OsgSMlB!%_fh3L7lm!~!U^)eG=$_#^83j`&X zI$8Hv?)WMFlJGJ9g2#jj`yyDR!T^}*<2d0y4jz2<!ivkgSQ){5*Ad~DsFc|r{PUSKLqK6)$2ZsmuEqUo zFV-Jddr(NqqdlWu8vfRLH$w@+vE=qDbfCk(Cg1?7-&*eg9H8K6dTS=N4v)w}Tq!4i z`mOac*k}3&)GPnddcL7@F@hKl8gaH%t( zsxha0`~_csLRjhgaotmXEdbNAhAJv>Ku~ZC70%*sUSWpnj3&4dk9=+}kpC`}zP2?+ zZVOg(hTa7XlK)PWhRWNau={%P`??9ssQ4^-PRpCzZY2DC77%z}*8hCH@_Sj%^LyS$ zOnWd=&f43L`aIkI-0%55BhdB5k$5x{&u0eqm>u@yT-G#;w{jW&SHI-l(aiQ7-ES`^^Zs$d+pB+1N%(fafN1ST5G$PVb?eget{&4feNQm1VdLNvP z_0gJUW*SPm^ZC|MOSA+kA4__{E0B);c`3RZCTF_~e362od*aU#1`4nOx3Y*MpftwLBrovd z^?nbgAupyN(3nst3Q*oI$hU{%m&Xx`QErK!nmXY7{f#^gO`)JS1z#yyklKmOL zvJ|8S6ezx48FMJQKz@T`KJ@DZcThvK6npHclxcX$TVnt@|A^rJDBQ{9FTmu*ko!&*OPr|w>#<60aHIzenzsU6iu z=B+-mO%5v-HVT!R7fPGDLIEn~OLqR^W(6CDHOso$Kg7#5Z7rU_JX(Un8k;>F-G>mb z`mE~((#*U}(7^lCM(4-W^vv={fCAn2|I&nU_oM1`5vJ)}a9=onZkTBF7IFG;S~ z!;#6F;`jV>oyZozK}_mzF`9!)g#cnlFG&<{i?D^~D{4EEh3FNXSUyNQRku01%P5U& zH|73Kk7hA$-ECX=h?A>2!!hzq9U$=#Xc!a5s4w(_3P~XzdkNQ+PLPv{u*2~t9;+Gv z1h`Wk#oGSm6CekhRzILMoJE7Zj73OdxJW0C?80XFP|@$ z4FD1Gv$2DhZe%djq%(prF>o~@*iK+6Noo&7PBKhAqE6{3jY~I`p*w&r``7NZj+f=( zj@(UzLX5@R%&c$@;)HVH&{y{{9D~CwA zoi!b6k6GCPClJIGi0ir0(T~SiCxW^KzJZL;Kx9d9i8$lkZU<%s3du30Wk_?^=L)j~ ziTLPf90 z&zUa8QHZbK!8r3IM1?D_jU>dy2w%`srN`M^yMb_^BB+A2OI&Lm6%lRE ztrkat&J8SHaS$(J9bM4>?KD<5^1*6_d7FNp9z)bAPc zKhzJn|9_!=*)RW-`nmtVQ@_{$P(Q5=9IE>7JDFni+yB4Rud(yLsbBoR)Gy_m`t_QA zQ@;V=Ehys_S@NGo9KsSC6ho<-lE#^`f%F{-qpVqI8K$HO7VOkAPY^qs=|gCnHlVIf z+4n1fn^miu=U#8k1{_wd9B&Ly)fqHvURDEXeOlhbvC{M~p;A#2{llrG%?v_Dq1RBO zg};sunJV}U;ZQxf;$bE5e@CN@En$?f2-WcAhG``$x(R>lp_>2;?Qv}fTJvX{qljtA z>*ne>?(~a}lxG`lLdUv)$A_4#|3`CfD0?lmTKBs-XEw4rg}<_j-O&hWX>>C%GdrJ} z+L+o}&C!iM+b$!8CTfB<0Lcf<4S(TKyz`3XBc8%MKR?VZd*glO&ALhkwGlLgLuh`V z>817BREDt7jr zgz(cz@xGk>T}N=%Hngp8n&TbM*yI(8tuJNUi|+X36&Xj*9XAbO&dGOq4*RwpG&Xnr z+6f!D3v#KqZmHMp{VITssfz8o(e4crp#HR4OcnX|zHFFz35%@T{g3_I;e3J~X-mU9 z;t$~6{)YwHXM2q~Tq^I(cO9@jeXzeE9sbOHtW#w9ww{*1yWg1YZwHQg6K&?q#_RS( z9(4ql2UPOU!-RoI2*D`5kdA90`}zpT+Rua>Yr?=bAO2y1<81_FN1l?ix`=&EhZ8l3 z7(v=OlryywE{L1Yajr!)uNod*Suk~K2VGc>hS$|?In*6tOttHCR~5*^FM zBJa;wL~UXvJrtyVG4QB`2H?SPSAIbJ<##e(*e zafx06r5kVmV8J?7fN4iawH8yQVdb#I;bqyrWU6i|r4W;Cj6Z=L09b8njeVa69o|yL z<2DX<%iAWQ-?jI@;`>v z+&sLY3pPuR+*KZ_Q4KcB-rGt>;-=~K%`@!f z$Ax&fR!_GhU2iScWV(`)8hmN!Hpe8qKxn241H_pZ<@-uJbB&;=I-%N1k z%ma`0@w`Y_HoHw#&6|ZKn7&3%Uw0-o{9h(0Ms~hM#X$GM5Ou3^~3j=v6-`8{e4md;3GGOE* zR@_fG-gZ-O*Xv`4FXc2(!@m5SGQ(NfZzjm%ydin;*Q8JHn+euI>9$!Ik-dI1!Tivg z_G`|zhnTXg?pi;()wpOe z1>H%zTsFVS(h&Rh!yZspUvU57CU;voXKiNZN5cy2yWg)m43m=t3OK%q`TFQJ~Z*jAmS)Vg@t(S>=QRq#fAyO|hVa@iL3 znIzU!nrH1xKVF0sOxb+Wr%EQiw}vR4CSwsvW{8iZrNbka!-rAx(^N08#^aA(G=Xnp z0=nC0Zr@!?=!uKU)~qnm#$Lbt?Lp<B3PV^s5TfpOW>Hxwq9R?PIatZFCRvaT?L_siHC*N_9#(R9O5Vs-r|NVcd(Y&>quE=; zaf$A6Nl0ouifPx|=wLi8F~QB@?GGm*6=?MX88nJaPMHZsPHpkKE*x4AaD3Wy4T58v zb{FP3UF%8hrGos3GFO3(!(K2zo*$Z-Du!e@WJh-RQ{tp)FHa z;&9luAXfgDpVv`)ack_s4dhxnl=N*(90(jMCSl-SgBdA1h3ORN1nNYGT?)BohEge0 zV;QVao*h29d2|9m+2iF4N*&=DOiaEClwSz>4%$|x_RI!F?!MHQx#4IMEexjLi~ahn zc}IHpIECpK3+MINu~h1@RA@<2J}PX=)KUR~1{oceB+RBv0F~vQ4nukkJj>rpvx9+0 zOrj=jRG4(*t{qdn3%c%o^448?cT+>})dtTFLq7)BK~h-talr&Og-hGH94RaqC`TT> zB?r%f_a)v4W={ZlQJ9z6)T~$m)hHg>-XnUITj;uoEx?J|VY%sTGv#eF;vl8Bhlx}7 z`PaLB8O&j>s-l8Z<7Z|fFgSG*b6G`Uy!a5YYzP9oOEE7owxXzteoSmj%c#V5NX`}s zp--BNC#?59KF!nQi@DItG3n_|044m>r6o7hd+7UB!hO%abN~e7?)P6d`tU_;5!)Qq zQ$jzLulIdI;I@ZXF^|?QuURs%#e$>_eChZn~ay6Dd&S0LUq+*J%r9uyJVA4%?AA@ zS}nH=B(il10j9Tpr#?1U*qua%^-H(Au#MhpI~f?2A{hON3uG4Xti8g?q3t}=Kisp8 z7@qo99ukb+*w%k2edkRQ{ITX=>#OP36U6Yfd z-Q4g{FF{RLH(DGhVOXw)Kt5HC=bs|v z=mBo_lC3tHDzkIXJ?{lx(r583!b9{ql%t?kzmpf0v0L%Wb*We?cPtn1M+KUfVAVaRwT)vaDH;zZ*LRwrAY3@)=#6#+qRyh?J-5`PwRd59NsCM&rk zOSqL22~_XkGdYkZ%^7w1vH^{~*;Y{Ml`9PE-b@W}jvP7YjhCX zMlRuES3JbQO4k7~l%~B;8wfKmMqP6mEX`sapnOYWe^fDcu@SIdAp3c}Dp9vz8e6!7Nhn_x<9<^d-2oq9qW&E&F>QeNKXIs1pauFx65gqhj6aWyJKmyu!P6A z#VN?rsX-UWR1*ejT73XbYFQ1{IX)oS@D=y|3hSQN*DldHTh-r7@e6b>X%3{#=>6H$ zY+PZ+EcJU)YAh|XRCZm6;dFEjD@f{eM9Yithp|T!gpG5uPiUBeaIeBQXCy^KdQgxn z$WQTX#YfB1npTC;tc}U#lb2tXS*pMXs{QmUWN|gSriZMh$af@__+_U{k96 zB^>Y}plIM}A@Z?2*m70^d))}$YBg`^vQR9@0VM*492y?pz2Gk%DHzg!4qlE68%d#z z1iu!GYSv#rXPW#hE2y>xC&2gyySu*O5mXvz1$cXlXK2y$)R*C0H}r1ifRj-foZTFd zq2!yG+$s@1o?`cu^;XG&hCn__*n8|t-3~tVWg5_XdzJ;!$B8O)rSPRF{u`GF1kpPs zq|yUN-`5qKe#L3i>`K^DDB`MB5$SA{RTd=e*k+O}b%$?vb^GccJp`ZrL04ck=ij{^ycZWw z6VQH4&?#TNmWa_y_-pYT??_3g${p4bxWa+PC`N|?A*qGN<@}%kqUHkVJ_@EPdwZqe zgzsX50eI$i9OPk0G!JWmDKV$5G?wmA*g#55nI#LiK-_Fw?{2>IxS9+N#IJYZ4@gE# zL`LDr6CgnwuoenrAOZc#cdHC@c!oAN)i@B;2bdwTJkxlD;!yCXSO}jV#q*(R6JAR? zwf$=$N+QD~;l;zvrhvaa6p5~ND>MV9fyPnm>GI523FYC0Dw;lq7N}GNst#*n?EvQJ zKT;aedL6wdJ$qgNFP^;)z4gp|A{>3gJpB}Ii1Fj~!la~|y+{Ra#soWs-Ca54Ipjy7 zjwwb$UBukS8^q&3zbJ1UAJ*7``NME)mzM}bcYjtGA~qMjF(@m*nh5;q4X7mAkKzAw zG`IPaW?w=%5Jni37RnY;;ClY2dc0}9U$>TANd1|M@xoQ&=>s?GDWBPb1ni%Hcd(H_ zbS(#1^p;-V;ph+h%lV^3ZK}4AOl|WvaD-UW!|dQP4XEWUkJCM|6s;_|6amxP+p=pKj$3_J$?eW)T(s4H zt+($z9!IVh(YnUfB)TO$Z%~_&&;L2jJ zKYS$Z8r2<1?YO0Pdura;+)t(%avk>Nd^+K|^mNd z`2I~u#=g#9zxp^v`AC!z$CJDvY&3w6f_oXiW)Jz8@Ili0MVyj8=GSZ^jkKXkPl38o z23T1n-B>4n&6@ayTNpf+%{>v@6Xj;-xEFQIZpGyY*n6!W)l~-aRj-K5aq&TP4QvL= z#uVJF)Dc85rC@@^$jSjs1r3>sHu*6)OhnT+_B)pXCnSLbM27LEazh&?{)&)!oGWIi z^GrT?yg*U9>hTTc)DrejY1^)G260k$m9Y=C{fKm)6BB-RoNAM7YX`ztE2bb&qTOc|5#~_Scg6IP>&&C$B zR)ZK4ZU6=E3J9EZS@^*zQ6KX;(39#GwojHe?<^bV1+%HuUV)2tVRAYa?SUwf(KN^zupH!gwG^m58d-U~thpig#klg);h=RMg zzKHpnHX#ksknuZDGdH7Lsei&H*ID%EnqLX#nq8z`P)e#fEIEhk2;BT5AhLf+*n6A= zpX_#$1Dk{u*g2P-ZX8dOl)QBUbw?;z>jEu{QZ+N=n86?_U)o{Va(7oy>Meo_0;G!o znP39wLrw2@3OY3^lD#*nhbq{%DvHkr9fDlY=Ng&rjw2N9;u4sV*&Y)60QcFOUMQeW zjE3poUejXt#VMn=JGfMJHbOqOKM$La3|7Hd)+qR+Bsh6pf_JHd;z{_4mv&pt1qm?r zG3p?i3S-g^3JFF&rU)tN(}|WWL5)FOn&qe|&zs7X{TIl2N0Wow?39&8q<83`3Jz?Y zF~D~rbQUXdbHs#N(bC3nZP&q!ZPmMRB5S>vd38rRxB>3D^niRTRP&pCUd6HaJ_{NK z=yCsMe<;`jjXW-pN8p|gNx_MjY2rso%l*`Ei0NWfH_1TyfR{(-@DIcsf^w!YOt8U2 zq*nX~Vh&$ThydE~Z0?mhT1Ak{{G1M9M^5p5y0eGO;%raxrP)XVf?8=V1V%I zdd-}WS>^P*P?R&~E64E8QZj#_>!m15 z4Vji-L$iw4L`}+p97;nvD|l$9iZAm63NBbFkOnwFL-f71R^(}dU#3D#j&L!Jv1kls z$#fXOb+Qg7UT6#*)pfoyPB?i#-N|revDwwXU}!E(s!W`|^Ei9`KY1{hL%7s-Yax~j z9E^&^Bao%iz0elHB-nWFmnH+_9?Q0v5mAm#t?{C3%ZwaNtQ8&q3hP(k+On<5$zu1g z3&m&y4`A13`o8BucLD;oo_cMUEor!YbmfNXYb)J=_N(W2ya34=poET-qFq*2=c?x4 z6cY=O-V$paV`V_kZ~2{En#vU8v9eC2^c-BRu>ftFlo#~M31?VlkWz%u4A91e%0<=% zay%EeT;cCBR~pCji@Q5+!LPOpnW%eF7ekLlfA*%ek%RZH6`Q;}Sl(JvdTfwILR#)! z8io#y8BI#=_P~$5fWUfAWW6q7yT&!xk)G>KTk5r|I8Wcq;^tCsv}hnQ?I4alzBSEI zsN~qt85AcI@1F=CtA*EGvuA!Cb`LYr5V#lej45=vtHpT|=Tx>yS`wOJ5TdmSGM@Ub z4;~h?$H!x9P=DG0_HK=7z|b{yzbq2w?ZaB|RJhCz z%WbW^_uGi-Z4+_!R+QXbsD3dC;B6}Pu?5zWuy{Tkr|jWqE#t+Z&ofI@{7z=fI^U_R zXuI4L?T(r49foV4k1O8|?&e2zZ!QY7MtXt*n0vwv(iOM@tQoif#nK>5*)dW4Zk7>i zkezVer6T#A^(QYTWwzsj@0}Hndy-=5&ML$GDhjbXE`Z;SF6m1pitsGnDV4#)DH`E>UU5kww7ixE*C z5~b|{5`2F7T73Jx0j(F0|5oVMg|2q^;o$CYpRPE*=Dwyq#oiVVBp(08*o<{p18^&U@#F- z+`$dBjBNC(Xxl;T~$GifKbscbR<51m}Mt^c;L=U2X|f~w2ltex8%WtJ0$$e z!9w<4QYiWGI>ePj%1Ir(lPU>EjZ@rlY0}s-d-PwOEe#0{S03+@GBkU`B-)l=)+uoOn^^nEDtIb=m zU;CC1lY0}x6T-!qX^qI$BFg+&aP{dUC>X%0>T%u;%vTe`Y{Ac$it&3c#_w&~>UEXu zdoF|3i;{Iey|at21kvuf98vGBV@+5%Zyg(A)mz875&p|gr z0&a}3xx)9C3>yKS+G||YS8NB;kx3^UjVY1@7Dd349cUrxv5`_?RP2}_*nFw@OG^M| zHo;683K)S@s#h=y)Cy&EP(E^Dy?32G1QAeM|&jn zMP{>4hP4wRpQ6CRSx{F>j{%!wPBm6QIn6Q$)}IpM$0sgAJy{d~7O3`in|DMPQH5&QQy6;T7rb z=jxrYheO#gBkK6s_=$=*oEI?eEnsw8AouXwo*^CDFJ;_Ah0lP#Q3j5X`%NRf53bqX z_Ota4C5a7!XOFlEQG`v1s4oT;=dlD^8+rNj>@|4XXCnibBX0X_g0U=U+h>!V?k|LS z_D+a!FlR9$N@xdlb{^<4nD9AulsE&ml|w;XvR7NFh*dAP5~qhRf@9NOBnMx+C>vDA ziO`G5Urjvz_={uOd^Jtlo-4er9s#*uEa-4Duk<3SN8$39!BIVg+`9nxr3eq? zy;no5dhZpd@2_8XcY9v`_P3#z?c??v$&&wE|5`F{krTP|S99ybxRZLe;i(y!vdFo( zSNVDJpaxf??iCXp`t5YJY9)A;1g}!y@5=q1Q^6v0lgMJ(T zxf@r;+aF9}6j59WZXI3EyE^*uQz*Sx@c^UtDkdXpuYm{e84upOmzR&hX|It7?^zE% zzNLPYgnk7cToPUwU<-<#SO?gGBE}ZnnB?|N4&MFn@#($IAwPE4 zUsVpTTI@dGYO5E~YsW?N4&$bpIKqUZo-^oK(DWD)cgi5^BBQK}L|GR<2@IyrKteEx zMTzO0XK{>XA}1TCs1baT;`Rr`UQ!iD<&+d!JDds}yVQfB*gO N{{ur04|eKu5CG3{cx?ax literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-N6.json.gz b/src/libxr/pin_data/stm32-N6.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..84f2a54038cc5d2a31e267d3026a6bc7bbcd3be7 GIT binary patch literal 11958 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
V}!$v77X;8XjG!n{2C?IT# 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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-U3.json.gz b/src/libxr/pin_data/stm32-U3.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..707351ef8a8f660692f76911527721b6597aaca0 GIT binary patch literal 19378 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�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 w=wcpZ79 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�~(py91|2bsw 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

9Z@;KNQ9LPH`dYp$O!HbL z!py#EquYcX#W{154q~*R813{3neQ}}jEppAeViwVI8Wd>4;2CeWnldSLj5$*pgv{> zmSS23EeeAT6s_tVkGHR84j_o{ho4&Exsw@Uj~&d6W8JFU-LId$f` zLg7f_zbBHs$9C{&@ zyJf-&b=7qSr{=I=3>XH&rtT}2XZTQ4Ujynh31uIaVB(2@L~&)h3F8@KmAkX`^S1h0{fV!0S2yF0CTI+lYnF?2_VR$_pT5C!x{;Y)UN<+p>Fv`vED_E9L4 zybYyw4}6xhs-t0A2C?^AJ@Y#N5}ayRG)mp~ zMnPX~<^3_7sr5uZBI0KQlxmcq-^T?s0aC5=GA7n;Xo8b*2Sh|V1HOhZ^E2pch)>7m ze`duP@%FBlaF{VwMX66Uk0y4IB?htxkx2KF0=K@$+r0*1^ao*w_CL>g#XUnJx(D>C zce8tzfMuN0izuEO#8H}*r{eiQEf$270E>5Kd~1YW^$22B{TK-1%=+_m2vyem{{e+R zd!MRNYJb`%`v$Fx35-uBNLkQjS2PNXRMB?~EK)k(!LLYNe@DL}#rz$)iY6w{%Q2M4 z?gkHYylS4O?BGlc<`^KBMqm@|-phX!q1d}>*5J==*6!0#QuaHuJ;h$SH}Xqg4Rm=v zO3Q-V{|M9S{pZWQ-|QiHtNgJL$?mx0c43q!X^>LSz~U;?Vc5@&6Ms12ac&&<1K|rA z()F1d=iUC*KZQw)dVh51qK)$_3Ge1y=Xc^DHwV7+JK;FmjN=0TbAJ^0N4r1nfinIlBeMA7$XC3zY(8?6N?~?8#dWB zflETi125l6*>8iJ+KAz^Bw6J0&-rLzNFN`mqb`V&(Fva*e;HSKBR+`NAa=gfsU4!* z8+uVJMNHIW1gZ~-zCI*8gUsYL5cJhKxhdv>_3kGOz+9 zt}?j@ry?+B#mi%qTH~c3z#(dlPrjwRqD!w@sH*kzI-S$Zp!deU3C311bq_D8z6T#l zJIP*RuW>(6L;OIl3y#2hw7|6z;_xkSt-J8k5c5W4iXq#L$P_PF3WlS&kvI*&TH}b# z3zPdL62FdnmXX{ujtMs5acSDiZStX`43RHICleg1WxYl9${GHVkF}|WSGE~JZz1as zAekF>GYLUeNTYlO;bbcM)1ePLJ8Xv3fN-lI3R`BSISzuBKhKs|UY2O@pVx;|Mh3pN z8PtyUqGA1X&kC;&J@EylC7D4E^7Ay8Z8Map#Upn_0UabFV6hgB$yN9gGd=;KS#5{; ztsx+8?e4D5#a&r{C(Zn7-yjY8v;AjCz-tEaVL|M~>IZSpHUKQ6=x6;vy8v(i1MQ%7 z4AXM~jXZ(1gGPSBaqaw+tdeLP&P%X{sokYvBYMX|m7ysaKSLZQ%yrA|ogjGmr{b0D zfNvjO@j-;`uSlnk7Cj8-B^TT0xWN4%6C?H(e%1NLGmaL$vVii79NxwQgrmaU~ zYu=yNe26qa=8FRa14#O0@(6Gqznw5Z&MA;D|;<_CH7pvJHXVi8%6dCpZ*W+ z;~4E(E+6Id-S3+RN(;953|u}A^C{b^o#?l)$v52h=qRrPHtdOzCJR2H=fpQxQ4lp? z3(6Q<@ZIx-3Ib;dJg4){_gInFBaF`oY%##(QI8$P)3Y{Cc7nj9T8YAHeFsLMDqLOo48y zxrg6?Z^M$7M#nPu=HEec6;J}83$E*k7WTT~$a+6c8{{B<8TX+)@}YwJkV{z(0P?aZ zA+L-P@`&^Q8irX7u?)hj(DG=a-TFtM?tM2|j=c~N9q=m8Vd$&zbq^x@45rsN+IWSB z6|zpnOh^={Zbiz<<4!*yr~y?pnh-Kq+<{OEhqXY75FJyAA#ua|%Nf8!sJ}3+f+o_w z5sM}eRz6YiCUBsir7K}otYLwE`k*99t{;oh`*HXl`6)i$*>LgB#>P98irps0p5FlB z(Tp#z5P7&Cnz0!1_g9$Y^EH6uphj&C!Er$| z>(+i>s}fjd$+cwp7`g>C8xUSdH=|EbCderRq2^eW3CcXqPdErftEy-k-EvUTj_DjM z39TL(G=~9obqIQ-l#1Mp4Xwbp)t0XE;w5|d2Lrxo?F;kPMA^HTP|qE++p2}wX&U&@y(~#*dd|XRnYLX)7G2X2HFHd38$2%DtIT@Fx>%O^U(gmt7AmvY~y_hz_21H?TzZ(F@5m?bbKyo8L zltn(2a~~>V1Tq_!sR{AmRy;Nx;K_(HAHb7^rfMg-n*!_%@qYp{6NZU~UiMi;Us#D9 zr2A@!8B2Clpnh~W$|KBI4-y~uso;4#0r&)1o%@P`V=>V6eZ#@DCJ_i&lxoI(Xb3k( zJ?48Z;Mlw8UlKSk7jTFu3TzTXf#n2(&>hRZ6N6TJn2aVm(KRmY-;u7J)A0W^NcbUu zcEcz6j{>}d2Q+|rYq%MU&{d#7`{g)Y`@~csHVq*o;YEEJKGI%HjW4GBBoM8TpAHri!tEt}=p+0r)N=ZvyyTO$^^fu)SavO0aORF@Wi#yaio-fYAT@kCUDihXh zj&Q0iBbLFTJtvmIp}nBFQ4|`lXGTei8O4&O7!#%8O(af4^N@HZs74skjAIQ8`UCp0 zk5Y%#c%g-#=^N13e*fMQyKGi!`%lFMf-Io!9(mJB6c^~A8YXQ7bb4`A=V^P}e3HcK zj&95mW~~QwXf=`Ou&U632sH!tV%~yjL4^&>xtsclj%A$;%>7QFKA7T1`Sc12ln3pz z2Dn72&|ap}Y!@wD!ZqfKG6g!hBErUyt1TF#oY$Aid8@k^a1Sv@PGoqg&^K6?Ie9L{=<_`ng z2cPz3PbXf6oFHR59!1;fT*rbqwBlQZZiv7q6Il1{^^8CTn2_6&-c{%m2d{kiVczG; z8=%elSAC2)6uI}zJ{$rriC;sXK}P8D>s=twR7p6A;EK&qO4;2E5XDK@m=Z*?nniR_ zVrXg)#9cvySmuxDfx|sIs^&w3<#f}K#vCf+>Q1Av=5#m@&xA6$Cx(TEjYWvkOgFC*$!w;s>O|i&F=-K3+{WY$-Q6!KK4C5p( z0G3{dYR-R!ZY2(pH3!J|%NWM)0UYaNjXB*f89J??-_bVlm*F#4pmOlHeTBRE;7FAd zDgl3I!C{LvHfkwCFC>8zDuE9IEaF26`&I~bi~V#v=?$PW?>!zMgEWNJAf+;IinF+3yV!9Ab92hF}`>;D+`{>l{9G%6}Bn)Hv6 zpgVJpiZ~;ifWI6<^~uyJQhQGWs6Lft4EY;3a*eO{cz$b+8DOCW!4DTc1sVoHP!1N+ zL0m-}UZFnO4^58Yt;&pLLb`&RQGf%=o+t~vc_REN^ssdGAeuzhMKhBq ztnvzlwg|!*NGXS_Z{k*B<(qztCPT6(o!{L0Q`Jt|#JWKd23n~5Gjnr)c-*-!XVlmu zdNISB>C+uIX4Tonik(~nV^uIcN_Pmq>8Ol=OvBhi`lnwlF}Lv#Twc84juR_ycCrWo z^wMS*;iE_5zTRwv^)LQ5d@HpvA89_V#|7v4L+PE(B1v{nXQFgBU4pqoPhdf(mkB3g*!q7afHn+0@65~ zvpdWj7B%T;of-7vwhSJ;g^Z4OD!p|Mvog#Xz?4A)vL>)2u0c%&$M1yG*Bc#N;sEFh zo1iFZilZbtG*ZeOxJ#5Z7T6!zidVq|tB3&w^%@=e1$|}bR#t`Afw+W8OBo(0B&ga~ zu4?a2Wusdll|qG!0c5#Sp10XE-e%vwzk$Bw^o!37LMzs|WB*q*a!~lE^pn-|MpSnhSQd-^smT%NJxLv`iv>O-dh2rqO0o zeJ%?-Pp!3wO}bd8jB0o4c0-t*J?6etHjF31xNqi$Zeb%z0k?F_#81uHGj>4ktZ@eZ z`ieR@OYklU-j#vZGy8gsH?f~?1!UNvDDlT#%Iswsmw zTtl2hH2tIur+5XzzK`zxh5EMbPmRQxVM5SDF&E0{Rg7+OR8wr%ceGvK_3!rW^q#fT z*0xUrJH2P^wEK)_r}vzlcAubzwEo-w`!7HJ{XeR*X!1;L@pumAP^zv0Ze9KfJ==Z6@_u8Z>>Cp|2tcc=3h>8Fdm zV<2_K(-CxxI}L?qLrO(Pa9(vJ<@eWCXp;wp2`%RE^#ofJTt5px-bB-{!nifz`b*<* zj5bC)p*4qbmoo0OGB;QT9m^Ta-(}&R&L0KfF=vgG06faVCM0(|N_1bGbT~krSa5_v zHE=u=PuVm_Juk5sv!5s=<#trxW=zRsD6YUb6)c5yid|CZP^Q@c3Vn)QQs_{o#Q=MC zS`NU}r%_nD4mgv8m`X7=P)Hj9jS(9qcaMdm(2q%y^dv=YJ*=`#bn#2z)?^tD^s8u zN2#=QZSoq#eIVf62g@ZNgYfS9{6@e|yZMFBQ9_&*UoJvDE1!*4(6uE*F|o7yKHTw{ zc8&ZP0%oR~ay9;1Nw88&h~KO*IW_2v&{_8b;fzV02y8P@H_%rGcyh{vj6On(pQME<^j*XnEPSzZBRHoi}TE8#)sDa zoMS)Bylp)iARNHMyUI8(Ns!ctFD~v3>YiClQ9At78E~RC;REZKipmVQP(to#E_!tL zfk1a3EWLaT;Cr6MaHjM8xfGA*=}>d#Wtu#_E+jroZ+ld7pBC2#_Jdil?S@W_c~Z3y zmOi45X0S!a5n_y!Kg;8KjYv9-gM4|MC7Arjs46Dsee8UFW1eYcI)g^CmPEPcZ2JlQU zIVYk=wzvxVkHO1i!BtNJ z$v%_IMqZ9c@$R{-L2Ck$>bAo|=1mac%M8y60yU8WKbLy}(;nM*c%eEN8KJGgAYlAC zZ+y)%5Zw@14H5tDa*q$_@IrOiQt%L77jAp=*{Ji?Mr^h*Az-2*WKg_+tu+ygpO$)m ze4QFehTHaGr+}#^fS6bIF|YR%W+Ts0t&Ll}DB-xDQctAp!?ud;SqQSBtu0{WTs5ac zWgQ17cd1bXbF$^iAl;dR!+CHZZ~K7c*nV$Mdm^Za$WymKwlS=UbYtotBzi#>nLB|a zyBvP;BI8l^i#%EQZa4Y&Fwpg)OqzhWsG_K;MI73;KzNS9)- z0;R^i=NjSVR6GY~0fhSmu^L0CE`dQIYN$(KP>2%j(j|2%o3hLw23=kjufUO8mPvC8 zmkfnw8G#!wnf|V2jD5G{RP>h-_T7?G(O=yhu^1!KEWz_hA=TXj zNHngk!1GD8TCcKH0ivrs5!UxAVS@1L%L&4(iht- zML54Jjw-XVR2d!eh;Y5+J{TimtlUFf6N^n0ZSEe@{6OHz!E*Qvuk|xrj_WG-8|6Xj z5NJ7r9&JxhH|9CqGrisLGot zv3V0^KWVr77~1LfKJ-PMYe|`Ys44f)Lx|g^LV4|Y_7q`p%ed1mgNqvkz26RbUnT>2 zk2Btj2;-e%$?e1~xWt_t4`S2|^v5%MH4;4$7^&u^KQR(|SH}2_gOqdv?)}t=bn;Ub zk2nT+bWz6e=mb2y`{^jaSC^oPAQAT&!!q6H4E$#j?FzFrAH&}{#c;h(Ewl4RG7$6jE22y*sjF4=~;a&%G*JY?C;uy@MPY>rhAp+{z9Q{WQZor>$;wSFCD>W}* ztqLn65vW20jLowS3|197;Ud`!{ge5F!xh~3?ii4}B2iRx`E2L_HJvVlY;Mrz8l-jw z)6<%}lV_;UayE(dp+0@A(gfS#VTlB^#={axsA*97Doz!m(FHmNXA=&j0b@Pe>MR!) zoV%@SQ_zxd(~v~K#0_Z8e5{H9TFxMDsEAb;H-z=y%gw;Ci@X)tddZ#$|8>bzMtEL| zKRuiLqQiqhK{@C@m~Q+G8zY#hz^7w0b~G^Acd70N61&vTff2nl`k^B0^8Tfr{7W-0 z;A3XyTyo}JiRVHt=GfmbsvRKZkNW|=Iyyj9K|Kklf&x=#0}TL|&hy{I0=slO>LwJ} zMLW;2Jj_e?7pgrTM0OSi7?=sPFTlJ^pg{rlWMaRe7!TsPz$11X{CNTXQ4&6`juOl- zP;Q#gUbqU5j6Mc`cFq1|B(kecY)=RuRlz^E27eTe<$QYyGu>YE1IpnqeQB6LOUl!q zxE7BhKwq^NYr>n9gL_ni#|*|wH7l5?qa^7G>3IUGRlN3(2}s~<@6@=)m(Z@&g8*n( zoiM+-6n+XW%DfU*ps{=nF8*E{{q`%C%>3;fksWZK_wg1I?G5G!1b8>D2~ zz=2zb^tdzKn4XQ*r7`Udf8*TD4+($%h>>l=V`UajjBlYX{P;^>3{rDCsM3YZGF%VOVi>Hu*g-n#sgt#a%vFad}t08pn#GUeCs; zDq_kTFqWyVNyI=AxdD#Zqp^sh(}1=?0o|_IdJso|No>T#{j?gQ!8JoHH_xw7 z?-2LLj2dXx*Kz{lCj48SzWBUmdEJvMYPiY?>djA$PkTI*&Um-~9@GXHYM!Az#cf11fVW20xXN&)jQ z2O%s`dzj~AxYF}-h-aJ_fY3n!0&#x}kb5OMA&(@OTNLcw(Z8B#Mne?l+EJws_?a8e zkr1M0Zq0WZ$cMQs9?I2gK}Me_zP8|iPbAq}XdQ`9+j->>1>7yRTN zTr;~cA;qu zeAGo|oJ@M#ZFtkiK!A~C>6R;=j3h~s^#$0jIY&nNPE(OMVp3^5d^jy=UqlF=dAQfL z@K;(Gzy&8=xZvao7n}m&!g?w~%XlFtF|qDN=N~vK#-cOTW-rvlGT2EavFvuzcOrCK z$O^2-p*Tc!aG6CRT+1TP%&B6W^kw628nNo^U{2Fe4)a0cMu7rlFX9qGdza{)GfcPR zLliDFV!sDxv8wn`>fANYV_KC_+Sdv^RDxj1Bj0?#zF20qXfXc;FrO3UGRFGZ) z|Bjwl{|1dt;y$%N&agcVvZQS5xVU5`+9P zoDwICrp`T;2<$dnx`HkR#Zj4YBI>XBa}CQbulSMbHE&StpK?b#hiGyz?h# zbqMu3^rIeV{kps1M$bAp4Qr`n37hG*D^N+B)S4Xez>DLqRM%JG2wDveEtYA0~l=EO1x@2F3M@GgujuaZYTbwVc`@<}Ugq|DU3R-ePCy@FanLEOMBBB*`^ zzgM3;-&{C-zh?Yua z3@=Z0LDfx4eX47X{1XWGD%JeyW$}~|ym$}+PAS9ec$7fBG8z>RX1*w0VNXS{ROzRa z7bI26xho<+suXDKqD&z?))5^uO2L{H(KDmEf&<07Qr$hEP>^bx#R#!VYd!O@QZzhH3Q*CO+E1iPxMqXnChUGW1{M6 z&O@rzJpT(~X6{7!MB463kKFymUx`lHs=0|yp9g!Y<~Afv7JRDa7O|W>om`m-$cJ!A zlpcai9!#S2K<0dZCR~S&lxgIq(({NnN#Lrvb9IC->qh$an&gG@?y9{R*P*%zzd>Dd z)jk7|TD3Z~By^Y$((BDaB_-e5X7~#;HW%5Je=@yy)mAAZQ&d}jHP%hF&7VZgUA2a+ z{e=iv)tXFp8rU+W6*-=OvZ7jhUQZ9Prdos2ev}@+G9%#+*S~+ikn$n4In|odM3Ru% z_p8%!Uq!b&lWqDsX#+X*{l9bY?-FO`3ZE^EHB?YnKZrAOJQWs~Z8rn^_hII~2YHhp z!OE%D=3i)Z{QJ7J>mR9OVm%uq<-Wfuzm;{Qv|_+$a*@&!0;6#cYGG3&+n{q*Elj=M zgjlv0MAzy;UB6Qn7{kw13vGEOL(@53J|KvC+ysuz<%sYZM6-378=b{-n5SPn?In7m zR&|-}j{)kxg?FcV8oG~KG^vqfmC=QG1ae3%OkDNU5O=jOjRtoC?5TwfTaw}UsD%k+ zQsUXYUzCn5hUVLF(+o3c38Q0IOoM|%sCTA9p{F2rjE*cua6NQANTA` z;FA4RaVy+OEs(o^H;i&Z$}k#&Qq>tCqg8+;hgVw_F?xNN_wjp)ziv;1<~LXxK03zI`gWg`8U` zxrLfr;3WUWl+#rcGhsWXj%~P@#TJX$BCn4nW=&*GM20fOTt>cfp2rqT{yXP&WX)>M z(u)zb4ABaxhn0ovv76h*ZZ4-%DOzq{w$a}{yvlP} z5ZQ3M$cEd+Hr$SVWIrgbMe&cni{|%9@jF3r%}Ozv;u__!W&=RIE^LdDbUODRBk5ok zECq6{Qj$qmb#k(}dnG}5Gd=ZGg3-#z@;?EuHhZLcwP7fyz<4o3YH2WD zv|8!cQcV;@m=ld_fMMPct4)MSON-1;2kumO~KP>J`}JdQR>R zP}=61AZ}*1@5Nc^27~+nNQ#+0Or3h0-J5!AoLqv`TjTTYPVJgn|CSKtRz%hFrobIi z(q|f`%&Ta1`Nm%4f#Yyc#Z4 zJP(51V0F_ZXlC~zXd1_p7AeyBoQIRvXVwR$Lv<7}fy^23K!oPq3^*V{^KLGBZuf!U zb{{PNYz*Cdp2cuEdII-Lxgzt=cXfJBG+EWm@LtXWJVY7$3bsJ5rrJK9G0`~?KQ_~ z?JYJT;NJH3nxfn-L==9xh@&$XSrl)$$fIyXJwWvUniSW9Wu~Cgq8lxEdicWNgU4|X zz=eR?C=TwoqY6*1Za;5b*9qe!iv1_jV?SgOT&j1uKBBw?LV5aOMz%*avex4pPSYM-_U(`hDb z#n)3X=`6MgxUi8b)v~qd?Vh3xR~@0@EP&AqS9R0)SAu+WTy`HQALJJkh3{n^CA}_- zS3vtL;~-rwM%C@Df3rHKut?vItkvjNE6VyN*k*OG2sN!8Dhc-9`ve64g`wHUB0j55mCS(I?T&U;Hk{^to2c-PF`UsvgJY1d4Ux^9vs zZ?9tkEIUE9Hlngg>Se7XLG4=P++S4u$;2twv9!S&*f_#Yx!9MoVhzvV-H252u^X8% z|8$cjh34bNBsa|P=BB(S!gQnA?ZwbU4QTLlQrlp91~>K=;0myG*bJ2ayclA`#L=53 zArcZhsk({9(i`IfQqo%5aAEJpXjR=sb8ur+s9r*@al=Kyo8CiwXyOot-uZ}}SZyLO z99`D?az3k0aXyA6tWW!oL*Q=n=VH@ti$nn6+mg2ETaz7^L%=O+j!{7UYS4@g22A=R zb-|zmqLs5Pb1>khIj4{lhTS=Zl2~mb zoV&g5?>tg4+s>g;0=PPvnI6~*{(%v79Lc+s-AB;|I7BeE2 zXMKXv5k5+2E#N(FcX3Y;e1PEdV?JCmOyGk)8W$uN33?|VpzE3j93ohGJaN!TN;Zug zn3M0Jc?GWSfs3&Ykr?Y>49#ch3Lk9TM1EJ!UEq_EKMt|@=HRSFMLhA&TGYguX?6KDs3OubWhWL+0_9ox2T z+fF)G$9B@OZQHhO+ji2i*|DAc^}OG&lQj?aSzT+ds+wzzd1I%iGoC%qtLA*d7Y`L_ zVt<3xKW_Qkg*0BlgG>|jp|+}ynQ^cF0(q05atMemk_rfyjUc%2%Ab#uJHXmB7HfDM z2ltUQjzX2}Bp6|u`DbA)oSE)&3HKcX6-|nni!W?fOIB?*<1>xDSzq>IqSV0J@NrFu z)3vl3_LS|u`d~6s`G}bt0OCcH3!$}=65N}t?pc`|eeJ_i%1OD7#Wd`iirBr{v&=wO zh~|owe@~riQVH7UVU-IC>bcmcNUbcSz|-x41@>6Hln&PP0cIm;_*bD2^IzH5-~`V1 zCRB8pMz;^hKiDp4hY5L~0wVRCSCRA>K3IfXw^Tf!v+Rs{w&|{%r-f{gDY<-~6sCN! zQ3;mqGcTLaS2W~is4M2=Op)y{163l@c>8i4!N#WR>as%_o|2nJ6@iJl6k=gFATEd{ z>>Q^Ij;M1TA9nJ09m?Tw0Zzn1&YYGS1twH?u))OcZ0dvVy?(lJ7)Yv9=tf^Wp7WjiU@F^3o3anf7YrjIVi@kY=Am3NVvz~NV-}ngiUWV4Mt6r%3O?XWuAi$fKM?25 zp?JLKZl`5$N35?^Z_@hveniBtX{69x9!Ut-um=0ul+!!*8n7Srtk-+Ls|2=!?H(Hd z?ezsFrLzH{uegh7=(RAGI-xj4V2`+;V71~^=c1{C*s(A7XJwo7hr?6n&6L`ZFST&?Gin-ok7Vzd%WG7lc9hMFk!n?lYsWJ&%G_X@Tz!|iyx%Pi|9F4Nimb_ejFP%4Jdmp(7q-m``v zgul;9doy^ZkK4tjScIUE3HF#Ezh2|@iJ~Yk;rZ&X>kV!@k+t1!Na9|APSf{YJ_!C9 zA0ex{BfH6aS?Q4e2)zA871m5^uWR4#Sis4lBe>y|V?9H}(}DWu<4S4hrPgU@eM#_r z_OKhz2OqIIb?YpoW-X2HPY>0R-LW8(=Jlg+>Qs{>o94AKly;)0Ee+_DS0;^lD)iWb zT3*pwr>Fm(v4#Fi3Km;C!*FcY-15$H0l{3t(hSU;KPv4F-0uY=Olj&Dt6!c9`y|_s z>8+Ka0uqkHOvcJk+u79hzqyCtSf}uqr#GtjXJB#BcyiT6_ZmI@Th=vGv8pp!MDGM@^xm?nh47_#J3eVJ*@bb zgPc*ya$cD4+(nluDxmDk0Ms0KLUL z%XW1{bsbK;%DORaoKRH~chXCkq?ODZqw|ogAANtBeosQ=mU$U^CO@s2ln9y<(BJm0*sC@ z@ov=L)*bv%d(;%Sr?)?h~Izxr;6oP5oTp5_Y&f78qi7t4(e-jKub4_xB3UHk~pF_^#8U3OgIP?_48dA1rSt5 zEl5+N_Lr*&p;rCb!cZ7v@9`l*W|mWC)(UPBo#_X&v?u0tH*e z)b)mBl}xp2Nmo8O3FffQ0x>^B;me9a>0%$KfL{enrl=Tth1`E zRd=*c2(GDZJ@1%>420Jx0gTdXn3jyB>XK4d76gfti{tZe%aFBr3e^?$d0&>%3iKU< zze~?!y{N}8mQbD?8)nB$@pU6A5ta@fI)_PlDAgpDdwhS%zk5cJ1#_+%dBiO~-+x3` zVGK&wXq1wIjqQf1kDYBeXJ0riF=~cI;ccnKFeudi#{=c|T^LRisjE>2dhbdq5Khkp z7+zoiCm6zSZ~#JS17nz~(+_24&I5X#3B8-meQNrHk^GgBm5uGtJZ)&W>l(fnwSh?? z*1Uu{{M=zCH9CB_@xX(3Dl^38f9Sul@DdOr0R5NN#gLTJ!M{H+N0#aS7|EYxti2aZ zbr?L3=fhTY)8@YmI`?z2nfG}!G2C_yZ`tKQE<&{C z!;64<)8*ULx_0g=HkF$@SDXTuKswil@u$`KlGv|L^+nQ5B0*Y6VvF+jdQ~b47(nA| ziqmx^!3qm#1nLk^VBm_?vq-+ojW*OOmmXI)LNYJ>9;MvHQW@Ql6bsE79}3v1coeG_ zK0$N@kv`0?NSCg6R5xvmZ&pJ$lwna;siGJyz$^Y8ieuzSk^28<{NEHu$HTDxX3fB@>Ck?dK9rJa9wYp)syaEI_eW)UV#oH#Id-s@+g_(YB#mDc ze?z9SY9g7yOl!*JeyV#m-C!!r3%-or2?t@u zbofM8ok8Jn3ebDxQfoTdTUBHG!M(6uw7s2!+-x^yPocEwE&MP9xU4MRcW|Dz0&#l3 z_2|xyw8p%{cR(^R0Jy$HmVH`3m}!1?FtXK|IClB;5O7G4Y;$V#$tgXg+FiQsSYkYW zqOd5gqIQ_Stc>!+4AcURul65opB&;WMWCQ5{})Mx98H#8L@vj3PG>HlvWs5Vc{4@Q zp_;!2G%P`5cbC7Zeo#~3w@92a6Nm&+a$XMm`4PO+90(_kRoeqUmbp^1!-tOUp=7VO zH9`mWTiZ&=dYxfE_Mue(3wTT=Z*^8fYC9`eZ^TokJQ>6V008b+VP)t$l|%e1JfgySyQ)f5Mw@L>9AZ`d!u;Du7exJG z{7!tPM|;=PzD$C6XN6gRR22ye*?7*ieq=Qm>J`tTVN2H^aB8p%Qb;rwF%!}(wThx21GVtR*DfdFuR|6{PU zdHh2F&Tr(Eeo4V|&Q5VTb$1p9Njk~COlL}SQy>*i>OmzK0sNaeypT#dh6!fKh6P7f z!uKEy+L*4sD%#%wXf|rR2`KkB>W~L=HKWEc3f-kOT+=(1U4bDXx1)iZZAm!?&*8%j z_aBqdSBHBC=g@&R@Do3?LilhXrp?yjV3I4IUmIE@b!nbl4YYaOn?N8Db~%D%54B@7 z5XSs0zK?76YlYAc0bIW$gOp6S!bs#F$GI1bFToJG&=Yhx7!P(2L7(Q|HMR^F~Jg$Fpdzl*iySY6%SO7e=^SXTP3sR9Oa-lJAPLY zRnPwzeV`xGS3}@&v6JC#O{B*QtLphHRiU%LVtaqLX!kI#VEc~S*;v`eciJ=Qa zhs9zD#WS##L&>DD?SsPMu8|(6%;F1(_d|sRJx|tGzHgT0HEG|Dd(B?LYHmO+J{lpR zwLiR2$%XA3?^Z_g*Ub7K(@!)gs`y8qULs5yxk$$4UyBdT`amw<`{ z1z5zvZwEm!efB%a+xK^o`BM1|;|y5Np4G^$t*Di!E@$ zMYylbvZyTJu*M&2U*hK5G`!qHgKZDqQNLc-Kdi+41JW_hl=(p7dhP;t`uY28^(x-l z**|?W8W@RCXf@E%=HE2JDJs!#Sg?Y9{u!k5)^K-^ zpKw)muQ_)Kr@!Z~qR6*QgVt;$`MyAT!cxRrB8mX_WP*APh<>98|B?AA_ge7n98+PK zlH<$U-INM1D{oCL6T9}L6U?7c@P!>Oru11>~=gB{&$iSVQ}3}|G*Pr<+}gwpm`nAVSJ z;a)?}{A=xUqK+(f^f2S(3b9sblLJV(e2Gp8YkMQKH7o7jnKR*_uZ2!m2-!if+ECXU zW;KHgNdE!PZlO^VRNh=Dus<*9l|PvAw2i_4b8&4nGT-etAedHM;y<+GnI!`{Wim

9#fWEZi~fxAQ{Mr@09rzjL$W@czW~d+1Hs0FP$t zTzv|P9t)ru8Dh06Rz5f{NWLyhBpQds`>XwgP38Ft6i(!c>ibC18?W~R0Q<|ZzVVWX z2)XVa0+JMjar@3o!v>=$g!sqE2NWHK1f4n}+yghG(41H}U_Z?cT9mpE_C8<4$qqS_ z3JyV_+C{~Ye4qv2QGD@$UCR0KfX{N+ZI{KnSi)U*ZRk?@9$#mMO-RRG0&I7{r0?F0 zGnrTq)H>hGga-4x&Qkvs>x(NGCc?|>QGl@XRqq$qeAtbi`{2kY`vyX`S%o*+e%8f@O}uc?9KUc=Kl}ve>MyM`?(t8 z$*GjTYY?W7wIfVk6Yp3(Tr=#ok|Y0ok#vm$z59LF=~0HzY$Wp{BipSAdh3wTDa`LX ztwoJ*eq8Vps*CsLpUqu9m}G8_9KECH2v4}bvd{9fGOCI_yBt zJ8ew>H_PX%GQAfmhRezuQ=4XKljV#h2$K;jeNQXI1?-eSKmF0QV9J6^AvEYldVHh1 z)10vTN-()VT*LzYlZJ{$E$>h)6&5Cw5iA|?4+F$YTRWCMJ)JP&G=H%QRKB3@GW(=5 zoIS7oFo^$k;jlXm?&!3DObB*hozvdQ~b`p4oYlP?76X9jL@ z7`+bo)*`bTE4zok#(g2{8TRW1ElmaSKo^<&ZwS4)%ZqFx3QeYq7~2yXv%qG+Z~c5V z2OUL&0CePkGDSW^v*V4Pd#Lk!qkY8i@j zburpI;aKN%lEQb>pf@t`8z6jKULLA5nbxK^nLaH+%MTB{iGiOGECq8O zZA&YJFROP5hlk?m;sK++!X-z;&$6}1lOjPmW!)G|Kq{Zc)o|MH*C(;ON0dc# a+ z2(7H1--e!9q{Dd-52nq|8_+dju`7oTX$2kYEa}wa2C;0gFK*vd_37Nl#b6jJ7=@%A zn@WWr2lkLa`zFL(5WGVUnS3tCcheKrNjtBTqeA64s@G%3Y;>G zUc|bAyUOM}WTSvrAJMuf58!LHb8i)SY~&C&_*Uen{hpaR;4bOB)lBEPMGcv^t7C9` zipq1Af-QC^-2D(h9+%(CDZ%aJV&;&W=O*kekT6ajYZ|^OjhD(*4lN00y*b8;Bw6yF zI?kBL!A&YgeTyvNvR-F~7Zt2`bu}n zKisY&+%ksL|N8TQJZ{0m_{0|etA2GP{?vT4Axo(pBa0l*&2S?0jrBZBs=+a!B(}!~ zF6qZ^-k0r?_QivID3tR80>}mSg}=gaYnj-2&NLVPk%qkywH62&b?%&tfE6_q+T{m; zS>&-$^dPM!z#8t_qF?eHN>xbf5s0Wjz-4ClyX^-Vo>MyV!xaf}s667!_ime29CU_V zER@$|IHV@@Sj1)a#zwQFyAw=r;YO7Q-v-jnnq_1A{o8+eyvzUi+xm1?X0M2G!*n=K zCLBW6+de<%Gs-;=;-L&_y5h$(>9nR&$zPP9>&+Ua`77*&4-}z=;?odc#W)k#O=i4w zriL>oYCdcB54APJ|2__EJDxeC*AtI#9h!d+&S!cLEOHzcm;{8SMTF>t2~h6oBxAro z2BkJ#1xe<)XwO|yn|C}yf|?Q@V6yk`iHNa;ii>EPW1Hvt?zQ^dj&WhCGM zyBOtqU^$(5~aSB+2F8y2Sh3Gz)o7a&!rhx!S|_S7yQX z0)?mmzXW8SwATXpF$Bg@i@a>V%7ZCbpv^L5Ohx{b;>?gL$M+osOTRoCY%?xMNJz+A z#V);pX{&$!WNTQ|#$Ud^xKUph1?u!!j4%U80V2tp#B(cabE_2&L9&o=HBClg<{&zqA~;XwbU^wsT2GvtIOV6Tp7c342SVbMJ%}aIZ2hI7y`}=?7-A$Ea^Y=ly-N z&O8f>kweMVp@?FYws(e1U(iMYF^L_au=@l&iPig0I{(@7{&4&Q+47J-&BsD+PkGz* zY`hzp)jMO~Lp1+cWADe2v46w33z1P3l9ANe8jCN5(aOJ06C#iU1h(Q}SNHl(m{6}A z;ZGzmkVo8pLqR7cjsLsXpJsDh5|C9=k*pEkYc153*BSPkxJH$)iQ9JYOBtpo7$n9i z0ljD6S(_t|>XwEWOliCqm4D~SJ{G?lzL14mTUx*qv#T)F%592&)C!hq183J4E#l>8 z1_A`Rj@o?Y9c}vB%J`Ap#fl%a^S^Ocb$FOVu1vpm^t+ina^l=xHFLys z>D;@s-uURm1a7-S#g@WwSavc>6@(gOElnpog_xBM-$x@Is|OaW|;BBB7Zt#sUvbBOXMi# z#8ni&HbW9)@LcV}1l#{sc<+=F7+JmZc$0ef+$3X>r9>j11EunYkzlpK$H$elrKR8K zKl3$Mn(b;}HoXV&8dU@~1Onx>v5_s2_A|fn(5+1?GK~Ufva+Yp0ywfw(#Vf3|(q>06C+Ky5a7 zq-NTzfXH;*vca_JzauR{;g|@!yWQaO;%1YTEqMbkX7wjfRCGG)Vt|pL7ubNWUsbq{ z-^$Y0B}s0H%8yMRQgR`)Aee)!#kK<|6Bq1x~OfP3IVU0W4mb-Q1o7+t1Y=c&T_w%ETrkLT00XJc$h&!*^4CEA!dJCC={I6`~3 zcqp}y6ndJlmaS0tjjo63&;9}|iM0Vuv3jyQy z>5pt;?i-gnJNzgJ@{{Mat3bkDA8b(SEAGaeEn zNCwx<%MxQ=cug2Y{i+ycj8q_Ni#&~-9~A?b5R+kT*(`j)+VKfK*NZ`mco|Mwx3r^t+GPDQ=bq^L=0&BD~BNMig_i%-E z_n@IT&;7A<*f!^(m7n8uhxxjP+7Eep4_+T-4mv=@0>-pQy%yb?H$3!vyQtqpVm$Bo zHUKOW%(Q$|hGvEc@Ai&`d-K;qT50Xe!4`|-!&n`Tmd{1;-Zw@|0aeP$>qZ@)yYJkM-hT(xrG)bdSD3Benv^CNN9UEDf6C)2a)hqv3SjT1)RKMKbMw zgh+8MY<*&^2G;5f;h-R1-PulgY23aAC)GW!9k7vhNp2sK_BoP2fr$^MB>5MbuTv)7 zT_OZ=Vz}B%2W1~IX8A5#YBSgrO7It`0%tB1cxDFZVKa8XwWv=AY1k_R4-}4SR4@Yl z!yp85F#I5*D;Pg^l3@_ck}_99z$h?esU73Wmw$NLJ9qqSnuOrD$y}75CFRee{8y3A zK(GU$y2(z8yX~!!G7EfBFQ}DTJLlgE0pM}Ia@fP=XoEqQ{Em}FaYoJtXvXc>PG~vz z1>k-Sh`W*x*cAd;NUkA>%MGwhc7qj)`B-39j)q;u=rA{3gG^Ec?Oq^4Mrc9!;xp*| zB-rFaN@tZ?*`{L`wAj1MuZi*S-@0rWNVN@tezx%6RCsYH&&r;VjM#YHWIXNziIIOz zgJooX>7&!cr#&2*)ppvWI3v%R%Qk^zM7lPu`u>GP(xHdO7h{R@UD0cXzHvve1su4V zSbVG1|0;KhB71D+P*N6`jvpVhs@z2pLYo8dqEKIO^@V!X5sldNT&RyvQWI3{m8gan z%7W{yL96ukYs0OJ7|CruTKc@q{M<+)$Zi?oVi9alHg_umJIuwA8gyb6m-A64KzZ;2mU|?{U_FveYn{sG(0)CuV9Dx z8d093y|0dv5_e};7rX*~gAqC0^hp+JipPg6v=nJ4Db_~nE+UDsbhM8@x7xB>S48Zz zqPuPQQnhq0KG&6ihdv+2{u|AZ4RorY>l!CE47hj%%VZ-OSxrbt_Qnejku|g>BxgGKMo66TAu=}1ht)HdpcorE z*&A8aI)_Hs)J$Z&E;MJZb0UO|tAQd^E-;FNwZN*eJ0%0!@J3-J_}APkVw@E>6m zf2ql~c`KB>)}kNcvu;xw6naD%D^jN7Rp2;43WV*Q1_OM>5_z9!3qbB0bCInqw! zF%GNFmY}@PtjxgzRi1~0cHpWy0wE%~ZC5=9v*^WUPF3L+IfFZY+YWZ_v z(>`WGSM zvC||k4BS`&>7l15c+{gSdc(*1X{_jCYhB=_A}Cb`UI70m+_qdFOM-J)q1q7sSD{RZ zB=whoqP`MQk;yP$Q8z2p(!_i-`)4E0%MsW9z5yKh?jbW?oNhctmItLN7&{OgWB?iv zuW{PKvj0#b5Boj16tRPo5|`0U3a(O@%2k`R7p~9)Olq4e*C;aAw8l#LMeYcsF6gz$UPL)7f^0-v=&4LpB47>FJzR9dvvVBF_Vt@_rnPP z1|Dd196XO`&3DrJ$7Kx1j|bia9_~Q+4Z!SIzfj^AYEzB+)k8V|bGL(ZUx3Fl$m{2* z9yYHbCipKvUDF$i3h+g~S+D*pbv7fm4nwn&SVW{X-(Eu`zG_SC=B|nmmcL(B$+LQ-BqS#X+#@yQ=+9|{Azfgj! zgKCBXcu==L@^nFpaqnzUPlHqsG#(ndl(0hs|C-08CfW9^pSVq~Xvy^SYF?T(W`6?cWW>EU#Cwn$Y`qQu2Slq#|myJfcf57cOk zrSd9a>und!RCRxyOqfxFX|7a~z$V~`=p`&MIF32{RMK4!F8rvtCQ#(kWuGxh{!@}N?y=XD zDbX-xrBxQttD+Jl@8ilBorzO$At~yVqU7uDh;{Xmr&KzisiKt=KpEXDIFi(^)0Vk$ zz%VE7k^xhV<-bY)Lhw_ZV1fk^^r zi}{AdqAJb`hN_N-ir}ToQo$D-(r_87%ASmtqE5qkVPU_O%-PC>xNPr}^j(YN;%BOTlm|SmgWl*q%2AOn)`==VzvSL(@>xql*d&anlGRtS zhPv4KAq&CN!S{WV)R<1zd zL;UJ1pyG(z8|(7ba}Dg~y$6lQB{3w+;_g|&k@j95CQR8z{I0;@*pLBiatw-38R)Jz zUnL$A92|iWddq2Nw&)w(5)Ap9g4#wH@VUS>J{|}h;Ex4UkpPO(A>=>ALlDB{+>onVkeW;xkYx2RPvF_goS!n(qf67tsTw#TtX_V0Cp%NYzw9S` zE8A1POEIXJJlaH^$(H_aW5$%>f5uGZ=`Y+VXGmwpc0+~ zK40P4BL~dP|IR{LxnBC!c9evqEx>opr`B^Z4w)+j!g+wR9=R^<+-e(d5{`-W^=Zc* zi&dE#j6f1^SeP1`JgsTg= z^w8#g~6<^yp5WUuCWR1NS7gB?w2dvYfsKC zpa11;05qGfeU8hkjm$D~o$>aNK<#jVVPn$tr%2&ao<+ZHsv`to*obp%F|_WxUXp$c z+%V}R zk5vg>6fMIu%^Ee3Jw|%Q`4BpQe**$@(t>knm?EZYC1#5;O?p=dw~q@ScYtt;m+9M{ zCxCsH;^t&mr&ONn+yU;`=0iKl2b8 z3_@`TRt5F&W7?URhA5kTnZ2HQ;h1G~=xw`;ax+JfuR)XzKcz49%u(56p>7b5i9dDu z=)^l=lGKVFc$i5K9;YK5e4dHKvN2U}49~+(Qp#9?9!P3QnpASp>Wu7p1Zpk7ofJg} zfu4oxIAt;o?%?&1W@;1|k@FS0R_g-_PT$`JE)I!lPiTEZ`6QshV;VhxltdxQrJ&{N zLZn^eDsawdAN^6qV^MqJ75ebA-a;nO*7~yN@{=?uG4#gWs$gOFtqGranDyr*QROi2 z$3~{fa=M5*A$b&c(!R@{`quS2(DmxiGTqnnB>DP9E%h*0M6?cqH-M9MQB>5Y#Eu~x z_7^povp=>3=9FKSrP9s0mnp@G4e9#&=kDnNdER;RUKLD1E0zwiHvnW4W0_%6npB4~29uP)vP9xY67aY)`#K6W3oWPS!iVZ)xZKM`*e zqaqXWL_3M4>4*@=z-@Sak}I8J6)m@evwx$B!%ak`iNA`Ti;WT5cq}Qz#T=H*E&!1 zGGT3W=FSqRGT0z12Xcd&f!`>|1&uQ*w<~E#L__c-zG$5E6~B2mI+v!WB=uf#K^8w zYFFJyZg^0cut+s)*(=pzFIj!5R@nar{ng9Wr&RbEN>4Gc^F@Xogg^e7O6=cM8|Es55IzfrsR05jkF$zB1HA2kRJ=ewLFqu;I_@fnrp8xYAkB%{ z9$->E8@pCF8hPBF9uKQb#vo5%qBaOCPAQN&iQLiSKM()>D!R!k{bQw#FMvtp)J;>A zL|R1yJzkHm0>w}#4ffb|!1Dvh9eFGcqx#;8&qT+xsB0!n|7hXEv`nKqS_R~eTmK^fKJy>5=WQPMJqHaOM> z?>W?DGgd^1pUMoHJZxP4L)1R?JI6Vq2uE0CXDS$uAK|%yM|sPm49C@Hb@S6Lf!)_* zb-2>fR(1HrFNY>99D}lU)?z2}CyFP09SS(lh3>=@vTs#FncHKf*@cWkFDm=vB2q8| z?t&*ZKm*iEa*Ym?M+Kv1ANWu=&m__NGDa5bwtFJ+AjUB%7uW3DSw$dnq5GU~tj);c z74i{-2iTKoE66Jn)*f7g&laLGM$e|fP~=7~3CSP^zk7Rl@FvCqp4w9DPrJRl@zKC_ zp-2a_l|Cc!UdMjnq1+9k$@I&w}ERTZ$BRu-CYo`*y*(|#{<9ROl41n;1C zGB^*0Cx8-J8|q2iaU+^)AG?#B(%@rTDjJ#A}*}qc}iZs zLIGmCy$!asv)#YAV_HFa>bBtxyNkDx*8*{g`&}rt3;Y%Gbq{jtJm7++FzdOSLU-u+ zyQdPXI5i<-nH4?U_a^g*?ACSb&cr;9GWcL-wmn>OzRDGuvw;<;{xSHETLck_E3*4XI{h|Ol<0|d#H=NYQbmo zf||5`U+{A1`Qy@@P6eU8=~-})!$*I3{OE(q&0D_*OvzFILFrsCY&y7>E_9D%xuzc) zS+bMg_eJ^CUaKvy2*jytI6nF1VMOE~Kc@1H90#Q^^DTecGQd)5`SG%zQ8v50?%0~# z$>>OAQk$IySW2u;hMSK8V?NIEpT_6g)=KL2Q+N3W_2%It)zSo z>U9=j6}0)`L1OV}O(l7xp1xxK^C}*lSy)?zHr0NaAC=9I0Cuwm`2)j5jrst-O_5cZ z)Hmd;%0WA{3$^+e_qIkcw@=vSoI!)+su`im**V=fgC<@j1cv17HhMUBy!l4yK?)=t zz8#4yW+g31R8c=K7LJ`cR_*}k!dT4Yd3+>Q(s&6qjGJ(TY3RyAR6Y~c?J|2LhAV{> z6P!Spwuy|+=0A_=q#pd;gm~e99+O2^(q33ej(h5}iCjIvV@mk(rqRP*Syh`wIY7y4 zhNKDyeEAB)DizV6D>5sjr6JKi}@fQFQph)deRv& zVsj9WCZaPg&=VRjfJ{zppMM z`?VY7{w#;Wq43UusIIHSFh6G23Bzgu2CNCrYkS$x-1@VYqn&yvmjwT}u07v={8 zXU65qh|Ka^L6B%$4g<6$_L)IgGktB>i|*KV_54f_W%zuKpM0H;}u%XG7;ED1|94&?1F&X(6k0S$=2S$f0p$#YQvxT@QozB5V&Ee# zxoxnBu|Me7AS|eor^wX>i1;~lM;&caYwzT2*G+Gqmz~cz;m-x5J7~go(<{kmz4HPSwM_PHW2|;{NeKiym&f>>eHC}%To6ETjI&mZ&6dwdd zbO9f~4-GY>hRXg18k%n~n%j5t5TjIsN|WjFHMPwz@Dx@N)c%q@?8unN z_b}JKpg(~d6bn$8Xqid3T)EszlQg2zi`knzUf=ObQvMP9d??D(Iu73^ys9xM_{&+P#!?0YOv{6e^! zDlexR2}eKh`=6hK&z8Iexkz%ktHzhsX+#lo&Q%t$cWhhC7jFy zP{uqy$3sz)Cmi9}J3g30E7G_?3}Wk_?FA%}{S8R`zkfK8gLf`9qaTBWBr% z2YwL|J)G{d;C3JUnBQ!9>PRMje(RoCVq64dWOQ5ZP(>uhGT3NJR{qNjSx7(MW`_ga z0spjk?dpomn1~LKmQpU8qi(3g)u8iCUPO*Ek`Nm`{`r9Fmcc~}Pk<{jGxLRZgBGl_ zlFACS4nVAxQL)w4xV2Zl-{|;(Yz(HWzvpkjz1Ud*;(VEk-7??SG$oH0r9rjn01+frLkUm=X#cdt0AN7^cX+2yPZN%Ix z#bmmMpEw|C(AAOA3+?oma4FCAgpQa1T#lj?P8#cLY>&I*;h1JCo0JN?MfYs3LB|pY z)T~k>G0jW!PTLOjPSVO1EsyD?wexLufR9K>$km}ts)!mpyXp$s9g;HGzJJmM@;;XO zX;{F5g>!b0A8gGIP4J1+&T!+Ks`LDSOmDk9=3tRbzV^2-P;iaY3*z2G%WTJP5OZ^g zO;yR?#blKmA9y%WlI9_#;sF`(?qW|{lMxIyR+jimj8_W?zC{p1pG9egN<-cHIX_Xc z|5NS6%2D0f{Z%x1(A?4E<*)L6y^(g>k2sRn5sHkuA*W^ zxdhmP)F@W)J!jFb8jAu6C~ha$VBp53$F3}8970SwaDi=n-N{P&=N}AZec{}K3+K(} zuR(Hhh9OnS238ix2HabxfMpSj?151NF*R&4d2Gb+=50v$XjpG;mWDKXvEwRPd?1KE zfG^g>YTL%SnO-*_6Y_K%k>y`LdGVM4KC`Nb)Ojg>O7!8lu^(B%>n!5p(Y zcX(tQBEpIG^VlpBqs)d5MFRdD`%>Q92=IRAkF3weNq3;5{b@~s6WB!P zgyfd1I#AInrVF`pxj8ZJ$Kj~LAMjO-6)}v2pOou=CZw`dEqk_Gm6{++tE0x-r< z*9_b9(7ewP@$W3R3z!MvQ7qhaUTYqt{taX933vO?p=Qst5WK=p-bj9{4t;mKJLQuF z!Gkv77V*f!{JlIQS3}C2yxb6WQ7psisk5bBMO_!EQ)iyq{~WS6ZzU3+Kp{LGT-lk) z&~9xK$e^V*)CR7r8huL3cPFUOJ;pcN31Dnrtft8O-|Gw2(@FI00J3z5Nhlq$}2PDJ5DB${ELtVg)p8wUr+x5OTwb@7cSU`Ut-K@g-(9>C362-M5N)Ea1B<5P4UW zN{waGmqU5iD$TEx4Kzd)Z2)fq*kfxXnk*N-jf|A1UXeI|94{;UHz24x$C#Us>t|Cg zUF!j;4{!rIr(tl3kQ!%dX@E9)Kq6dnoS{bbh&T04tYQ{ycb0~siKaMyhbSV>+;j~U zXd18gmphRyyn+tk6pKv$YiB;xn3ot-5`;#F?_EC}p`s;lo`wIm>1WJTBrNQaAeNko zR+y}$F938gI=)M29@QtQXK|Ajl9Ud zq^Oh!DBi!?NPd?VPUem#OVXNx7RCMT5+oe~@=VPaVNO)JZ=lM0gA_$$ydZAt+lHH= zWS_#3iPCCsed`lsq#zL|N76(deoED}qGWfLCndc|;$1Np#1Uh$tkjTCE%Pvgk}J1v zlqD7|E{NV#dQoz1eJ)*VZN1K2=FFon-73N>NK}sQ+;~Bel;Ph8k0z`(tg-YLCSAI5 zg7vxZIy(veFC~vzS2IA2?@n(A+5;Q$y5vd4MLCAmU6B__>vCT};l%&5 z1(i)C3CGy6n<5|&jg{9VPl%xF;~Lg^EYC}UvW7mh`j3VUONvAUz-aA=|1Y}kF*uNJ zVHb96+qP{x6LVtQwrx*r+nm_R#I|i)C-dz6z3=|^sZ+ITRj;o8)7Afat?Rzy@KcA^ zCW7xanF&n<)Gnz25!LSAIy5CDdT9Wqq!kH^;G^|1+pISwzw-eeyG?RK2%qI82@H~f zhz?;^S#kEd%9$JBn6@JPi5|N?ZB?ZGRL+HeQ7v6XtV^*$Xrg6HQ%V&=I`9k>!1r~)a|j>a2B^>IYRA2HPDJe!2&j}XuxcTfpX z7~RqUD6~o-LScFl(zsK`>zXx^Vua`zg_1WyLl{24COmMhXBejE?V5$)c#WBOeJ0w>Ql%q_& z5JgUW(onfzsD zewc#0laJ8&MJ!hg_Sq6n~C$AVxBQHZntl5J(71Q!wD_7=Wm1Y#1^7|{0(*@k| ze4Qq!10}9o)X%rI}XbIuW4s!&*nP@(O)=@ z4H!);$db6@(Q}$$H3ojza<6p|?5b&)9Y5@BU_3w53&(W*@%3Oh?SMHOpgIJ+fI8eW zWG~u8yXr(dBN^9H42w+Fqy!r3?V9TijNEJY(WZ)!Jlbr2^;EPdSMjS+0neQU1_;}3 zQuC(bc-+yMWqUDw;Hg;;Gg`JL8zCSqivyX0NKiKh$ZLtA!6Dw|+w}m>y0AL9lFc)2 z4IzZ27i0CoP$&xxbwINKd%UP;8nsk5-SH9ctiE`B7PWm?%^@^X^vQIBP$Ez3(x6Kr z>lcu=+Mmy1r^4thm$1hjO8Ko~h3ta8Bej$(MzOoLx(@Z1IG(rhWuAI!t*udeH~V#r zkwek&Tgw$@XK+E4`YGesKvyurCn^TL>b3NPCiyi0d=du&DCD z8~hCIp5rpEP)=2{zGK(q4_f#%?lYbK&X8KE6z^^Kpl{ZneEv(x3a-&Kd`K^8DH=bTn0}5(U{)b0fTa zsKL5BJcwq`EJox!odx#j_WS(8C5EhXNTmX?z}OT)3SlF+C`Ubl+ge7e9dCgq5;7*%Ty zoJ%k?|DAQn(11jC{_zosWp=?k#_0_-Z=X&AttPO+W|-*%n#CuLzpX9qmhq~fm&v&g}8lnNV5kcH;d|k81FfW(}N^4aKcZAbOQP*exh!NyD z0uX0rOVHe}07&Ez4OZPFpQ+DLT^hh%XZU`HbbAO?XXu1QS{HjUa1bOmmvj&8ekRf zGM(f^_1oM=9F=@~{&*~s zl_)U^+)T5Yt+HiH7}rwZyJI0%YRNp$yZyty#qd{B=Gr|X1!vm)BW{^(K)gH!WK^Ug zOhqvKzrX}__FHwRGLH3pC{@CR&!$`A-IB>B=vd5MFcXN$c#KGzL7S~B)Y`U$PAA>V z_yN~m2b+aZNYViwGUGsm2Vp%9p@i>XyfDL0F&LrWcXylAcS?1&LS&%`wvo&8kELe5 z2L}+84zfJZajCNni%2_Hgo~~h4V$OKLuBMA8Nw$~Rws<))69-cDkkBtYJGIGXUEtL z#fo#{3A#ea!}QXC=b)m_eE*k~K#o1bYmzD?RhH)~ruu2+rzsy`IF6)+)L0n#xb3FhZQ zYcht0)ZNcJ_0h%o@-yJdug_Q1MS(dp^ZPa3oP9LDb`7Zl9bE{Zu@a-O(YXg@KusrD zG6ej==2fD^zUG zlQ?Wm1Rlu~$kM+T&qGMdnz6vzTF-ysiHRYCjJ`Ex;RW;ft_@jxo!0vm{f{+!c(J-s z4{!c7YkmM9jq@`ZhY^jC!lAs~(VzRSk@>b}P@bB)F|jZD%T`Zrg@*i}fpChW~_zt7uO=7Xv{)T?i6 zhRW~g|JRz;==ixld<1-n*mc-9_%xslVWjg}Hg#)AKDSCg4Sw7;rx?(KzAm;LlC&1C z#zgHatt6zAk)0h_2jZxlTM;ra-e+myU%?nhM~_F>$VNB!9pKP1ri}XB>{%b3_kU z?;7?2P5qJe)U%g*_ zU3I^kD}0uJUFiDKqMge5esuq1&0f1dKlwi|zSnck4eM;hUT@#sGdW*xU+*V1U$?JQ z64gMndzAQKT{c_Rm;TX@i48)aV9NeohCF9E=Z~XY}45 z)djb>+%*VHZD8)Z0+To*@mddARvQL;tQQ~KG{=M>!ARGqKfg@k2Mah37jhC#W5r(2 z%wAB;ctd)D0>s_U;|{mQQz(e^a*Au~m+84-Sec;qr0d)GDV>=Yu0AS;mtK%Q+5%m# zHq0h3cSBx1+Rc5hv$nS~;Wf~na$8dVxmkH*e7t0;l?j_^3f`!rK`+5h4_4zZj;yPK z`EY3mGR<&-9P-5>aN;0V=;-S8jNx=%UU^<+mI_m1v}|MhSglHlAY?Bva?r#b?^das*`9}A-R%C`-eu*(5l zx?>P5^H+_no@u__ATa3}Xu#f|-%9Rw5X6nz#K4~#6S)mi5_;7P65OZNb*Gd^4-|p< z0tP+%7zO!+I;@Sa0u*cqCFV%f;AF(-4AuFj)0|p1hiYV}Nr>{~raeZ_AR4nt%z)BV zMzRajk)krcAv9VxOd0~hsxp;icv3(8q(tpIPba%YyebzJk=V0CwUUvJi0EszQf!x;t@|(T|TJ>{79Y1FML@2dfVg@|CC#aY8 zMC%_eQraeS+-~2;g~9Gsoi*(51s!ar>YdgJlJ1av!{E0aApALhtq3_UQ|Zl){nXmS>a7g)_BwH-Y_gRL3@CFnu*Qg z^gIg*k}tF3f&xJWl!5g}sa%Sg$Sl#}Ar&}>BpCZZrV(c%C<_|_@nDX_lEjdfMwhfaLONqLQOfIKRA00i$B&}YM2hOA~bp> z4R9*0oDuM zE3nzEj?#yx6H1_KE&tREZXII+pQqng-W0iw`*Cybv6||RY_^0Vam)_xgRzWINMXj6 z&bb*@$#6H>E$L3k(YkN%L50DEe^4P6UW5?`rznj|)WgaXtBhMfMR$UdiPw=0lc%)w z>{Bf6KZD${k)(1~7|H=^Ruja4+s=ecg>8YZFqN|@4|N4Ah;E|g00R7`<%h9yq2BIq zhMfOUJ^pT#0Vvjl^sScxkZwWxG|K49u_ApRWg86G1PZ}uNEHgR?zM?Y#N)2bU~SLv zw%vj|H<`FJ**fTAc03TjvU+CHh@4t^DK#GTle>Xgo_83q88Uj=fF~cjqH?Fc1mW$_ z4!G+|gwSvIzr(ZL$^wC0BW1YahD2(zUW)5P8+Ok*t0sqJ3r6d zSZP~Z@vLodbTK`$F}=E&q$_#2nu`aCTLm$A&IQgsUT9Ic^YrH>oJ2prIMgY8;|bx( zxJm-H7SO+hZGNBbsR;V`vUlrrRS3YtZalPrgi4?maHXQKf~mp{&MnNb;#^*v;3W$d zmr{#5bwfn0aNrn<9oU?c9PZpce1c@}MqhvDJ2-qw$k-xZf7fxidrQjLlCtr+GFIH= znroXh$;cbd3iIZNo{0TZ{L zKdYOV*gX^isZa|f6tct*fUhiT9C6}#YsYIMX?H{JpXr^j{zkd8DVN~MPrAKAKH8b1 zc=>?D#cjPcpRdhWj!M zYTH#UomavYKDZ1S(uoY?Nsjp_%XF^YSL>Rff2A1GnF!;V^1XJ`_;H91FDErvSsa&Z zO4<?nA{1W`?)h8ejTr8ya}$ z$-?5di9BhG`_5VpML(`ItWP|}pYlR?E_jMyb@j6oD)vK%KWi_saFG2~co>*~D%|Q$ zB}AQ9sDenMlf-Q38q>f{-w(0j3TqD+`G0rK=B>PjK7OH*ltK_9XgK0mAWfHJL-zDSiC-2@ z8rkhefXFQO1i~o{3J|;LnJh6th|E`U+ml_74ha|B{+e#VL=r5e2#{yFRCq^;?rlaj zDYcUYmO+n+dgfEP0#EiT=Lf@jGuLn7UxO5;zxY9a!DV#-br=&0(H}=mh<7t;Y>F0u zgFvCV6Qezw2s9liUrIJY-MfA!F*c!uKe9gP=5?A=+Kvz_$A*^r$HC|HtFO2}9kjO= zusvC@0jyF3>;i+qFzqYEfD7aT(u8Mr`jmWok9Dua-^yo^@l1e?KhpRvCm3z~NK$Rg z^p2ZYns4n@a;S9(>a&gYxxmis&$5)vq#hSnpt%!R-~#HbXHdD6CY2KE$p&IkhN-4- zxCitSb)K#Nw|AVeUIhR`(UTHOjh89o*QEa)_AkixNCSgssQ{MT9Bn|)&7j^yCX^>4 z|NF<&p`I$PL<>k$?@81C(WzkNn5m{pTf65zmNp8M{W&F}&2|ryR;%EyyFNXs4cKFM z`%O1@qMYJ0I+%DU1C4BsGU<8)QG{A{7W3ger65}W=ZafEFidGhKou{@08-RSe&C7Y zzMnW?##B5o-hm|_GB{6wkIy5Vnmycel!n?iX0Pw>RM{dQvB`&VuBDwSfu~>gF}-aj zH++h5tKnA`+3gq&L_EG*Ou zWq|F9fvzs++}r|3IH<%|rc7cA45>AoL!CORuJ(fHu65kuM_9mt9#aq5Jr>|%?>7S$ z;$mJuC2hb3Ga=s^UM0?_JU-YTD~Z(tOU*iA)dbxxm>=d@2> z8roAjYjV&P;RfI$qM16@&Y?p;S=s(vi}!bddStF>NDGcufeeBVAQWu@>%xP~jAq`T z#_$D=3=Jz&OS1F}GMb9Rx(1E8ZkPQ|HAVAs5U}bQUwueF(xS`|6JRD$TU6Q`x86=)$6oY}2-sLBY^&mmzBA`0;UdXkNlr0lR z_l{wkjX1FPK{~hQ{RuGfXE299owEB>obJ$n#ToFLrq+QP{b&;HXM@Ad)thj*^Jjk^ z3pFo$>DHg4k^7)^T190rsy__uXE;S<2g)2^(A}Nsz=fu;`T7%L{aw}da5HwpBK^1o zZ?EmBu-m!8oVVt{qohRjZpFu@!ApOn)0)V`roc&U!&7+hOszk*-UV$fkK#;%$TdCX z7~oTs+)6N^p`6GY7|-szVy_%PpKhj8(Yu2Pb$ExmIT9A?yBUi%#DAjWDqDc z`Lh-6vOZx;4}M+ef5mtD9Zv~-vWRq0v19`|GwCKf7%uf6Vl!D_!AC2Q;o7om=n{JK zu>8K*J4E5Cfk!0;5nHpxUSjLZeQ?4|rcSFWQTGdh1BixoJ9d1`n?lsQqMlkvO!X{+ z=Gf)b`62>psoJwPP{BNk%-WDhZ@`xP=|U_yY||lbBy!BoB~^#c)`_1WA(^pB+FDX% zlHA*%$~3m4{#MRy(g}2C56oaxRwNj!$&7m6N;^B>M1a??ws}Fc{=SZm!G{!x*Wjmgm(TIWh*WJ=EY$AtmJJV?Lx<4#N%gaRw>BLrwg4PM zJ2<@FXk|dgq&EhSpL>F2BAGHS8FD#XKwwj4D*d3E1hB)o;0$~aO>38y9|m3|S^FGl ziUkLU*hiMV5mjC_%w<7jD0GT)JYeBM9s-DF93RYEf*>+pPqR_0@HHf5s_}JD(l`@F zdHB=2f?O~b?u2q_JgK{t_%L8Fl)xwq{_(LHj8RLT1Pu8xLX2U@<>5?nZo?bg3l(_^ zj!Y5FUZPLT{ksLy*321{Nibw*Y)_?`2`Uc@YXgh{rK8EBAdT^^+L$71vos}~T+3{> zX8DsIM?AYhj~twKM)X8qKYfM$lA?TA3|ZhUoSYcq$N-Pz26+{-G=!ck#v`yBlWfQ^ zcV^4_s7iG`RrFeo0U(H?k|?Y`tF$qekaH-amEULa!eacBjh$?hQ1+) z?X#(#jo96 zY(TFYs$TS(-qQisPpnF~0>5yddFC4b7q{bw39&Z&vNUU81P>hOd8nRK{+(@5Ht@Lo5IZaU*=f<8S1G%XFY0UjE zZLfSh_oni>6sg!|NU0H~*J}sk7HQL}USQo?@168W2=}6;YTZfrIGS%j<&O3!cSz0h zqcmuc;bX;Z(7Ed@t_VpPLl9nz#j(wovy)b@U2|J4RBm%LpK)35aP^7N$lt9-wTe!&y7b+-Im^CjwB?ziGfvDhVPH@)V4 zHNIk;@LW2E&a`BN2DCTF!Ez)7?R&|KJc=ae-;Q9MPr|R8WBtn!3s_J)o!$! z@3<2;XZ)i7j-S6U0VS$TZ{P@qS+r4Q7#yH2xki%lHFAee!We6u{1R}GRRXtIJSgeW zV{w_ihmTsc9WZ0HL~r($o^@+@?0vOT-;1`+;9{>#U<+eFLDr|h(I>c8D5TKO0WAfD zh9Xc>gNnw6^?^VwuM_TR7#3o6A#mT=z`#F<1>q_CU3b^&YHrMawylI&vJ%_qk_;RU zMJ?mWPFQwgsxHn5BXgEsLuSKi`$JIP?Qq$-7M7jRLGJL+7=o+$Hu86l@nT48RPviT zGt@_I2K)j_nK9clP*keD&Da)ZSH5|L+)%m2s)r84OtJPmU?s+7Fsv~j$gfUw?F}P5 zzwsfc7cT$+)w$Qqk$1i9XjHT;@b*IcAMo(tK^;00F9<{CbH9HqoyT9){IoFKiogfb z16Q{Su?id4Ps$Gb$I20u^NLtOPW=9Bjfuny5R$TSmtJULr*lCd)JSp>bB~2 zKJ<1l+71GmY(&)`>TV@%MV44rZVnqQYZ-zHkTuw+N6Rte7Ia;h?4>JeVVq!RTM0v% z>71Yn6eApGL^lboEYo1aX1{t#qBIA;u;!2}-DHa-mXX1f?X4W1O^HlI=V;r$)(>S= z_Ui7ot9Y9TXf~*O0S$TVDH|SwrdzVneePk!P3zYdT8ov%gJNCHc36e{wQ>l1`T8W5 z0hd4W%_Q&IWcT>xs(bZ6?XRrj&Z?p?gBy$ z@&N=C$^A9+7F>bVb?I`61Wq+qtUH}Ttsp7yB@v!!-V*i|s3&!ailQS>0=q>pv3@d-Qtms@5^3T0wHqE#w zoAtQn;6ZoXD^Xacebn)|x6sF!Ev&Uqmi4!X4G*e~_7yQzFBI=ht1{Fp5^BCwWk|dd zlFw3$s784S=v`Nu0s53K@3Nv`Ee(pIU=58pKN<_lQL*x0x40oGY&tAugG5af&>v+B zM0LeTN*fkc$hvKlN|8nHS!Y~zhYy`EgF!s87N|+r%r_pVhs|Xf)aEbcsvdM}`_>zU zHfLncn(VX8zvHuKqMxH|5?qy_dgoPF7d6c_J=-Q}?-D)gWL;#|*SXDIFA66v9&p>P zRu;lpzj$sVXPwWBsJEnCZRt07C2n;0opaC{=3(uV74y{7GYTSqI7B4 zoXHQir&`rFJ6k5~s#qklh8cz$FBD3hiE#6o`G(}4X2V}s5$;W(lT$x#?e2c%2-kGm zPyd4V`^oO;55COVsD9nOZgs}s9kw?OE=$UXe@IuF-u$Aho{6TTgtSE$=$x^|KwY1OwG|*_9xi| z>Is+OG%{8M+L^fb%v0t2@yQ6d4t<0Le|=?DwHW3@F6sd-MPNrs#Op+m>ZYliN;eIg zAooiE*Sk#s*P|b%aCWXbj~i|AQdbJ5AXYym+h$1ZdNNh_>s@>6&-HS2am549C`$)^ z#Z{^wJQ1S&6pfH*pc3Vp{W0=Ud5XDHUG?=x0arV86G$emzb^ET;Ry)rBtGX&5tpFk zBp>OYRXp?t+v(~idH@ykXIFqMBl1ZjUO%vIapYJb!@&^fNUt37jg=1g@4s(_FN#rF z?ByiY*33MBY*^RDcz_d4=)$3i0Wc6aAzd?BR7YYss+3hbsMj)4KaQbV$;3#VE_ji7 zrC*kC^m>@s59(#Tx`=Y4Z%K_|K#R~jIyWXOI+G&hD=>#`!aiOc?=|+(O6kn z={;RJoo{glGWFIWqryzjEZ$AXC4>5sSjagYTp`vIPn}T*%Cz=|yNfEsTgS-(%gu&t zUU4tHMM@y$Qxmsuz#;gvsD57Iy_hi>4$^uVgwt9^go|D^~hLEO} ze;zCe-YXPRJJwQb$+H)nlZUK$+4i8+Dm{8b0gb!S<+zh}_~d$<%#Vr1l(I zAs6t>;dd$0`fH_#>@2_(t-`gzpHB}n{_=sL4l}er*{)M#$HO?|*8b-#(fdiknpq=jn2|EN-QDob<=FfzLVjn@^; z`{y_uOeb|>AWORinwklJ6QcH}0h!r;77Ik3QaC09x6xhBu(D46 z_4?<}@C?F^G8c6Vq$0~{ZcV}uYqws=kFKmI@-}6iD*3F1&!5443`W1b9K}$=4|<^K zOA}Wl(_*#l7+@N$(0QaMXu!acO&gys%Y2ya?xmgxX7ts@PO$Z!dWNtT9bR`5z4=lp zAE`~lthb=MN4wJL$GzwWdOR&n7kGup4BpA*0?uL zR;0!*kZZ1Z@SPX=wpck^2q@4my6XO+_q~#Zloa zB)Sj0Lv~aIxC@ujI=rGJt^>p8l4M75x@sqx+(4-aP!;daWHX?&kbDxI)n#z zUrRbO%)MjFx#m!PW&Bb@xGN|!H+}k2Jzi8uS^l!SKDpkqAqm^9+oye`x=q@;AR6G|`5XF&&+kA+CVKc*TxS(Q4h@zSs6jNCIliB3G6FME&$h)xc4 zyNDe%N_{e!I84?)iajN10<5x>rVdb(B&Ik*c4VXtza;?pxYzJJcLWYPiT5RpvL28{ zaYRh_h9dDaFk=0lg$B4gH0rT7S|(+={lPyc_;9+befs(?{pQcU2(9MYiGrQ45~d%k zUr}HttCI_6Cqu@gkm!fNh&gKeAme+$y1Yo;oj6!|#vT1%^i9+v-@VG>ekXn(=rMLQ zp~%^kl+2Pn$p5(NV9j9u)tcx)t!wqYkSkLq4;|Mjx;CbEPS0(rQ6*3$8x~83F8+-~-?}ydYL9mEy zV26zeeu)fV9zBuXYN$9MYC-ferz2X-&e0%wP*P4&>qTbR+T9(c7zh0mZh-6X8nY?n3j%OXw2e1x=8gM=#EUN>_Az`}?CFDVyr+khyIV3frLf0+vI4i?hQ4`Z1m*HFy=BiX}Do0&6)STQt^U zG#3jQdNSyIM2v45UM8*Dx||t^qc0Y`0=+n?%ou$p4Du7-^zMY>`g|SV7?z)NGB_KK zqZtPe3$??NviYZO*2a`N8!V3)$X|M=Yr%f`Z+iDw5%d1!e8Y$_^pl#GO+4skAw<1_ z07KWhx}}}*kduROs8?&jZ*UuTe!(;MEv{~9o^S^Wg-;gKaa3@pKulQLYu zV-9KO%tWgdhn(D&4YfC(oY`!d^)J1f?Gq3Tok+|?3S1v32RFFT@L4W}jH*k+H_B{2io402&?gZ+XY(>q5u(vdbx-$&{fSza4T?*?I?7UqIAkc-n2Si_c}i40e?5>I6MkxhlKrZ`$;DV-5j> zUa2rv^m-1aJ(sk!w|7_jzDjLPK0LgTCu4m6{%khl&nKT9%sHbeN zm#5g?pXVEJW>9sMp8=Y~DTmoS22X?(%jC}B=ns-IL-~A&@SBi$9e1`s;O$k*HHH+=$B{Aa1o1ix|y6xMc*I|_x$O- zFs=tXsjs%0xH^317fAD;;36N97iCoJgCI+g(5D-61-u^-0@*Ajn-Ha(Y_>|p17V;8n{FzFnQ@z-V7~P2HqSvth=6YC-t|iMJ!s-S?hu}H!j1@Rr=h3tl z^}d?Nz7t=aT6)dL57D&g84gUE_cG;z4S$ljD3sX1IvNbORsf4jJ!uWUWNLC(p4_F$ zGZvrX7I0>6yj9e3-R-;9<<|u65l7+Q9^iChQciHcZ z4HTZwiSaz)Xv=}lKY;LZ941e`5-P2S=z0-GM(582>uA)u5Kp&B)kz4>y_Eq2|S-mmZ2t)?A#ET`c)CC#zpv zaTxc`j)uY-Xs%W|%lzQ|Au2rK!SH#A8lQMPl;DIoV)##Y_3LzBn@flhB(Lva0Tua- z$)X39wTX4HqW$8FGS%d&jFltIxC7Kq+ZW?dS|$e&LQL(aU6&Z59}=49YtVrmIFN| z>c3#!{C~na82A5$b;th~tdo371ihx_^86oI*L3w?u+A>^43QI4^&?b&?SEk1z}Gjd z0|HR_hIOz1hIKvGpFR|!e_@>;K=U`O>;Lf=*46$mtb6@mSob`H*2uv$Uhxgmb7t~o-`~pQ>q zZhl5{T_>Ern>@@)rn1Xv$6~V-T#tJOK;I!%JpoxR8x5rhYLc-H2)(<0V#=a~Y6>KHP}p$6@k1P=^RxHyE49-@wEePTF&6XYF*G=K0?yrJ6( zH@{ye%m6F!YQtniHpfWOnGdz{3wN)Z3<)D<;zp3m*Qfzp!XPQafqWRKxfxQu{9qtC zpm$+hUo1DVC$ zn*YPo4LglFMWurK`+5AID-smluR|({}0r~E>s=* zk5=u3OErXP#DBbA45&RSIn+AE1r!CsCv%MckfQZ&AohK;h4ErJrlL>SR!js+VM-qd z*W18Qc;B-sTNXD}dk{J19%*{>Fu@RoxeHAKxMIC13lMa=taY2`J;ejF27L6ai&Hn# zEl8S!ZDfuc7=!iP8483sC=U38W+5ZiMkzdEd1HoN!*2vwvZg>QmA6-K{<`XPPspENPHen z1ePZwLpRq*S+VUdY`jcgvVvypehsn|DSTc6|Bq7Yq|oa;OKZuGIo>;vjk^W4q4-_< z+9Dd=R|xJmOeJXUH`FOO-Yaw^T62Ji}UzHaWAXp^Yxb#A1(5Bl0)Bi)HV!PF>kQr~stIYqMdRUfF9|SK!kILLE+o zMI)Y$_gcve*>3c_q@ln@aYz7RnAkMQX*W>x98-OfQ!_a#ohnB{dk$%_Zh@6N+S{hL zJQW9ETF10W{eUffa$KPySyD+6A|zD{@ADYdh+8JODW8w~K9^ul89?x#8fKptu`mJVz#eN{!Y)kb(rP(q=d+buQ2WGe``G>{dM>F&8Od138U#l`Z) z&VV^jkv)HUU8deUG7<}1wY|$`j{gv-B0WinQosObxpfkIMBa*0MHvk;4ln?14VKOZ z^@B#Iv>^m$4I-r{RfLUh*6N>*JkJew0qlj<)vebF^>iHPP{!Gd6LwgMn%Z*M9Fe}+ zJ9mKz@m~dcqKBRV195E~ZXR%BJ>!zv)F`S+S<77hRTE$h;6ISEiC-_dEcGj2OBaOS zLtSFLN%~m;D}p@!KI%R%2)R>2_CA5D7kC6`ZruS;!D+BEL{Ux);&;!eKtD|&u-D|@ zsn_tFgY4L^b`Gac7Gw*O>`%h3+G5;bvXlxKb)7zJhggYU3Roze&h0j9tM#!B9<*s`m16 zR_IK{zEvh^{RT8UC^~dejSPwRM;C;$cx(pIH4nm`+jqv`kj$(v+&c%Di?7V?c}>qC z10RrEYNk3U92uY1W=DH&bsy8A&c!F=pL%th)h?V0i+(0hto~rb4Ag?>z=aMsgyd;5 zmpk`%>V)e{3K&#Flc#MrZaa;BXYN2VLxS7%FkfQ>HA_HK zdjaC+fLtB1Bshile7ym|HJ7G+Nmzf5)w-~}q4JPgaHx{Fx;vnWLLDD8@-te*%Z@3D zXSc3wUvnG&wMGeF@1WA$*1XKzMxfQ40}UIZ@}^}@xMdIEKxmlS2eA4$$lqH1xkrAs zd#Wl>(nk*PmvApui89$QU?1;Kp&QQ0Mkwj8#2-Mt-u7ub>fc0nG2A+o7o2?rkiBw!zaimXw+~Py(lV zI(NHpTw;+X7_`@b3SfMM$0@9FoB2Dyfj&;iYbLNb?Wl_5W%sWc-55fSUrfE?#~2xh zR*MB;hMnZ=43rRFN7Ek)Gx5_Kf0-Q{81#GKGdjfs^QzNdX17b4dPMevNKL%SX5{-+ zm(Jii)c79)I2hT+l<^wVDR1OjyyIGNxXDYT6t6G#pp<)%Cu;bxMI}6fGcW&a^1Y zGzUnyH)I;ZAJc7b({)qLfu&fM94$9-c(>r!nc;Q0QZ!-6p4R`ky9=g>d#*i#_)I*O zljzBVnp&B2#r}3~<8Le_=@$gU^zj}Miz~J7S?CXk z$Ulfa{L^!uqfgLWD$iNR_<6SrIE6jf;NK7i8&!eNuyj>4PiO{F04Z<;fgj29mNeeE zfN+gKc}S?ZPbd_RuN*IiQ8+ySSTk+nI7G%!P_o64Vmx9DIX4qWgVu^YDzpMM|MHP(gpHV{sF?;k%ORhj{M+ zoP8y603To$|8zMr82pQO_mZC?|v#{Koh;cIb&@PwZd=6_x8Ur7&B9>}$#C@S_ z<%d;5I?1p&%kmIM69!L-R-ucDYatnjI;qRebgR`WTfek@BLxmL_gCkQKkx2M{!8b1 z4~tk{7=pz)a5}=mT-Rn$JRwM?F}*8eiG;=vdzM)h2fq|4lfpd+mq-BVr#H1vS8f=O zOr~DP#phxyH&+=P#6g#No)mq8h+LzuQ7OhTfS?o!p~0z`9qZGEK{1S2kZ>6du-r#N z-Zm}!|K<^^zEbL4@_h~ee4FbL4t@N z^}gh+O>3AJ{!Ar=6yXAaR-!L7VLwNM#gDAhv_+0b<=>-ficO=au`<)aG;!2>q5sBu z_lzLHh)!C)sGRd=U{S6y4{-?*`1EwCh1jg>L?GZJ)23jPz+N%$r1!1wee;hx@*Qpl zdxMEzDHe9@Ix@^2%w8Lv-i$-+z9)er?WHI5wR=o(ICG?+P}A&?pvg@4;CsINQPFG|zHB@GFDteYJp{j7DWl!Bx0 znY5!fTO+3|(9YM%g>EI{w+2%5W61aGgee#}{j7E0oL98#CCSfMM*VqDA{pHKCsBT_ zXFh6n^yO)YZ|z70lRQl?#vD-5xmL!_pDT_|wSWr>Nr-Ymz^7T ziKXjF{H}}?caQ?B=-zAyuF=JKz2!l0mxB5-wA3FF~0{US;Th#_~FRhaP@ zX*kzwdxeFLQ>h-8V<|61Mc?(@aw^!aOCU+ObQZhT=$Oc(<~OxsH2Y5JE_@mnpPI$= znNqM$j$KI3`j1VP(p_{@qxZ4TjpbpNfY^(WC;D9Q&QIwTSF^!(mUHL9DXnc&J=@s| z-R&&j?rnZVEqfl08Jghugzqr^iyGBz{%TSm`>zgboE521s55Ivq+G=;88IKK8TFOr zz+I-5Xxphhd&{mTBRd?RF}Z}jv=3;DW-+@_N<+Y*Z2_ZRkTT%qF4Z1!t^>bhx}&%s zN%v%%e%)QWNEBEdQh~0R*S~LSq+W}xRNz@(+Um0ntk*@wF?4Y#QPhCM2buIT|BQ1e zHK}We>o5V6qLcY1H*Q=LAlIMX7ve>crkVrO@_049I%{$rnYtaB5*?W`VA4AcOpB>b zf8jES9#_2On6`xVcWY4$h|+3HpMuoKCxlO%oUDUG6mFT+vQ4Dy+1<+FP74`gfI1uM zcwAPFT%0MHT9`ah)IQ;;Ctwl3^)b=kJnr7qj#zRST6^#R zMC@~OE@npFWMo7}US!TOo_BDFWPJaCxFoX~53Ho>8u=l~ndR5M%7r4||22Ez>-y*a zGJESQ|HJIb%>2vjp+6fYE9z*ZN9Gw1VQT+l_KbG_ZT7HiZ5HVuQG&?WoX+ip;oY25 zpV7B(|C&9(lm9k*G_wCPdvl$C&E6!nb8wT0-Pk{74>V+i74+Ne@iJq_{xy3eKaxZL zn!S3#zh=))TLRx;bR_TriQC%3=KnBzL7NZ}w_ZMHZ^L)rX77)RN&;Tw%v{svI-j$4 z3oz-X9+8gDg&Y%{T+-4l?8z2Qbl{91v7{gQxhmlA`*9b#_{)i`Surh9qygezAV zI7PG+1KVJ+Nv|r5rf{^f)QnSV|0rM*L|bmzF@^(dQrb$Qu83hj`zVGHHn(pgBe3Lh z7G#P%Q@yWjTx9|4Aam^IV;V{IH|SZ znWKaK3VwnNpW#wF4?6UTDI7SD(LbV_LIn==3=u{~#ZR#)4)*#mD}x#J0JJMl53Zq`Z(A{ITJefr){*{%(IQjwS19 zm?}Oy&d&$S0Fmr9|1rwDwjyL4Hg7s#$m^@y+<25&psHN`6P4cIj;^gX zO@oy2{Cb+&)%4AD4M8eFj+ z0ZMFOOftqt@KUn65koyyg!|g@i6^#l^Van#X9&gC&_w-d$BWat%s&@614=sW6bL2| zaDD!@cNfHO+134ZK-_&=z42}L{F5L``GLS9Per!P7h@8md(GOPotJR9kNcn+awO^b zJMe6zxfRG>VTvVIMBF=Jh=3vp1GHMLs~u%wEKgiFM*FVq%&*ZQ&I4^6Vc==c2((Cf zic(x~%{?sy2ty^B_MM7w`P;VQDrocfxOy*xvEmo(oG| zT=pqHP!ZuEkS!rtH-LHZwX~)jkoI$SYBH0B5^p8YRzNoT+>d}V8UdjReG9Oa!Wag7 zQ$dV%k2JFPyE&3`i8JUsM!{E8-i!KEILcdRDMCA(b^r-~eFUS5?T!DjlPkVEg_e{h zn@?DE)JHIK2+Q1ZwIs0Z)6C0k1Q<`5*Fp4LIVRg$1e>BgUA%C>(g(3jPf33MmYR+& zjERlArTyRPFS&`JXIvG>9dg+Y)RuEBoY_P8on|;uHZcF!BXvaSed9B<#iHelE^D{C z?|EZ|;qUW*wBK^Adg$*u$!fzU#1x}6!Z{0)UlYuMC!0X+Sar#{ZU4LW6LSBL_OmT9 z9HBG45&f(ECP_rc(QyG)8BsQ{g&W8sbopt)?RJX&6JrQhR&o_+h8u?NWX32@rG`VR zNx11Q{y~8-T^ocq7!aF{ce3Dhp3aC}mPZ1xj{+_CIY2>@lv=a}aD~b8ZPg9tM)c?B ztZOac92~~ZPM1!P|7`=?>c&hz-W-Sl^O*sE12}Xe(SI?UdC^vr^}qOaY^;YnWDP|d z-(}ck!;nYx^d#b8x+GM8@xWF+(TGp$$1Q76^YPt+A4`D-M&>l+!Dj=FB>I0}rhn^M zA22{(i6&b^8EpS4dd!{SunuMAm1T41-ZOC}Z{VB)6Y`=$N;s_&F!vX@C5mkUg|8)^k`K?jdwAh)GXpBFY)H5xcyCO zh{_i+yQ`vjcOJ3J59CI(NsFdxMF}G&i-qUm^)CnPk=m(S;va(<2-AC-G~J^dYepJH zxqOin(x0|HX;oD6%N0_3s!o2oS0H_xV*j#%bmtic%Wd(xSHyjr1<>wjnTfG41ATLH z^ko$Jr>Y~%r`%Dr1odzC*iob0M?mFo8XguWH+TMqXj2Oj$noyEM|&@M9oV}fGKAb5 z3qw)V+9oMBc=7&DPPGeNXczl;?I~`?WQHF()egpZ7ZAm);b5u#3OwLNTJ(R|SRcN7 z2|}lvaouE*c&n03rqTI}DC1sYlJ zZy$3R8#A}rOW`6!yXG0lBsEd5_{h3g=Lalis?fm6-!$5{!jVoq@+a>GKmqLMPTE;v z&e=w!wcGWR2%wV~@pog5`m}vSmLjHLak(zNPvvQUqSrq${%k!l`{WIh!U}EoQmbBS zc&1Yc=v-%HK>TQUMa~ZDY`tb}IX>H+qgSkAE`05dm@bpp_rRoETo_P?^UKu2F*(O! zRb1kBYYhi=1no#e?7ly3nA;*OJex{7t1xF9PSCc)E0w#Rr9xMxOw+BHH52$!3SyiQEcm;pdW^R(F!3phdquSB z;83s7)o0hb(^3F3+UkS!S_pe0(W(Bc2|rl)N8xnpn@R${?*=d3cS8U{a+ted=H;O) z_lf(+t@NS%G*i~Cv@o1^Z48R@=j8T_dfz=e<&_Bm{H4tfnd_~htr5j2*MPBps+pe% zX)d)N7)H;2ovvtH@saDU!9iSPxv&s#P7)(As;unKToaIjXH{Zk~6if<)fP-(E?0w8PPzqP@r z@#s7-7#+K34L`BMPU>68lC{M4`m%V@voVxmpFvcI%7MB0Q12iz1GScp#8_wkqC$7> zwOyG(m#KfF!u!!=1xZ*B_SF&03j-B)!VHyShsFXootSF;7-Y9b(A?rs`wqlb=H+xEQe{Wrd@?#Y`TMw4g zfY_bo(s_S1JP%cQlkG1SvDle!Dti^hsJARlAnR(6OXKYAGA(GXD<^CO+BK*)Oyzf7 zb;rX6-LMKDkR=s1@$G=aOEm;`ZXv)mMrGm(7=P134GyZt>&#(1j&kZ9*{%8Cj8ti* zfFcV2riJ1-C_z_b>cTag$&T!U_RytV-^dB3^05h?Ldc69*H zPlpI@cooH7bo=x{4IlH6=6|lOLYT(EJZA zWM=-Rg-l@X4S#8&&h%d1zi46lK#d3whTY(e*Oil;5!Q4XoUF?0&)R*FgCg`#!6;usSy$ zXD5VvZ{fjL+~L9gP&;V>L{;V%DJ0vsifLt%sSj#VJtAi+Y3`-hdA?Y{_7O9OhcRcy zd~{533<=^O#k>SCT-mBH!T&)$9)p5i%#MIFbf?KfC8~1xR?aoSB{A0FpQ`eHmm?RM z;oX0kMOi}r4kF)cNu3+ExcD`J*V^O+Ybspa-0%c)2S8Qfcq0R51!aa7G(q`{=?HZT z7u1l~={LUoh(bkd( z`cNiGwI5jZk7=U5LCz#t9?-kn?w(B-RAk)rTmP>XDW(WRrc9REfa8^T&2% z{#RQJqZdnT#MPj?AlQ%U8PzcVnv;)c!HU&;njS9dZ}XPf5UUD1wW_>9e}x9vk1MBoEbUAKw?2$%554)CPMmP%NquBxA#QSedP5-^9icBkSIt*jgp-`Hz+|9o6q+ zPY@#^hO+IPk`zODiIndYO+5;vA+lJNgmUTZF>OwUK`f#INM*GW_#@iQk8ZIil*ycC}ZT&sg!0v z%1kBLT>*aX>$_V&v1A$sC$-^+0z)Qjp{m$m8K<6-zb&Sy`c&ey8Yo2%SEfR=HqBA` z5&||dK33z@7eE=YEz1cvzn345L0{rEMggKUStLe|iilU{XUX*8Q*0MOMUfj?wY$#|aB_FvFNW}As}J7i+RgTwDyA!ngss$Z*vUfeS_1IW@(z{iK865Iwv)(bl!^%;ola28CSssHtZbv6WHb7O# z1^@AJ&z)^RwfbmF*DrlXn9Bp<*z=7N^`9P*f720N0cWkItAg3$J(;g+5<}h&D}tIwWX_4BSA(^Z6}3yJqh{Mb^bs(OS<(Z z3ee_tr1_(#)r(4*GC)WWzryI;Q=WDRo9Z}+?whc7KeMO_nJ&5I{Q9OuVVydFx0|rV z*IsMuN5$Yf#Qgo{a)pV_vS!4;$jxA`Inkjx?hj)6i=7ThB6*O<9av&c3lFUryZkT& zfldQc+D8ZNFQhH9nI0|d!of~!RZT^%?W}Qo{KeIwN{VqfQJV=qQ=`fbdm|Ez$s|D* z_-O*K0us*dG<`c-<{U zCd53Eo#bk@{C;CS&FJ7YnssbJdbF!zfNEhVdxyDf;Ci`Vx<7+IyxDd%&jzlp^hZ+i-LdvjT-%)SrO!Jkf$UN|BsP*~zm1gVu z1pBkz;L77(U524fE}_)i=7fXUYs-o(rQlqva8;=KcXuzmZ6=!)p2dr#$z>eIqn~i2Ts;=J5jo@ifT?MObfr2OxIIVJYDyCl*nXhQfA5EA+Ax$qmuZjeneCwB~l zon~EuzidhMo=X5-e#gw zA)OUAj+XV()?bh!oqNWl^8S?qJ#XRBdyei{!Gg6Ey9cDcb!oU}%X=nOs&n%~Ak@C+CXiM~cbHP28KL_JAvrbyGH3bi^NM%MMR$mYD2pb3y z6!MTWgb6Ibk>#Y^tq*@R)NTN{pVB7 z!LC+oolg9S?G`2o_Y#^2XNP%p?)I_aqT32ji`P5d6`r-6=7k| zc!e#C64@)_JZ=>gi2WjB)bjt8KyI^|QHZ&G6Ud8<|00m#G^PI#NTkRAgFrSceiKNA z*lz+U&-fn#c|uwCe<6@z!~Y?WC-Z*^vq|JYmjNhy7@#r>bKyYY0ouLYJ#R*Tw~< z&8kaNJyIsv07t;tmlGPiuuh~ls6Uxmj5*;@(@+*ZYx?Oq8h=90t$+!Np^n31NU*x& zj@HgQ$L!aLpln_+EhW8hr7s)WqB(cALvdU+8_KVAIfR!~4=Mb)D~oU(oV;||{=l;^ zg_5!^9WBlX@dD5P*d>Zl-*9<+)dJO4#cRl&3qpr<(s9W_NfeI6ScAN&n(ywC1L-B< z3%Ic7q-spTBGZ;WzRA@q<+Xv|5qFc#Ce#kVvJKU3JY9*Mny1 zL(<6uv_3`9&~n#xW3?XPUC}+p+9L+ik^fA{%R$tm=nCXl6p6HPb zc6J9?_KBytoB7a3B!~jcsiyop8^msQROkAwKSV7-1NhvqrADjf2Ae zPuA4vp71~5N&wsX1aB5?PjW&W)FO%CTfBjmP^b1-znU^Y#*Ct8Xl_zA`gSOYprxhw z!=3|FW^HBpah3XrwxP{>uxP1;xH8|kywmFu{Zxuz=&*|G?8WVSwaR{hifZ=x|DH^K zV<&NJ2b=Um5Vrz1j-j{eR_<8sQ8kE=xJhaMY?S0ZY~UxDt+*ElBQPxN`g7xbooNxRQ5A2}u7hu2ebw#+CRae{rSwxv-?6 zlr^b+`8TdqbcvHDL0QY`1)oO$iz^{mwb`?SN84%{TOR{qEQ{!UK{_$W-*@MFZRH4l zI?$A_O*dzo76&lJ*mNMg_#Y@PQY|DK;16v%yaDX?P_F%``!Ws&{FUApHDMrBeN9U`8=oCNn2E3%?2QFRvj3(Gnf}Rw8tdo^E$?}COwDIQ|0f; zh4WHX___~x5eL`s6qz#TS&e=v65-zSkdZ5_+WI)X`-}%zb2T1lKDW^Cp$6I{myy?n zt0Wa-)0KQwmVpM7JD_Cyu+E!V`*IBp{D#Wk6``=v=#$$HOj(^oVA}RX2I!MfB%SHT;=Smxi%(pdKKMW=ANsvdNVo)30a zVhFkuO?F8GHbKiwg+)?1?Wxzgw(4*!WebYnW^+~5QQA-%MbIQEKyTF68tA$@cM^Txybg86$STDV*xVm6Pb-@Uu>?^!2C>hI?im{gk}{ z=h9z%=@}1eq>`M$4OrRqYJR+Fz7@E#>O|JJm(6DS1&`dlj${>0(~Y7t(Tzf$7)y76 zFL)C?5TW9~8*oQ}GJ==R^P(eX1WxhH&AQVJPLYV4{%ie8h~N<)^g6hQq@zTTK9hvC zAYE0HSk$gD^R*A-iW&I53G@^{DQ7ZdF9Ks@8_IH0pu5@ssu4H;kSnAE_DN#R`pKKX zZ@8}m9pQjLb`=NzdkzC$xV3kE_QUz-7UTx|so5JIEH}>QT4etcXJUI1YwNBrZl0!H zTm|GWKwfuFbO6j+z`*VVu|%w>-jfpLLKpm#y<~PmoC2cR8AW7VT3@ek_5Ej3b|QYs zx&F_2j(Eb*e995}Bq!(|p`ZJX5*kG8?Fr5F#|iA@$B3Ha37WM}nH0J#@CAn>(?=g` z@{)}lZ?Zn{Pu0N7=aE%Up^M@#Rde3JSlTd0_UV~tT3VY)H);{PO+ncI38MhH4(BS z^}`;24wCn=5xz(6e3{#mJ$Pj)3NlAXDN18(NgKJpIMc_FV~zWKxynEiinwj^HH+}i zX`OAJsI+WE5uXR;uA>&ULFA>naZyjVuv;C+P*qu0H8fAR=$rSCw=kOf)nAK^P=>pO zQ+nGAr}EX>ZECP_99Vq}y#vXnk;4m=qwlOX4+m5f=-nl!x|=ZL$_#xL`$rN3&l$*j z&NP+}wh8AP6#fe(8V)=eP2qSDxf^0^xil(6u{Ab5>`LQi)qiY>-c<{?@977=h343P zgt2zHi#f0RzlG)vCr5!<+%J{CLQ^>CS;z39mt&m;<&k(j)<&ci?ydUQYn_ExPPC8b zv?}GZ&h%l}wDv5|kL!7@-P}$Dj_65#_8kk!7^7-($i#DAD6!zk_#D|9V?Uic!(ARV zV7fXOBRfhR5V;b*o{(ac)8lN9#NJ_h!U#@|y9e0bJ!3qg+N2nXrO%!bsUrmiCs?N< zJqwX)4yHQH(E?lRJt4_%evLxiW|~cS480HBQ^fcZu4d5%>_m|xMhzkHexXdU#7bX5XBcub#8-rV(3_sY zh48FdIS)6y5F9Qduf9f|Pny;5K8%)+M3JEhPXRuog}B)ZN6yho5B)+eehkMvBGB?! zA7wzJ?T~1RgK>!AAA&OBU5db|EQkWV!(pk^<^u96kkUTcY2k6~T-l3Q-Ya97Po?n? zY<+8Z9$)V3v|uGVeO`DC^0u;!D#wLJ+i-hEE zMs{DTn&jC3$^0XeYnN0|C=Fg#8=7)bAEJ@{_I7DtXxmb|0(u?Wc1;;8V#2S{vti}r zaxnR5I{+QrUJ*Dqz*$E5%JiHZST|#h3h-8$NHp zBETUxzf11^PhoRU($>!3!)d?nlRA?w&hDgtN_;wgSdMrJO7Bndtf))xNm*I<$us;i zjIqDDg1p<$2UE_yM8U!i8af$C08eg&RSYeq8|R)UR#}j(E|sl@M6#8AgsD%lMnQOi zBEfSq+b*g0mZ2m*?*j+U4G!a2F#GSw`4XL)7BPbw4LiA-SZp*L2)&)eejqrlG8NAV zc_l362G3eA7ldFAc)H2?B???Dzu9Z1+- zym@FRljiaIQSc8#a@Cm}%Y}8KI zjcR~X2U`uQ8bR%X8oM^t`gB=TRkgW>d#mrv^>bAk9ShE5r_YD>Qq%RTa$)BouhI>n z!&#+1tJ@tYKlh+uT3jg6946T7{zv$dCYS?FK_ zw_Z3`Z}6rnEEW+TF&Xg8?>C*^%+Nc7A<4x^!}AaxEVnCfVVNv@ec1X`MERP2;6a}( zqeMeEQZ&)NaDROzJGl7zkic*Kbl5mu(k6R6eN9>-5iFfb@y@OO3efw4K>0u_@aBjk z2diJqcnvpSd%ipK{zBTCM$lJOeku*!#l*rbpVBXfNhS+g@t&5MJgoSs(9jW{WZX;s zywsq`D{z5pa~(sbBN(6{IWpPRrTmQQBfp>9>xCZC-jU zYN~ICEw2|)NfyR6Z$f+#-@Pm!1GaRwx*%krO#n+VN-On3-%VrMQikWNVI6yUs{Zqq z$XAzdg)X`^Td+YtGER2XN$1lnU7ccl#I!BC;P_d#e%(hVy(sng2UAA~s2o6#+bNBb zpIh^Xd|iu&Cs#?$ecw5(tDz5?rFeWH#Ljo>o=9?3K`_`B;0Qps)btz9Y72vzlG3Cb zvNwh>?ic4fnmJE#*_l38C6^TwI@Cx@<*h==Qrua@4(eFR%tC3HoqdfGFpVyuq6MdT zQ$KsV4FINiM=$Q+wT9_Uy-toBhi4XHp^--@XoAnBL?|3AlLK3h!`PyEcntwaDe|3> z5%SJzPa+eYLsaaXE^~4!7Ya{3bZ!Q0I8crht@8i^X^%Bbo55x)W+%HdOo}2%06JXC32fZ-n&WT<4n_g;e;##fgm5tJ*fIx6U8jT+jM2M zm&*EZdj5QzRqrPCs`aQk^i2Lph%e(fr-fby<>B;Amoup#+{z=&ndy(H;-~fn#gqm~ z`@!74Q=>JN)Ne(V8`Y5Krt(NC6F_LTsW82-JR-7+ktS=Y_f`QJ%tsDDD;nBFI9HZz z%(D4&zBF6bBMgIS6~^Ay{3FJy?%j=jC^}gq`N|SX)*(B=harK}BPD=}9+M@}*+DC{ zrdlJ;?qXRAgcKZ>fsR-jvQb53p+4IM7{-g}ufI(cD!}a++p6{`RgN zp?V>$|Nh>Hz*gn_MCs0z^3gbw6`HQ;qL>xhlz|;~OQ>mF9}&Jr)Z`F zJbUm-)4CcHzaF1FOwb<~ymM^up*vY8k#G!G;{{+&Q#N?-C#)h?d?@`S;m#dbm9Ffc z<6LE)ZGrXw+`B?Fn;AsCOLF;@ST3OELEZR_YA2nk6v~n~8j;fs5YXhrCSk5Gq0kHS zQ#1_dG^Tum98bq35xlI$={9gX3vfYRuvM;FDaF2+%B3K&D5=1@YFq#+of4^XK4k7! zNOdJ|omb|t`4Kej!TRkckBzuObewW(eLkO3=(K#RJpoD+h0}i?gAHR_K;8<(AETu2 zvq0hiTBM2d_Q94kv#(x@uc>5V7;Eb<9S0BweWZ9EeGmpAf^-fco`gPWwpPaZ`oa#t zb(a(kL8l>%)G^Qi6eI~&5fe9=cJQP^qJutiJ8TUI+?>zGo%x)BNH(vU-&TDk|-PA~y85PN_x5HOPgnWDA2uaot+yns6RM-<@uR znUzL*#tBY;T=A-V?%vQ({~bvkUhv>)4uHPwV~hp8ql(Yeer!w*B7|M0H$_+$OHTil zUI~V2Q#Nx4NuifrXFY7FZOE9EP;ZS~RMp@U7(FFu?^lalb1}n?9~Qg0GjQUgFW_4j^kQQjp^_=5>vz7`I#CqoQ{kM$Ds; z$3DbZf~oB>M0k>EA!vY48ebU(DjqBj*gOEQ;_cWJQVq;ds-Hx@*WKqTf1`f|z%08V zt8woPAv@jZkC$4p_dP#xTyZ^DI}tqm%LHs2&Ad(S)N>y@Tv^)58TEJB@K}kd5w@h+ zn&v6_Ay+Yopj#_Mc?Va!W7`~tO%GFm)g2!mZH1HLhP2P?RUnmATLmjC5TU%PH zIJ?dr9jL_1Z&QZjT?vl7_!}qm13~4=c;0Dr&v$F+lin9YHlLyFij1AWUPRYu%E&Op zWpl)jTEo1fI10xxV4l43mdQ2X!YPREr4-cG&8KSpT@MKT($sgyZZRAvW95N*VpTM+ z53h467-Dcq89M-p!+LG@aIyp1GO~m24d*{r>UtNke*^HP2(zyvVh(l(?#W|*ptMJh zcX~o6R%GuaVoWsWk{53&{p8pTQLKz(NO;M*uyC^=Qk6An8ws*?V#bhWNYW8z$)^Ed zrHgNX>p$kqiG zj9&=brIdjq^%0HLl!Kf*3tPe1j&fM>zo}(Du|~lZg`(uffQJu)-q% zLEAxk=S}vSZo?0hfQ|ofGi0kJE-PXG@%Zz;(CZP^*6XFnR8^i1?`M2CLJ=C8cNhf; z-sXoIE%SZbK6lxW>J$y?>wfCHjwRBWB=kK=qi@nus5e&g*jIV;~3iodb1J5>1G=-V1=c5$nOw2Vnt^f5@STxF&AaRBsbeDb9Zmq3j)#J-J5 z$sYJ!yOuV#)ScGcIoWvLjc0zorL=KHxriAm-(d}N01g>Qb_8x5@l5E&3i|_7>Cmd~ zYgE*Y&pyt+LJKu3uY&Cd`?Hn1yuV5sxc)lsIcZ3BYq|hv3!|3-5@G^l#%?i>xl>aj z*##tHdj@*PCC~Es8r?F_QsWEEB}mo%J|hV7pk=k7#d?)Ci}OO+W2|2LWpB{Y|0f(z z%b8PKi*uOsi;=Rsp}hK+xv= zzIuq$nHp0TL`o@h2nMwP4-`rB7I1O>H9Gc+hOhv$fH~}9%AHf_x|SaLsVz<_+f$lf z;A=EwWXK_(q3!S;2~ef8Kh9xK8Q=z-)^YrvItM>#xzhpX73GYz5G+f7M@cVLozlY5uB4rg8Gn@)WhRyhfX7f4SAC#j z^sGdl$r)z4*>_}%IojvV8p=rAp`Kp*xZz9l5AA3E^AVqYT%hsgL_No*Byc9fV+RIH zp)>Qj`@~aPOWHID_v#fF2~o$0X%gMq3y07jD_jQe4*Hp!R8L&Sw>DENi_4~Dgv@G8DMT}~?v4JUT&$Ic(c)(=q3?th*75O67PDe(=)p^^E~CotCH4= zvX3SFce*)Jf~_eMm62dh40qCQAL?&LpFHl?i+jzL`*2d9@_eN>;&6O|Ngu$qUuj%c|X7&({JG`eZRAr zjBZb$CpNWc=SY|ly2urma^gh56nCIx0bohuPrgv-@qEjWd}WDzK~mLqt8N}H#NEY( z?qkvH9ksC!X1Q!cn4HFQvL9g5ZS6L)Ptvr4HpWIb#Ki209TZkKL~;F%{k5n!fIBwY z(;owFNY5VhMVY(+%lDlnEx4T?b`v2S(TBp$+Or-ZD?8 zb}3}7Qpq{gl-vrM{BIxf4Psmp9RayBmz(_ofr8)hO?jg`NK4Q+rjz;On8+;2&O3*w>tXjmBaZsK!z;HJT2Att|)Eka4hy^r`y+Sd6!b4v;mYTOWw+9`RHcfsoZJc&JvNgKO3uZJBx~Q_ z^)Hh#Sq7eq?UXV)q!1?OW5|l@a+FG>FP!(EA|)xV$o=FrC2EBj#!uPFa2QfTrSfp* zPZTl)wrnPWm%FipmL1bd`p?q*g_k1tfWuH`$%hSabc_I=yH-^tZ|L^k){8W8in_%& zlR)iy%7*)U@aa~oulNepa%^cA$Xq#|PT5Iv2{DILz0fHy4U2Cxh^Qb?b(TL%$% zrf;SSM6>b{=P35o8X1wYNM_iO)t0&}wrl9NKH*n0lzgH(C%e*DJv0uQcNn^`12$WO zOZ;B`&Pbfy7dInCXY*K4U;Bb?;;h=_oP(H<99nVoi|Iv)d}8Vk+x94B-KazwpQoA* z3qfn>x-hd?X~R^1tTaMC{a%!;5}M444=BV;b?ex&;IJYT<=Sc=kkD5ZZc2!E;c*LF z;t^Yjg+&;fV=|*q!BGnrI-5()X-`aj%zsx8;|X1yFVE}?u+boJ_l79UO2|mYch*|{ALJi3=z(T z7E3G@7c5=Ng(N*}7ZRJpSn}8G$YE&?y;Vbi-3{A0sNmAQBKUTBCr(=2e)+p-k$E@n z9LoEWwA~2T(Gm}2MH#aodb!ySC3o53VQ#X&jS&)VPeXH@WCNK^C~Rqa{iQ}Eh?O5u zc_4>wZHf&CvowlzIvc@l5bW(vE1HVY2Dtk3lELAzKzJw~oY|2HD}zLRwJV=41>4}Q|pM4Ab2IaVFcB#~#_*G};J*_Eml8XjxccWFN@gjm;4&@{1tc!wK*yeU* ze_SV~vf~^zL?`k*ESS7^m(RM{HgzXYWw}l(CZIZ{pt)vf8R_r)!7zXQC@(z8_Prn+ zDq;ATNPaLHchEJXjf~{x8exaJ5Nn}1OVqvDV7O?Lt~gMw1le#&{mxxzc^bPk;!@@Dzsl2@Fcq~v_}zh&|=qaQ!QBRE}t{W`tT?|+-!zjq6qt& z1@z0nWH_l8mc4la57jqsacU~z5W!$EneA_mFHl-|*Vp8wa%&)AXh9v#48?Nu3pI?5 z-;&itG%MgyYObG7DY|?%fbsN_<$cT;`b}5IV^QOXGn?5!MuCO-VE4)t!7u?{|7JJD zIV}LM5r@-D#LYM4)VtX{!g1dI~0yv0ZLp6 zc!@T%xWJND`iz<6dDSfwwoExCZ#*<`wrY#5rm(;4XpGuyDJG&Mk~{(zy7-|ZS!o6lK_%%ICHJWs1P6N z*TNLASqAw001zhJ8j^tgN~TNPaz5D%G4qKSbEu@7xcm2E)D6PfeUu}h4TXA`#r;m! zb3$>LL-l@5zQwo6R^OLzGI>sMw_dn~j4oSA$+-ZtLoRrb+7AT09_H9;cY>y>Z`DO zFrtpf`ko{Y4=#nMjq)N<(~%zh5eWhYHd+<;8?n9`!vlN|ma*s2P@h1LMZiI60$Ed`N6??0NnOe|~ zyvDhiI+;0&QG7x?!iUkGEnkDv1VG`u3`M z9Qvf~>}Y=S)^Uy}>VVwe2)D#GRoM32Cc9cGxclmb2sqrB`~%>TxN7~L;mRFMO*jy2 z#dxiM3i~Up!MZ90#^9;Rs=;xmswdy4K7%YWd~#1lp)-8zPDUx71cV-@-D7_)A_;|- znxrED?=m;2!l$MF43U&X?bj@!#~rG`kBei$z%8+(3N?hSQOBCnJ08Qwr^v}zv)L2s&j&rgqdg&Ky^>RI6l3-wNP0mck;Smw{JVk z|8tD#%sSFYdTpSNL-51F-CIU8*n&Ob(q3Ec z5r1d7EfqgiQxblnk~G9f8A-5?%Dy)m8h;6n{1JGOVy?k3qAUy)lA^*|8!5Q1DztB9 zsek9(eAni2IkRENFXOQ^8kY-RasV?Bo3sgz^!S#p%Oj@`Z4`}toI(4zn=7)CLT;cv zypl~Lj!RW?7Q>z_gDFywjeN|mE`(u|d3QW&8wW+|Q1x00gXmDZ7>d}}Ge#x}ocQZF zhxGry0I3df<5BGKqf}CY7KuH}BY4fx%?GiL3QAP!VqzT?lvH)tz(u|oK>xJUWZjX2 zjZI@PG9Qt5DLHgcI5bsZw%U&$rMCbBdgK^hVkZZe2cLw?aAcHtpPPHYFX`qw4i4+q zBG?9sbDxX2-3#d^3t^?*UsvU~saDkfh|A(Gybor)N^Ev8o+??ZMu z*l#E04xuN@r^DB;n0Z%eng9%{P}*Kug(BlhbEn@6TdaVg$319ULlfsaIoa+*2uPwk zRb`q;Z2boWSq(tD0#U|hZq~2C?uix?j+WM}vGMYAfD>$xX7)q?lKboT735EJ0;$6G z(Y8FpAjh;)(PUcz1yXu>51y*8Rql^C@+!pAZtaL22hHER4w~d0Mrlz-Hnm1D-DS>+ zN>QI+IZ)G*_eVddvfAonIG|U@?qb(tt(37I&kEgBQh7_COFo~?*DgsA1c9sKPAAk( z+S^nwyZ4Uk9)NiLIm*$JdU%Ll=m6vfb0Z_>!$~ZWc>C1?i>Y1rTnJ_;1T880Bx+>D z#I^EO;-~JpLQyIAO~;#A?M2R!af%2t4`Z;K?pKl_x0F=dn&?Vsz?sr%xk5VccsNSo z1Ui(Y8XlJfOr5n3n{t0+-#3zy(-@adi_3_##7v(Gkt*t;m$)RA&fYE{w+D=l%1b=R zDJnWA3yodXmDxLp-M(eynUSKFpYvJdgEG!=%Gxc^h&m6L@!Kn#L9iXPgS}kxs+9pR zJ3tf-rmn^Kv9JdvsIgggl$@sdWwiW%jJ;EoC{fcTST=6?mTlX%ZQHhO+qP}nwr$&0 zeZR(<`FnNGnumy7xnE*Gs>$`X#(UO>~1lezJS@HE{?Tt6M&YFhAQTn?V(emXWij_!c-+pJ` z3A7gx1*r;l%5n#DWE}z4ZGG?7R;>%!vst&W-|AC382Gr7{%7PyymSi=bEqe{`d(9k z5Rs^*#8?x@WW+|n>H7oF4(ucR4@o*xWuA^4` zFEvZ)zQN~f15Kn;Y_!ullDf_5(hoWpaQHjSUtukSE&R6Hg|6DB56yoInFI`=;hE*b zLNmyQ1f`J=_?Nz->|CEV^G{5$mpqPYp3792s?!i?UI(-`z@5Q^-ND75;h;Djz`}by z%fgrbR|M|;IWk?t_9|-+gtusycWgIaj+Ks%g=LLQ?@dz1!Q% z0GvBfyg|dWCr&+@q7TX|7H03qt5pUh!A% z=D0S!@J&!y@(nBGN$~hG2>ak(Fj^a8i|$8I{oUYd5nk@nE8Z^=SB?n|+u>O-In!H6 z>PL>*tTS#hw*sWwn2DC>I~LKWLagi=_LxG6eoI5WU0cf*I3oV1Xy;V=H%RR2C`C}D zcB;C@%Jp5c7zmu|)FO}m>v`Sz-eluI85_O=?i14EJ>Ou5)t_|k`*%IlQ;up_&dQlUa)sThal9)SeG*JOO>ZkY*DvjBUiKJytW|* zmrCL`RRZdP@K`)u8CrBmEnc>F0*a?h=|$K0B_x^1^Z4I{X~+TPbLAsIM&M|ZwW4P; z1g~SUPdUd*(uv9;dCia7H|t{m;C3=w?i1?MkK{6eG??(WLbF&Rpi*yqTK_I`wDa$D z2GO6N6KO;U-$)Y3px%3~wcYO{u%DS8tB%iGuaxkPUSNk$W!d>STL0M_brZMeCZ0xU|da8s5qXr$zde;+Q@&*d9gfHD$U?Te^DqpJ~_#= z7g@ra0aBITchy4Mbg+=l1a|dV&U%_lR0^TEt@`*kL!ndbtV<;zS1**OHrTTnZBSz| zK+|C{z~hgo7sJ*FB?>9Y!RbJn623J>bfy3#SAUT=0(jqR(@r`XuI-_s{9#iAA;9H9 z*C2j-Pq!!YjOB0eblj{ek(PdBcR%Ndo#k~P!d7~MR&A7X zAw}<)FrqX_srYG_&g$hG+a@|*il?sg)GLoA_eTs(=dv2f?35S z3#pU*i1sC`(@7Zx^F{c%M8yF>@6cfzLG1IR*-3Aq|F=GPc;hE?^LMH(zyRTw8b<0Z zBQ0y)KIK6r03#?cB(op%p!i)%&<|h%rFyo^ky}mgYbD2xGr7hqhho+}{X~_UQ!SV_ z-(`oODCA!Av}Hz0xooRKv@k%Ik@G>@v`7m*!&y3GA}DRVD1_n2Y3N?b80sP^5Kf8g zLP#)vWd{yHuD_Irw6SDIdTm1wJtY_uNjxm@>aw?7d|bzvKAo~23C`63>qdp|3k>d+ zL#5v+FCq&ZkJjc*U$Ih5h=n;FW12sWN2MhoDll&_2Lc zB5ysE>oJ;xnk#y8ODev$``(alS|pnsFghqrIKTlz%B17h*qh0s#(|MZ+};?zxTlSo#g}AHLFD>t-LQQhDtM4ZD{M1QnQe=;%n84D>$O5Y{6(jACSSBEC-0Jx_N+FQrzw+cV8nz6G7e&WQt$1xNy*B{l{1c zk?*wq*loj@X^}F>4BsKSi_wmQy?YHTI-{mRY)3-eNyLKBy+zSx`X@T>3xt+1k#Gi! zr@=q?8+5(-r+=;)q3J8MV59FSwjZc6hW&GkaqahtX-{{I?i@J^^|~Ejf)$%)-?Id* z^*}>XJXiH#rc}pmcvh3J=2lpvjR5sZ)wQhIF-ygtw$xFes7HeV6dAYipqYzC8ijUB z{R+}@*)Zl`i7p1ba*tA_cRVFb)4N`irWw*-$zOf?MikxqJ~K65L9j-~$XjG9r0!^j zUm%Zc1Z54~0uJ=b^1euwrJJ(VNijz+dCNNrj=g#uVA4k)QGN32KY7&>LAG(b#4&DT zMc6xou}*&UzH!gdvXYWPvspd~aoL=8q)(xIUXUPZ9hIZEAIKb^tInNBVfB<7yEuZz zD(}_xgU2exRk>k}E$F?TLOFUkrR*H$7bmAk&Nh_7coH1SI?H%+$0Nkp^!*t{pM6uzp8pOl`c=}t z=fgkeT{hozICzCwB-d}TU7m_(HY8ZWfcYB+;36_@Kn_GPCara)UA`; z^RV9A6$uS7c+#-lYpB=NcyFGK$X{&UZ2$HJ3KM?hZwzxv{dDu`q9F>#S?1 zA5VPhpn~SlZZcI5Wn>-~eE=h5p6pkkzbaWNZxTIqKLfWmN0^WK%PqOuXf^->Eum)G92?_S+Q=*Y&(o1P_Xc7GmBs^ z3*XL8Z=@ZOvz0-5AXVH+IazYMmH~^S34Cr5D77M3OTp zx0H8D{Fv%YLrx123ezH2%?WIi)xp2X-Kxc1SOCrLI%aPn(T zV)9F`GFEOH!HB-8epuUBPo*Zn6ihH#X|B7C;%Xy!Iv|F|wkXava8W@PpU>B9y$aI_fGTQ7F zhwUYE$Rk?3XW!~F^MXQ1c3DBdS)tl+cByJ*W_z%BWubJU#5ec)OQL9l#n+ovy+FX?0AW^+cb)y#3b)rBvURGVo8sX~qb2;TCcEgS3htHD z>n!ZND|i`;KAG}Yn$W$gCb*Z{R}}fS#M}i>wDUw8cc|v3u8eYC!8EqRyo!PAEbUT@ z(1se*UQ)SN=Vfc*x)u417e8U2bjkQ}=z_s42cz9GM+m8OCeiAk-(A9TyFr~6F1xe~ zZT>;AT{PzCY2E^UYHD$zrSK{Y*xl}ve#>Bnf1}@|@{)&?aUmsO2F&APbKo3oTl3tf zOAy~W0HOt=BYtHa-;PB)i6;3(^Wi0nt>u-N^})AJ;~W`1bRF;k+;2$24eubZDl zr#3a6BNFTa$|ihVt5=E1tt781N!_}l7J|K`*ygdsNKpX$H?~r5^6mA*Q!}9kdG64c z%scF*vQ$}_t}Fly?f00=3E2gh_gnU{v@EZeEvhG*XRrrHHkEf!*oTvr=l5`RG=Mp! zB6jaa^ye5_3YBpcb^r&{)ixDN#8u&$+b81l#g3 zfVX$<@O7EBtIMgAOu5*c@UGk)D9IJ9hm-IyWu;_&qrmx@B)y(vB@%@^_edhUxPRd$ z&KNWl`jXn=keZ^~2SsjpC4E^VaBEvW2QAjWXUMsWUr|(r0u1$YyXTi--?RF)W6y&)OyL4Ea@R92W}C z$~nys+G>N%nd*kTlSt&u(gXhl9;7&qfCWlb1!eB}Eu#Pm)1l@Pd0&Q+ZPeO~3*D^Y zo4TQ(!l%)Cwrn0WR~wl49-r1#%evLrkE~TpV`b@g>9k(ff8aXupNr#2dZHCjeI)o%Y+lM#~8{K1Sx!UoEU|kB_=7 zkdFNF-Q4vPs4*ack5l!YUI(OH<3DsWV~u48q`a-ZwzIJa{NWH1LUIHFhzLnxc|st> z1Z4k5=)L#1_K00p?BU^*x}1QFx5xL_g{EQz%5UL!8~<<{YbY^bs__Jy4r`t>gb;I( z!kpR;$kXE?c3JQ^Q7R_qNI!t|y=+aK0n8-j-(?x)EQ06RY4H6obQ@-rL z?>Y|%<*|St|CifZRZXL0)OHDZOFZF#XYLoLkeYhevFt<+zlfVTl<2Z^U6Jj=%sbkn z*Z&janTGI%843}nz7|mI)kODE{pghTNS)|i^F@pL!53F`cNR3ybs7k#n^5bn{&q`% zt{D2NSz-5N-nF|xRpyLTeGIMUBO zeAJFXyQY{;?6Bp!5LHMW67`xJ0Xpbt?28lCP*G;Tz(<=PjR%@DO#_cC#pqR=r|0oN z=HA08xk-`j_Ig7-)gQ6M<`r6t#*vNW!r>P!*1YS7Yx+Y#XV(V0z8VI|hX<&ox3e2m zpLAGF{QkL`6Othmf(6a!8cfguvok|a;;Q%zk6UG(&A>=`j8YHXVjd={N~;PS1L>QG z;hK1MMn0Wr_1fxqzfa}^HZ{WT#)Cw#tN7Iwzv&4E#yLOi)|paRb8+lytTZr%+dosr zCJ!urq?=;W2UUhzk4M@n9Eo-OUuKy8U)%wV%096d^&q|7dCHnQgpC#0EtNUb93 z*5cK)UeLRV(HjbmtE{ZtmM64vY=!Y!UP4F6WCi7K82d04F;`Zhm8(67DjmO9HhRIz( zwgx>F_4ql7aa({F2`bHFUqO-zB5}oWGBKBqt%osDHH?F=y)XdI`-9YP%oafILqN9APUiO9;ti7TF`Vv#&b zE!;n4Awo7JV~GbDjyHOt`97qk`kNr4{`M2lai+R`A6k6#?y_>qa7S!}N=g7pZvTEk zD0L1td4!Ii^?x0Mn!hH=#IM%wra=vrrQkG@$e^i~vFKFmeZCQ1lJ4sE7CkVuLCU72 z-apMkh63~r*PovPo=IYqPc21f8At(iHP6A5F}%M4w2_$;MsAS4x>og#F8_YK`Etwt zeS0IUtwBp@>ut6#{j)aN>4oh6EKfAl$PaqaU_(`6AA(wDIS(~Vk;Zev6!>89_H5wv z;&Mk1e*6i2U4?6X)IaL!TXi-M{M5Y#9`Ax&;}6Dxvw!+}{97eU zI3-TDbG9|w7u3KeCUtlBNR88Ltr0E%_Lj{_N?ulp&n>M?mixSP6-V2NCoH)xK1!!# z@fZSt<+aiT7D>sY%^QgEL{icsG$UnKOtsrQ7^e*{_`Pq~9qn%S_Wli6Uw@J|O~mZ@u&3M!^qTxpzkDK0SFt4`ZwA|9;S?Utc1KUpK*NKX4fr%!Gn zS3;g0{AZW%1d@?| zyfvK?wq1>$0yy7T7UMai_gY_y9DzYLfl2z8 zZ6wKL2uG2FKwT=+hl9C=DUQ^k|9gq1?@8Ro+&0}3t=eRw^Fv*+s$S+wmBonRL~9|L zeEz3RUcpiUu^Lf!N>RF(y7drkZXt`Iqll8BGgwSOt0!@!=(z@z?C%wN+GY= zyQO$zy#z2NASu*6^=U&nLgG?oUCpA(%fnm-e$iPoOnL<-eMFNL^R>(5g(G1Ewrmb( z19Js_{uz8#!!+?wBacfU@N!a-h`C;oYJR7Ae!ysN)3FlE$kpYyZs()|iJ9AtFFO^H z8 zh;SySN~xYDgMF1(Q#$P0UjY8Yb|boZcf(u^Eu~8b#krPx+3JC>62`-kzs9Skp(yT^ zMiblVpjALL>A6zWeM8aCN_{+|`(=O{4J^)pU?h~}i|4w(pS8UauODBT$FtV;k7tRA z-}75#@nbmUQWvCTvUyu;vm!)*ggLCNI7~MF=o-cg26c~2{?wmSgR=hDAJdFDa zuY-1E&vPd^?s<#h$8b}e^;`a-gwmW$I7>P{u1)&}=dwmVV%%s;xDDZsDRAw$^CH2n zzwgi7?mkGhw=YeFRP{@TF-(+3JY)my_xbwR^MKE(-HGu3j09Oap+ROa3oRy)IblCU zMMT)g=*Ymw0!6K$A#1InBddG)fBA?M;LFU!YzvJCTMa1?YI&X*eq ztiuTg+l}VnVUcj%KBPS%8XAbTVF-?RRw|92XDBCcoPm>-2%vjIfU59EE&j2OYjp!> zgMbVRyd(LO&cy1ecKhBT=MN3^+{xn~dQo_&vy)Yu* zY0gsv$SFzEV(s&Aa!%>#Bb~dr${Nbw%_a&P=piZLLH|}Jb1aj)^xXkr(W&`{GujjP zm{ve{)|NXAu|415%W2uq#HM{^wRP>f{?C1|!8lfFho)FG1dEJPf?^CSiEr{1oMqFrKIJX_W zCq6;?h{09uisxv_BJnNIga5V3A?3AWNBHeXW47wg!iPQkgf&jXrNM2keV=0B2f%{s zU8F3L_v@A}Pjt#_VzbAr&c6j6wC9+O+d0Y$P?J*FSt$nCV+=c-8#EjEnGZB$#MWCC zrbsR`?_)R9Mt@&V)=*f>;h*uVUjBy6)Bboc3cu}0oujklU$rexHB7|Gv#}pcKiR&Z zJlnjWz?%JgTEC#ES%==4M38r5*|F5s_DRF zuAPpxiS9|A*E|Ch(0Df`@;y^whxzHPlWk$Qxq2Sl^o4U$S;K&B#=F_o&3P2<>{&So zL!Tx>i?#g~=N&n|laPveyLJzG_~yb@@S#XhH*-n`cEt!Tbhz@se@3=4TE}kl9939` z+GW1gyMi4S0Kn0^Z7SUR`y#zX`jF?;AN<@NPp1>Z)u7-(cUD8k(g|}&!@onSD(rYa z@k@7aub`o&Y@g<|SMi}=^mDz-`}@etfuJ~i8}Vz0tu??eiypPqV^qYWW0LzN%BW-E zyI;)X8_DJ~DJ(|LaB+V9>;3sVfmt!9Psz_Pnm~*c)cw{~9GQ#jjJ+hsCN57^S^E5I zKBUTq4i!L${MB$LJ896~I4LM+Os2xygTi_9aeFHb8A(DFoEX_h@I%cZENV`p`quUl zM->u0o^|))r>Nc!E6d=6(l+fL@izM#hU3l<3Gb)UrB0$59sf z*1tIWg3m$ulp2)*`I@b5zFS!96%ss=m>R|S^A5vY2>vK;sivtcptGC!Cw;2t05nf$ zyg8_quwLsHfu0|xgkq~@m`{ZPZHwAyWCGQy)T^wGJzkid&aa_SOa0BsoZ9XMuzeiN zJAc4U(-DUY+7f*%rw3aBku|?W*M-#Es1(ndUYagVlZERk+fHkdZvCbieELmz<=1{K zfaeHU;p>m+hjfN($N_TwE`6E%3@D$wTpE;Okc_Cw4@=&>TAy{z0#*7gwvCOEkW~g% zncbdO!Yy?emEea}n|@w&hY5eaUt1@dZFzZKF7WA_rB+9WK=;+7|MY{ZSNCzCkbK@J z^WgY+F{S+*d)NI<{!2mH#`AVsvyoq77}#AOgCkC#9)&bg$(5%c5=TIZq}JpZBM-#rUE+Ln9;cDw>|*!bbNCfz)lKoVez+FouS zy(I9?q*oi0yQ$096U+M(+W4Vh+mF4J0rz!I8uBSQ$7%ZSmhp?@mc@a;wje+6_nF=9 z$)t~sQmFZ}wmW6dbijKK`R`jVm23mVqi`DSfEU6^B%N;1JHgZ`^VI9*+w5&=W3(c< zZ26<<1o+`sIzxXSjSZnLoRAb=n3_-?0T2p8Ss0%%2nB&0f`0^rl29IrNM4q)wq+8T zc)8SrYri9-&FAg)JN3+ zhLqh`x68NRBXwXF@EWVHd{!`lo!5CUY|h@A3$AijM1h_50C~{Zvw8VCmqqVkV5;M~ zU5U_bVteMwru@gEMiR(01xl_3N{9I}417!Eu&~ZRR<6i@>Ox}#0;swe4R0|6C^BUR6*(YG zY=z{&OL<54Nq`nG4?^6j817s$v&AN;uWOF-JSMZk!fxEDh$^5g9w#qPoP6L7P1g)xF}jlV=pp5Koj4+#w5#yWaN@eHxwrdPa% zzv!Q{YrY~AUVkUN3T#@f;z=&R-qW`8&bl#^3S9!v`?mFDVf9e8fYUyA0ay;!6T;nF zLbki^_l z3q%5dqDIO`%SKk+0(*&n2ogu|ajISoB}AVVsqGxUlkE*WW^ho>KNpW5vAns&S7@hd zFt69hFb?7pic9IC&B4$rH>HI&+~n0<$dbzE?A%!b`vA2b;@T=j~W_(L(uQr zemntLg**URK?*2X?_ZXVaB{$j=__$;L^ATSWl+ERH?Bd=;=f$mjigy~)SsJXM&CMZ z@UxCqi9+l&G_2L#suXk{#>mK^-IC1cZ`%K=_iabHRc1fYlKZB9q$TxEdNsJ;Ko+pA zFZzMtda^Vu>CXZa+`Z0aZMv44Q9XN)lm*7825R)tq(|K7`Yu)1lr;nox>j5Be<5t^ zypR*1Y?|VvxAD4XN&SrLHmveyF(2AvUH1nVcyZU!XwxeW=e(^XhferL!ST>?@%f;o zdrs5T6I~Jq4AQ9c3LQDbB<(3k$uf@lBWx2Vq&82`|0LZ6%S^Uw;Ku%IAk$?U*bk*o4CCkAIqCS6NoPfptG7I%=MWogfO2g zd@`CdG{g*{3qm zH2GmJo*2GC4*(v2tYM=dB1y-;K^ytPpz3dv<)%YABs`Fkftlg&`o!DAI;wjOdJ+72 z2QcFWNsi?&yeBUe>f`F0Pm`Y!G4Wx~RjBG44(ou~>8v_h3E~Sq2tPHXFc(71SrLmn z7mg2*p;<+;(reGzOEl9FwmZQa-Qic#Mz#c=Nb8wnJ3=ofl?|*sinxpmk@E12kY%aqAfVzwWGQAb zlqqTfln;OVwWg{Y>2XI z`?H26XwNqrZ}|2`i-CB!H_+k;vmukgzd5@6;p^l5)vHOy+6jM5f-QFwOZnNePMip| z6OCPAS8oJz)oIT}p@n#j3HIwnuD@NzQR#l4)jv_`w|$Xwob7*$s8epJvh}yEgUDuJ z{~{;8e^hD$!%Ry%%Z>;B3RO?XD}Tu=DilLFeWm~OB2WxVJal%**6(69)(OK)%UA`v zeh_@ZzDe7gz#iC&mUmv5hmYxsfI>ACaeohGh|0#g_*lA#T~2* ziPqmW!VQj0;aA=Wihq3b?SNfw3p!-IGB8luZ#NYtDrUEGa-XD+0VJgshMg@%m)c^| z5)=3sTvvwr>C2rRcUF3V^8p44-~I@FClv-jfKdTjU=VXr|ISRrc5i-lm@kB{2)*&o zxsSZrNN3^P@j~fEF>bH570JvnA%UT)S}Y;JavX%PKozNAWbTNSp`_y&Kfu)6cRjnH#vxiFJI ziB*u<0QmSV0INEuUE>>B@;@KOC~AM1XF8%oznm^fCGsp3D}%2@*6b?v9R;Oxn4sdA zV2fSp_ss=9Yzk2ZOQ>KV?Qn_qXH1(ccq;4i-JW4XjWvo?1)?u@6e5F41kLC*iy;-l z7L5Akuxb%2X96pf#0x~N3Q2OB1x^UXkx*l0eo;_k z5Wym3Oal1`P|~!x82NMmAW))!>K=*rjIJJNg#W>W`TtE0B~Bg?{eQ3h-|3hm z$IZ^ByZMSkG9t(I##Y{j$h-5;Po01Y)X^I0aqbg9yATV?v&;Ym5tOBln#emL(!9Bb zm$9cDm^?McRobcsh2Yr5}!8{1jgH0GEnE$ znJoH~The2#)Zw6Ts-5m2SX|1Dk2~8lbc`LqVxxvzhxgdLIh|dK?1cBU1ZuIabGda# zbHs2Jrn8=btiw8y;8H&E^8UO&)&733>JBUW{!BldwyeQK`nD0@+_*+E(P{cON^Cm) z(@t4lV|>O0fZYES$xcgSm~^MQt8$#`NX#St7Mbzn>IBUQ zMU0$~2p{5$&ktcq?g#kWXT5-`U9wg1bF)d8LL2nWb7*Hsg@(?D*Yj~ORr9Ue`QaWL z0{JLSh2!Pt%O6P~acFJ`nad0oS(pDdQHQApCaED`sH)z9I5ywqW_x6WA2IvN>Xy%! z+opC3)2BUC)Z%YvJ_yUIw1Z+!%eL)3?ueigFr6o6E!KDZO%BvD8bnc*WI#SpF@nvX zsI*Tqn%sFx#e>#VY@G|zk&Rc{Y-TD7(Un27$@Oj8BC3IIi6ZL&5`j%QRtPE5epF~_ zoC-nJiTp0&AgIRj<)t1vAo#$%5Nd zD^^?|R#_i{s*Hh}XLb&>&s%%w=++=SS!6Z<&?Iy#LbR6-;H-%>ZX7_Z`oXe0B`13^pE8j!R z+-d}j>?&{S>)pxZXo7bHM(<$-asj)J2R8_t^tarYx@3SzYD&?sQn3$Nyqe*2xM*DY z3?y=dUrQ$qT>wT1yD8XM{#b_gRk_<;!7%`Okg>X(^f4x7+aY(DfdEg%5*pjDNtL2? zeP$w?fgh@-M$+?oNwf2dC6h&54_uq65l7VmXEM1sq8dEhW{&eBk;eGcxM?6q*XtI`%NujJr)1A;TuuJ?ZsF9Dd^UDY)mK!sE&4F=t#a z`n<;ncaXY-Az3eaWt z#x$w&0rBH0+X6R8e=DX<7pz+WI_&dNt^t6!#F$~-6GW2G+9Vck-gwIdPo*;grJBIkoZWKO4^e?If zf|!!S%G5ROv z*l_(JNJ@;A(w^;8+DH5^e zs?-h+_XQB~r1INup&P72A%xI3% z2;fYTGTdgf5x}b~QzZ6aDJDdbq@+6iJ2ZsDG{vvwMVww~PpGDFM~Xp-D9|MY#3M%) z=@EevlK&O&uN8+15h$5f0F&UJYR=a=*+4EsBfuBi67WQ8u7yY5EY7e!Xv=nx0%^<0TLDp))cC zR51%4BY=M7;u#!6V@68UV>I%1DQ?Ha?zxx$5zNt%bQRhG1z+X?27_tcNd6nQ2q?uLvZOoQlfA&_ zL>|I5`F+Fy^ms&*PjvtzbjG<}LHxU3h47{nX%=6#6fzt~&FB({R;=nCL)z^hhk9HZ z3&+6~{dC9U~4bt6K%~-2JTQ{B*0*wKrH!FZ8BqaYM|e z|LrD1*5@l+ePGAWh(yf828Y*)15D>1ZiEv<2dHh|XB#fNy(IaQpmDc@_#&aASeeF8pP|DHmK!1 zrvTp9q!-f_4FoZK0XkmyUwqbT>kNP$ydRFgAUCQX{ed>!gQ|DWavJcrcZC5C4s|5F zWWAiFrDL4sTZ2$*Mq(w?5asPu89qaPydDcODQzaO8p*X|4Fk$6Gu3YBgMH|x#IXkW z@hXgY%W;!rz4seDyMFT^!HTWkwj?KWxX$B6XU&BoJ!%d;?jUIi0{)qp{<_f2q=4Fs$(T-Uif9C8 z0l3>kA@tS@JeP($&amrZ8-|qg-p`OOw3<=FonT(9)1#=3N)ww|7s@t*cKML2=^XMC zI|tokm4{WAq~%4PyfAP44sEZ&8Nr}>@9Q%3$7vgFS`Ykd5!DaO^w0hIp!lv9bxGqm zR*R{LEQWz-kQN-rjaFC_-pBxSI?$oVjVzx%#dE^f=j--=3Rab$|6Q<>Kkn--xF!dmCx@Wh0UI_Swj2KgT&JEDm1uMl%3}K?sX3(ZN~Zu+M%L}LH9DLNjG#Gi?VrodSv`9cgbX@j<6Zu9ay;dgGV-6o5KIqU?wn7 zZ5w93Ur;}JmXs`)bx68;A*3nuCqM#ixlWbN0$*}c4z#u11=-i4FM(=$>@(Btdr=9P zCB`yqM|jWQs0s~Rwap+T_}3t0c*@Y0FLjk4G|gE7@FbfFM`HV!ov}(tzq)K+_}usa8BJ!nX0yJMO_JWxw!^0K5feYA48-LiM$YwxNd_)6!>EScUgt&M?!a@WnT#I}e z-w{%buk3eO&maM1V5X)m^Hc|N3aU|H1iH$h)+o~Mq@Bl}yatDIGZ3!yxJS2*Nvs9* zQgsRfxm*!a7%ZiswiGqZhT~it&nLfI!g%l_zR_kPbTTs$a<^B{4`L=-%6{mNtcnLPFu;A7BRFvUGKdS|0C9)#voJXjK~ zev?n31JF4WJPMN&WFi{7E5ect)VW%S9SwUcY(mtdRO8YAt(2~ir$QR%56U~R!8IVc zhAASb3=^evNyNJaDlI$R_ckBI&PhgoOo|Y{CKjZw?guHyqoAgWp!F^gj8G% zsK97o!4#u)Qd=%8`1C57Ra=6?vv5f2L`{GBr2;?*2n{y<*pXUeAKl4E_K0lK+uN+ZOQ`p*z41tTEp=`Bs_XIkTo_pISblZBUt_U7&=*yDem zd{UAm(Bln5Cg$n}<-TLIP3YO^L~p9w`$#!k@LY}yz#xO?W@pT%-v!)RuMr`R^R#Y5 z$8KjFvfdySZXs#;?l&|QAOl`d2dSbfpj-?hTXhB z5Fvllwv} zO5D;V%-ltSn;Z*(-0b9n)$rs7EfT?gRnpI2#}ce zgFPK}OJ`0Fo8e=&V^M=p$lgNvPc)i5f;xh5f`q47+7bAo&5A!fJYWTD%desQ&-4o2 zX*1qR2TuJ=;i(xuK9Fc@|9hl4Ao-pmbfhVUg*x4pXiF}fUiwgNMDjq*!1|5~EB?YH z8Hw^ZcQr1v_WqlWtkvF3)bB5|>tdlmjf=~=)%nX?wwKzdVrB`%di zBX2hQClXKAJ```(E|oYY{c+>X9S|#qR7AEF!r6!#p2MQAlRaS{NmiERoW1Xls+D4iCuoxg=-R=3lni+ zr(%nFV|O4CFtT|AGK+S(Eiu!kU2(7!)+ufKsf-x9Qi_qZH8zJzwVEMDG3F~V>^4KF zzBL=now2Mc55pQFr!3LH#*ofj60B$0vP(aot<{oEVTjxiorMu`!`xD_3+M(?vPd4_ zJ;{>6FW%nevl)pzRoi)e*B;GoO0)}{fJ14*0OhZr_p+%3XEY39_cumz?wzR+=t_Sk zW4znU_OL(cByWwq$`ZfJ{ZcfJue^{OI^FTqVx7oP&q78XNPxQ3YlJX5&$`>{p?BQJk?ek6NuFxTv`@x07WQd|cIVeRyGu)u9#ek^2nz4_{pzK*f` zbQ|x?{Jt+{53$+kY$JeW!`~iC!fI7W+4JRX0DC_CmA-8zXp0ca=E0y&p5^L%jFj!& zEC_}+Ld;W;Ve1WIf)F2J_?>cd6Tjf4f5Ny3IuPcg!)%0{2n#R~w!_Xugj%5sBL7NC z%(gz7BD1E*g~+cW&&w$Y38Lcw*&MrcC= zu>*u2)TpO_y9tf30ah>e?H>h=5aa3AmjLdKM^g+Q`@!JI>qN<5P~2g#s2WN+zX;bO z&@#p>{F5`=NTXqxIKJvSg}nR6H=`XEv!-_=3?L#$nghA9xmbq}ToXqjzbpA$E_<^I zy0(olC%}P|1s$jb$zLIASSuEe>ORK<-0!9x*XmqHX2$Kd(F5_9&x`*J-U_a2r=Rub zHI9HG8vKIy_o>hOR1CKWw<9nVMt&PByc3k2A?t`MqAq-wa3Lm}EW{q=@b*u|8xt?+ zF!`g>$Ya=^e=JPtC2p|qNcAZ4pvdAWm%HbTn@uDpdh<{;+&bT@NCxb3$NdL}AfD#p z)3W?Vlgeuz&+J#3xuY(qUpOfc-$5oo91B;Em+JR)0WaQ;Y7^1jLG7Qej*^e!8(j3EQ-2o+s3qQ z+nly-+qUig+QzhP+tapf8`DlF`75bEsY)desXAvp?3cT%Zq>c}th4u8*gj-4@F^B* z<6CP?F;bAf66!#}1`3d*^6{RtLuge-YFvGs`dTP4r>)Oz?v^pZ!Zu22m-r_wb+2hw zTy?_?`ql1d%xFBzMRDQZfB7<0BRN1AscxH@T}K~1j8@DR;?iqT2g)1STOT$M^u>~p z)7d;e9DyquZ&25Us~Ku?7&J_dppgOSnbXk=@3lkojr1MkVbAyLD|EUQb%KMO#S(sJ ztr4!7S~D}0>7;zzkGxf|?x=eOrdQ4Xb&;!_B&ai!?T}1cUWA9P(UhRuz+u9#Meg0k z0hU-PcNZ)Jz#Cs^`!AxRy3@-OD2XLR~vr%R-4Yw(EB zh)y3#msG7!l*Ac_RvL?SDro3u+?|`Al(7gM!BVIq9NiBr&AUn?EuoiXtE=L)4rFnj z0~tzOH@z78)eYolK1V!l!t8jmlWi>{Uu-wu0iC)y7HV(w5Bd?^ z6cJ(a?E(XhotGH|UQ9=-&^pUakiSNHveYSouB&?Tux-Kb#}&xeQcMG1%hac1bVs>8 zqJ+ih&}}b%$Rgl&dE_|9yjOw5{B)a{q}JBQE3%19#oQV+2o(lIFjK_Y4`RyBBU(y9 zdyj-rbCp4mzhW9jT!YeJ|MVODOn@e8#p)PBXS&j}!z?w3^-7qB1_O(K=%TtGx`_61 z+`hqccrf*MRS2XfwG*djNMVQge&8obtCrLJF!QBwWN4peZSZl`$^h)O2OY&h9Ld6J znB`;OtZ|Q1ZkIYYJaIaC=pM&Brj$v^;)M!Ye4*8#h*WEC%rcOayBhDT8pOD!$24X9 zK*bHCoXN@GI{e|&H<36R-%QO z&nWTG>!ny3KXN~l%5T4UliZ182p@h5Pv;b&=p?ApT+vgpyln4vauH5Bdt2rVHQL{l z^Lxl)vAKr}@wsqpm}>Ay*?x~E=hpWsVPMmT56!oVbQq1v~r06Idd>z%b-K zL{{mKXfdJC34a3W8BZN48(>Bl5d_ux1BM(e&9U@O(ccjkpeg2v9gahBf}Q=*e(S_g zHt&O4jo8W3yI4?o@^{C`ks3-PgWpN7(3OpL81gylisb95n4j^X9LLfPz_IEdkWhT#O zm8*bLR1On6v?ASX-mi=lf*V*wwI|;NAhjb9p|rG!A#7n(cX4TbT}L*aruC)C-QHJO zrOP(ry$s5lL)9AQuuJ=D4ErE)so|U+k{C^;4gM^$Qcd zrt0JhM3IneGlF-_Jx)OvJAN$nPF)?3EY#LIHm9TO3l%;osO(Cdk9%a>U3;IazT>v; zcSEtBfq^zZ-!n+PRA-4shcOu^7a5J|sa?A=Hql|(l#0g;n#H*sUjjTwD{ceM@jhNA z8f7Q0QJF4(^1gL^cCwY)AR!~gB-bs>Y`7%km6%QVzQg9zkj&5=moQ6+fuHC07_WEl818w+u7|g!n8h zAdX{zp}Yj=moo>ClK?Jz4S8=-Pl?&CiG))qKWwoUNvN1QCiHdw=*N5hd4D=QK#hSs(he%SgZRbFV0DFKIrwj zJ8Bs;p{kfHOnE7G(}+ozq0soPIp*~@nwUE+>3T9AGFQ%a@Ve>8?3T4`|NP;@sVe-G zLI7fU^WpIm6T^w8kJCn(K?z7bdOiis>m~kl*rZt{0IxxB=%9r(G;vBT2d4<8w@Ol> zIg(O^*~xyU+1!c??4nYsAESPd&IacZ-oKV}} z*?i<0<`D)Cw8P8J)Xa8lC0#|Lq&Xa}IfA%)YqT0mDM1Mj|0*lBB0!pZ9O)z&ul2)G zlxvs4SXa(x3VZHCP$Xm}Ii*m?njir-G)$aEGNCo}Wc~LM`knasgP;YF zR-O~f>rDJN-{+4f&Xc-hPM&|`M?2j)&Odh-CpJQfQeKm{cptZY`GkP#OS&eFg>x3u z5#QEpvpdF02JIx5yWcLL++Li95QipNlMt}VN#_d$VprhIgdM0H!&c-6s{fR%K~dD= z!7A$E3!dr)&~4!>yYN|BLP!;!&XGGRm-cPKzrYG@Nt(~tfvs@lClR+$${>OfyYBSj z-C=mQ4#7Hot!|#@)i{x(-2+7nWv`c0+799fnq&2i)#->9C2b$!H#D^ut@4{x1VGE` z5y@`#u63AI`>4I^|RrhfOn} zx4Ez~rDBQ#?{7YUmAh;o8_hnr^0{rr>&$c(CfRhA1UX7%1sx;xiR$mfhV_M1VOdIB z+`nJOYU8HDDK?mwMbfi%I6|V0!fhrA&0Hm2P?O5d!XHwVJ~*c2zlv+()hZS!WCdu{ zuaHn)-&3?jpxh0H5g7KtKvt>Xa9ND)uac157bLfpRs8Wpxp0@2n^a$+cvJvV-fWTM z_6L!|jYzgjP@yVaX^?=DYHFepSsZ2kBzYql^wy(1Ld)OY=%iO+DdN{EotwQS&N~UE z45d37VDq`M74Ylw6=0oE5Z=jzaTGy(21UC>DoRKuVGCx`<=~#m7cPp(ag?~lc!$-9 zL#R)9Pbwu30Z?}YNR>a%ZQLw@gi{Y>CC5agIERo`M5;<1Uqhis4Y?|Du!;r?7s$!^ z(*%hXQsfUBT0q=9Ged?(oIM0X4u5Vxr4E)cxAdvEAt+85K>IiERDZ)cbEPsH_BOZk z@j%L%xCyHkN5kqa4})OJ-tmw%ObTN!zl*$_Ojt%P#n2&Hm5avJ2aR8pm6+&$&cb`6dX7YrjXc9IN_> zjA(aOu*^}l5nr$>&`NtZCH&BT0r9km>$!Op`qU$26hyy;4q1yr^0UE_I+9=5q?s`F z%<~VKLt^T9ZF7)Q&8N(~j-g7R3)xq8=P^@HYH9u7JCO>3K z<%`raJAuIMH&OeuZdGr|k^6B0dEzVrVD?fTCyBds8F{<0lft*+-D%nUr# z84&raog(-UfOf+}Lz`75T$`>(SF*wjd3^D=l<>LSBSRZePb@@Ld~%;CR4O#zh?}I+ zwyPxbHqE?0$YdaAp5XHj;+C4psbc^45HZh8!Mmy_^PJtqH}SGU`e_{f7bc>ikj$AX z#zFvwWLej6C|n6El0JxNO_m{#BbsT9)A}&IRaPqSS%jEm>qyCU!Mv}u2sz8-3 zc#ZPIb=;;~qMks}*SW!Z%n2+(SyD-lHA7rgm~H4eY(Uhv!x~Sxnp+fJpq-A7N`MVd zDy)!xmUB|@by*Ogq(^`&o2#@v=f4i?&Veu!WJ-0d|iK0!|H0Fx#@OfT^W6Y0a zn8$G4gP4$)G)~Q{Y0C={Am!t}H=tx54Iy@xDXY6Th@ubB3QiCi#;Qtz{grNu;V32BBMc3_*Zzc+4 zF9p{3^ZrXOBB^G%k5a3EZ=%_D=`@0;!GvKm1Kf+DxfvnoJb>fCVt>fHdu1xiH`;Wc zXbC^jdlCRa;zz{cZ&Cr`SLDC(5`M;{1WZmTbFkBSiko9%*d>ek5tr%24F?gRzkhM= z_aQ^ZaXJhIk|6wY-2IPG_d(yZRyP}37OdPhnDO^6W*8g9WV z)UY@uyKwzasPLS!BChZps^m8#U(gw{OuT^?*aAs9e*fct3q@6wVyMDOEeO~{rx5=~ zO8+@aMHRgN@#z0G8xKN7*SGMZvx!O{CP2l1QvevgO^3zk6fD`JyJcd8b#xvNi#vd0 zb~H}h&I~R11NbvNtP$eNEJVjuNoOpCl(QT}xOENa@HhOcEqhQ;*h)n4Kx=yPmlwl@ z>ohsn^tm`JD&X1iG`J*<2`OLZS7h|1DJd8bFJD5~1W37CJ%DE4Ji0rxVpuP7PwO(p zobG`du_&*d3l9n*j336_V-=#{uezuU#m&m1z^2obZy(*tJjbRJ9|@&ZHNrpaeh9|< z*RF<0w)6D53;bal4iME7aaH$xRhyOOqjYengAATBqh&#{)}>t=2>})Wx@Abb^fnyR zi{@PSKd95GPmxUYf{+>O?V`^a>zXQaQ(op1PHXi9e{`~02)Wl3Vg(5ckxDrY4D>%I@F8wSGAkAiig=a>?D?)9uu(Bb@9m*AE_Nps9#7M*b^|+iC@qENEo6vB)86;UfD^=2~Hk_@mnMRft5VozW=#D z>B5-CWDmf1hX*&p7jP9<00Afbr;#i-$yLWE*w&fiC_TB>6@r)AnTE`i2s7DLy)=rB z!Py+QNoLd36b4(3N@o?`*&`Rt!R&(it0gi_A}pB9J#}jxHzL=NN+gV0i$ zTs{f$Rx>`$sshYG0FtBI!mi)>C(NX*lOqtAV9P0z8(WNhNi8< zFT!Q1dc8r3&+&>`+-icmMVWSTk+Ulxg;jF7D2;dX;poO?PZDEGp)%fWgtKY z7nI1#tZxO&Az0~`OplW@wSAu6kgELP4JGH&*=5)E zFBb%LZ{Ss{h*uD?M5FQDmd$mm$p(vH2i4H!iKmweR4k#trQ@Ge;Pz6zTxB)((j8FL zLgLNnV=0#32~QO!pj?Y4!Y$P<3=_8J+xV?w=&ea9qoKNats7tw08*Tn60LPqypJwm zN=oQOdNzi?%iQgh*V_3>5M38Hk|hem)Rv3%ECT22D8U`zp^F~wImtKV`rC>!QbW9| zRyY6Dk+-fBKH~BAHz35O;|^r3(N~G$vMTY#qxiAjT57hSUe0P%IC#Pa-PYTSIC$Qy z`+h{@*O1RZ>f6Eh6R;Nls&~zT-DETa$$!7?_DBz& z#KFao=w|Wu(BC)>sD2D_gQF-iLhsnk&T)V-69?M+7%Bj8lWFm(h%H?G%@hL4M8WJ z?YqRDB+>amgx{aJtDG;cCdj({_J1F@6M3Yuw4n1KjOe-OfAH9ZWaqH&2Yu1bdCh-r z51Uaq;$=1Dxl&Cr5hrmU$7}TJ;_C}bTjwc>{Is+!f4*3Az|Rcl^_lw)MuCJhUh<*@ z2l#n5NW^T-20dgRF)7fR6Hfg zB=wR`)Qt(J?ryF$owiDYsB$a?oOph!(XsIP%?SFc^2-sNVkpbxSCIUZT!6Y1?JVYN zmBnQFnE5RZXL_>Ja`Im&DNouIU(XNG2wH46>n+ z_!y)lU?gGM9ATF6hQz}oS^~ZGsiboB%j|zAfxC;4qcG+@*lL_F3ml`vqSI#d;f=CR zqAHUttnxu8e%N$k%z3{M_v)MVX9WSeU|IY{LJsyMULjEH>I^+4C}fAAN#!x75`U= zFw^xcR%F71rNE)ja!&S4IPuAZ2}<+_ksTI-5!8Ca>u~jj;0fkwM)VA1#{#4p{HI7H0Jzg(|j9f(3FO6)1FvR?uJ9@US4&@4}| zObGdJ#&RIloYQ$ZcWFk)njkTpE(zrf@E|4UA>SMlDESP4!X>960QT7yO8lU{NJz2I%2IHP5Y_gnr4_$l_E(P>h#Z|My8gwW8K>Wiz5^QEOk&6*UWB&L)^RIxtrT2Uj4 zsbx-Tt4Wzr&=dd;c16tz)=j44n{Jb z1rW=y7eXb?2!>Gc<~Zt?StdSm=I)<4@(wN>c*J23g9i~qfr&-DO_lA${J(*$|6`Wi zZfm!ZGU?w5=V?8xYHIfXey*6%{W!aZ^{==&q$j z>p|qPep)^vDL24O4{(Tt%hY_!!t4<>VV^f9nW1NU%6tO{t$uyf^`E=&rL|BisH`9puD49j zjJ_b>t;t-`G&q7*a3hKO;!rMV!DT1-=lF;HFpNyI`eV~|zu(Z#Ev2yIZi#&$>rwjY zGpmbWW?Vcr?)p$`4Pi{$rrkeeOYLfZb91@;x>)_ED`Kfag1hk^mcTb0-^7=+p{5aH%9+D&-hx8v)}U0J?)4+!u< z97bqNN_mUWCD_|wM?DgAX@Mi76_1H)tC90dP>y)PZ_w**Mp8)Ssqj(_dpxYOndmSghv5T-O%PAb*^KtKUJ+5~*9+W`dt&@S3D}3LscA zTjUnsRrwXb6Sv`0ka}r&0gjp`y5{vulSfg zTZwsP?b1pgPYZM~@&{@s_bGjPD&iyEKcxwhagtTynG@2CoX449%EX*29rHPRiu-C; z2XLX*G^y;7#FmS7{q2KtkP)26o7eq_Cbc+*+8-3}M=1M-cwJul8lFu|y8D|wk1>{@ z0^xWvVs+PuGYq)I1{i-ax9CM}G4e4DNX9YBwF+NKdZW>G;ERvp_RZt=fRu zNkZueSG<0tx*}JUN2<1(nrDUp=w54|rvo0nwae#A_$B3X6d4y{26=KUTz_ON*h*gg|arl6Z zw3qDqm^T=qJeB>nZG zYu%y+>d1K{s^eP*@o;#K#V3+gFY)oHHTtfV27_KI1jw2i)Sj?@{Mj1g0snFY8YkR_ z9k1>Yu6A9v&T%8^|DF?OJ_DMP48h7}y>9Vrn`Wfv_GGe_LUJ(`tKrPg_8M8NxhsDpRL^}@0 zpd>OslTJ@|L?_=DKzXmew??9}%zj}56Ayow4{w)zHX32ul)uifGS=#tye*e>3*Hsm zWr(q*zbM@`vQrqc=PLkg!G-lKzLEZpQk1`sDd}ADO_mpyzWs4V&+^9n3%985Kgm(N z#mPC|q2Q40KKN8F$SF$gyT@gDPK7D+eq?sq^r{0l(QiPe_l|f$(S!|{zyb+o#AhF$ z8d48zNIxkfhNX**H@!AaJNnt)xu1QKgtF+RjUyGDS=znRuL`s@meFbTWJ0|J~nSvO2`+IyZQD`srDERw_& zqMx;EISHhPtCo+*TqOAQppeLPeSNBqRa@=#a0_)0HeTQk;DMS_$Nsu7X80?QWSV#a>*zt zG60;S6luFYSCA-p#0+tIN-`*)uZ%u z)r~7TZNZsEpfQ+>5hz$3aze~g+PN&&^CJ`QWmsLo0Xej>5M(9tY`bp;m=Q=v8`n@U z3R2G$)k$uEnw=adgG52e1<6oK9dGij4G5qw;20eV3A!ayTDWZ-vf@kb$EKW97$SgR zyy{oW;F){|pc=id*+mijy?MATLsP3QU3vH0UY;gn7|=60Vop%z$R2~4oY9>7?neHKl~%IP=s@k_wTFD|c%V^kg^=HPcmlCaYUDc&!E zqVj`qqeXp479?L!$u=L~?=n-vV3RXL0DRx^eTQT<(Nau7#e)e@-g8PfV}nss-Sma^?I`xRsvnWExb zR-e_kKpT69({C_=Nfu%QDMRcP$&ci_IN$fT61)av=&L(C_P{O@>7U`ieanrKTN7VbRL+ZNlkYX{P*Om@IC~T)XbWClYP3e_QTu&qhL7=YsxTMvv;$>NCYkWE9n`Xleyiv^25kp`D>6?U;F{bvY2gk>8D6vmrK8UzGYN zzIx@B%uW)EZOb9C9am%a2%#N&w*b#&86Bo3E*lf-Rz74)+yVct!%Y)Tm z@kHO9rh7d?3>vWzA$p7zxf#S=V;p_)f(O3W1k^GC>T6}N;l{`w)GEp2(J9ZX?XPeZ zFDNtQWn{7*DIP2~2ll5KC!R1AeGaFdsNVF5Q)Wvh&5md`;D9O7h!Hzg@a~D3?qb^( z=wA_E#+1Ph#%>J`%nHUvci?_YpA{D|**B|N|0G%(=CT&NX&4U79ujln+;WP z#RKR;T#)mlfpo!6i3Kr%JD_I8n)lGTy#3`oGv`=+Yl+SO>oEI?k?1-&r?$cif6wlf zQkFJ23xkPnp`$6!tRI!gU}Qn+tsjq7LbLUil7jdm{SNrv>bNG-VY(iQOV1EWA_c8j z<;SfW(VnzPD8s`>!NN!GtR+_Z>BARHPS(XX8o?U4SM5lRhq}*UlzTBd(j%%-#_)h6 zbF|fy@pDyW75(a`na{h_m24oU4`Z6~y@->T$9K#$%vqZ zqtHdymQ9%20@kA9siLDlOE7+k>YI+l;Nf4Pe-rT4*o+!PflWJmeu8GWT-4dke@lQh z*rRHnQUcd0?N~JIFpkSQ)1Tn86l8(JARkgX?~8Woaii8pPJKGJWpCO zRx2!c)f@IOtJz!JBq7GT*{7KGQB3=4Pir;SNK)|OB?;>4G7B;2W~n*nxQgMyA|a$c zD<$JSg~_cu##^-HutM@!ccwkhG-y6F@GNY?z*eOC*E?hj`!9yZ=DXq**jt*!Z~uX|GUUQRD2y`P~*24G&SN^0aL`{&9`b1Wyg z*$mR0G@TDVA#Xuy{u-qAz~4b^Y%<1!O0W;0;xIlT9Pb=b7KnBLU*mG3X|X6SQZPD9 zn8SP9n_`u{us>wVZ-<@AZ=*yJK4}ji7y146F{(kz_frR5{FxdL9MS#yZgeM?jyo9Z z@XNQh6^|iJ%S6wN}+tRt4xH{vTnl$E&as%hZI`}?`o`*_=b?I>+(Isna#lIo%v!7S}%#1td50H9se z9@T5JlX{qaEi64?CY_hH)5NbZ>lV*HgLc+>Gj?2-1I;ZY?=t0|KJPmc3hXZ0syKkq zfvqbbG#Pu?~QG;|d$g+ctS6jjfrVFB$Mi1niG zL*-9pJo(FhN;^Po%E6Vy37$+Y0)f0rd>Vvwy<(?9o^@iwiNcu90%>D;Cx$9<1+I;K z+ftn;=8O0j2LT?`;p?3$i~e7)E}q>Ie2Q{QuD7W%mJ(5prxLWhY;x5t`;u;vdcDPJ zsu!OE`1+kWQfq3V=!Iii(2EA$!n|vF;cTf-ldb1uTJ*QvQIa;ULT^- z18P%`Asc}~cNoSD zQKH5I-*Z5@`EBd$S#{WDyS7pFDMTf<4gewco_nZI#%6T-2=dcZLfK8*LyQw!%4Ix! z$5uEg)@v40ts$KP(sw^$@=)797sMcD3cd+*>@(bPlRmlau+g;i82 z)Q!#JxHHVsb(;}A{s^Snz!K~BD=dLloMDj?YLkj&lkpy40Cnwfpyz{F1lCO2wbzkCYtJ%R)?G?Q2KbYW zz9k6U+iQ}K--w-yl<=GUZ{W5R9+NN6VLL?)54aUECjFSDIY70DlqS^-n+U_^?oB4j z2Mvp1ll^R7)R+E0!0DUyw$JVLGse5Dzrxo$=KIl}B!JfW_hu|B1-{u~b<=@OJ7-US zz021H!;`+3;&?`=`s%lu7BKPilv-NapxO>Ddzv0u*!sA$Ee!)Nlk7E`>2Y270!?Uwbu2R2nKA)N{3 zt;BsUI28;*mbU&pX0vruWDfrgYRf6nAZ7lbQ6MF+*&H)zb#4xcV^AAZprVk8xmgluFX`y~NXeyV~*se*rgU z>QFD;>vtp|8SBi)Rr|+W4SHsL`nBs&yu7%hU|($x{JQ4U>)5n=15qubYHd*Wd@?|? z3#F%Tt){e1k-1x`UyVT5f*?nm?aM3e1V8XZ3L%Dlhc&(A78`?E-SUs`L<;Ia6PyUZ-&4WJEEezw}+y=aJ5wSl=eKB(8_r3 zROe!d_*Sy;UKmpVXZNyzqJHi|V8~4c&DRwwlCy^a&56&{oH5Z$&fB#;&<6NI3#_Hv z2`xyYJwmAzP0jBx*?~M)h2~R zI_%y-Fm2mI^?!l9V%~a%=9|}UBj@e=P1I@65LUMRR{YbQW>?r1s#?EzBs{|Xn5x)% z3&Idtetgv2G9_1WCdQ?vD+fNRHSqCTBgIF(Bw!n!nBXoH%eGw)3=iD-CYyiFLC7Zt zY{l#zR#q0H^WY?w9iYg!!*Emi)O+b} zK>#P~O|b2A;0yT>yT^FMcQN_$3BSA{(&En6#nbya8o_Dkh?}ACL^v&tF7D+IIktJZ zYEe0l<^iDj;5U?p60>U$zaoYrI>&!b5=83=_hNbT&m*|?|9eTCYARcup1fU&sV!`#OGkjp+%|uGpI}Hd z(2ypqCfi?XJ+%DiG}rqn8s>&^O5JU0Re#FUr;a# z!yx(f5;-7nN@$`V{Jb*!QAhRiJpjgfxFc<__T2PJ@tS&W`}TZZ6$r2=RdJFOUJiW= zOu4#DeGR4d-l4X0a7w)g4=q^)qHik zKNv07{Nq~t<9LX-%&;xC%>V&!qXQ_`l6o(@zAlW$lYo;YK(e`!^jM#-gWS16hMd5^ zV-Es)+T&-AkU8<#&X=T!#f16pXbO;h G=?*8~F=){JTC*bjZEShVUyr7T&j>dsV0WB7(lkxub;R^ zpK%$t4s@hG^dQ1Kk&|z&DJPflo32SoAST+o%^u2mC$}uAU!wI(8$SC{EB>HqR1P9W z|Dt9U@?nYlBF16P_9|gw@5dx`#IlI-@03XSZm~ccssy5LLO=lqF{v5ApdZZx91*$^ zym1yEgP|X(0a)}GBWhKr8>!4CjxZ|mc)@TSGp>RHIRS8h)OtORa>LwEIv~7IF4c(E zu_4)T;-4vgSd>1-!K$JOR|hWH41^o|kw{kSJ^qvrmk6I6m(l!WsDQ=f5vSQGZ~Rb2 z7Uo_d#XYlBo*QzXN#Q;hv82$A+Y%IY-l7Ni=0bCuV52?2(!5FhpC&`rc7F`3<__?=AA#`2I5w|FNQuD+X zd&TpiBZOU(B@|tx$gm8Sq*gMLuy=i%_w5 zDw6>0mLi&r*@$r!V#kbCNTL+ygi^H7m~0<@z1Tc}nAZyA*HfuwwSPl7nYd#q_sK&9C*y}Y##OTu_*r{w(>|V@mZFI&-6H zEVZ~5d|s=zZO)Saq(#AqI#{b`Vt5OmL-$H`hv>Ed`C9phf9QAW?+z zKL+LA0oNF&2b+We8w^eD@xr=Fv!!sgPayeEnQDp7kdl^4@_+f)8dnVm%yhv z4Cm>!H*v$?J~sT{wLDfh5T7VFW`*{bQ>g{8qS*yY+TAR*rGp(ID&Oi>?~^`sW)EAa z;yZH6NA6sk9XXP)ZmPO;e<6O!OxbZ=RBTj=R=r7`Z<|3gq0U4{+){CZ=D&dc10 z)frn;-`-T3Fk1RDRuxtoHueH>{eGxv2B%p?u)pYV`5oCF*H-X0PY>U@m+Ec0XaT(8 zWvL29Yt{a1{fX^jOgLucKxe|* zDx>0hm>!%l483N>vkxTmT$bP7c?YA&6LF4O&QcHF4T-0*!{Vg*K^=3#8dKptAGA5y!Z`DTcVx3DwbA7;1ORTtOBtWtPr<|r6I76=0!bv%0BT; z#?cP0JJ1)ACt=bW#Tg=et78_9(azQ#bmNa}-3-{i+EQAeTcTB|7Rv=OoV|!rDWId= zExTEjBg?VV;3(H&olP7NNfKHr+dODfRdj##XxN#>#*;CcRSphmk!{JQ-|S5}sPs%S zfm6}+$Af^~iULn!v6e4{;i31t!7jArv9K)`VI^(<>eySC+Lhj^)!0<|X5_OSM)_(?oM)(&OW%v*dPH9g34J+u*(Di*_Rlxh z2dhn{oq7s)I9R8WfK|tEtk@PO+a>d)TC>`(U@gb;$v5kbC2tkZxyk2_@-7&b2kEX1 zYuEtqyw9zc2kIvtdl-_Rv51|OsKkPN|80qPf~{Xd`{f!OCowH4+AmNy^CSGkk-t0t z4D-H$Q&t2A*IZ6I4IH%K|>$3qaC^jelUT}JOafME3 z+~4cVaR66EwG6{!?irZhP{(#Z{XLu6CRo`yL%Q!^hX0jqBHMI)1;a)nX8|7dqG;63N>G}CD8*lFX=;w7Tx7*f0Ho_A85WlvgxAviy&f@qE~h zAig@%lpcap+_qeYHt~$hVXoqm3!NsZj#q9@-Y=3-VXuqx-rmz)au`LsX;0GhpgG>tpy+G)zHHApmOfH=${h%e=p6xrF=iWqIwuZhQyd9Fk*xE z#s4n?0(0o@WaHC?+e;rKA~Asi^Zx}AjP!77pRYFt%hJ!!cIhV#vH zuOy;{{nN|mI0UYxA19~T%Y?&g8*=1h@o$t^Fywv1s%h*v8dR~c9uW(U$^1pDGoO7+ z@2Ze&1DuGVR7Em1MPfMUJJX9uP#aJ`+#v5bVcrGb)4Fq|V5aKbb`Ik9Uj^(5@?wT^ zO&Eq}APJ7A^$b%7luyctCPWPvLvI3(Naa_G7w`k+M-}m#Qg>MsbPqxFih+}ve{m`$ zU^P4o2er0CUo@eznvl&flYRY-RfDg&!nc=|4HK`X@AM1|oUw&DF(+1r-ELcG$lti> z5K#M!lfI+)}*8CRi3%b=+%o(=}<> zHM4aOX?LZxE;Aa&H&~>edyX#vao4i<0$Uxzv=>6v79tfL!2JTJs@4m&>WM%UoWZ@r ziG572iO+mfYoRAz?Ifn6ix*w~=#>5cdD1Dd5(XE5qz%ePLGM%ur6i#c^shT_?De#% z3@i0C|8F>rf0DOD@p3CjL<#wP$}!>d+blZ#E#l@WRxqagQTm^#uuhs}t*};7;ZRBW zpQ*4Gliz@P6S~*C-^zO=K&?}{=({37;a}{F;MRD43tigK|AD>{?XQb( zJC*9^IdKmY>=8d+S1*X6L2!F!(7#Q0+e;^Q!Z@kCy{V2^)I^#gNK@>3>G8o^ol4S6 z9T@wafpAu~9d$RC8s+xZ-a=Mdde*nCbA~D8u(E$OJC2Ha9{LnPM2O1YN<5iEpHx(y zp^igp@a)rVj%P3J2RJ=EO!=SC|3idgfjA5fMiv0SCYQU+Ki+TSGF zcgwALsPsMlT7>#}Ym@)j$WqC$epeJ!#cE-uJN!`tC(XiMdcebH~4Sc^1DM-uxHmU z1YS|;S(MVD{7ATq#*KPqAsPjG**AVii_Kq#@S-MI{t6hn#?YlFJAahEuH8q{iK@EF zEPlqkG-P{vd;|tFh%H%VOQ6;UJmjQpA}4`K>NK;q*e9=p{4@BYSk(Ng7}&N1>pI5b zg>2?J#g}X35GiwIC9~7B;qtuG)4{W{scxO!{@gU2A`VSYQlVE zAWh3WfU3o{o>Qj~PX_*2LZiYR@=Gx$c_53QK@WQ-hHlwPrq;FmuLg60&#K-U)bUQP z+F+X3`V;m#jdK|CLn;2Fq?z0mZb+-!KUJ>2-L-a?vO+J9y~uw)6_2a=qRxq&me2&v znmGmg<$AZ%Rj%#al-Jn+RuugIWMyVoliSUZ8&(*eWDq8&3ngnukUP`_1fRH=@jp5} zwb0h~{7icSGHCkzwM^f2Jeg58Q?-`;boWsE@HA_q^4~YDNDH$cA%sONL%tk5AVIRu}NUfxR_1(Ktqm%R~q#qavBt%sRt(dh$GC8U)-;44OMUDDie9Wcr~goPPirBah3Pg|ODVA#vW z3YLWTD;}TUa)Wk2p@5CR#VD}}7*m2-D#_sL6k5(XvVbpkB^0LYUckt19$j=r(Yf}! z&I3ZOg@oVk@yexj`7`r)(P!c?2N+Jq5(NpN6Fc{53NP9=ZkIyke46kR$1oM|as5I| z^-NXCWIfLK>Pb~NGFt6ZRHRlQ4}xf4X|BU=1cD3LNZ0Z2o3xTS@FfjdX*%LSCr`aT zb@6&RD-W|GU-kR06a^K1QyycUSfs1?B95H|aThaa%p_;qfi86J8vfx74;6~acnO$< zA;jNne~xQyd3E831Z8DXyWB^=N)H-0c4XT@t?#FO;m-vbg0a7$s9AtCwK@uH7R94b zt>JS#*_64;jUI=AOKKNs{m`nW{WEr`|WC>;SdPbX{7Glh|@sN;dN8TwL}}` zg-4~3a%1%}R09#+0#^)VY{qs?rWVnlojAdsx~knko2`ai#jCB5m5vQ`W8Agjt+sY& zueJsIz_^93upnrv&m-TywU6|6PSbmy>TOkKBvzsb}8^DC3nTM^bN6b;>(5p947kcXyTkWcuo_?pjFH*P( z1v{u^o)0r=oSH2*Uu5G>joVXbOcxTxRn2!8J33e1jUEB5Q$wl6s zj#;pa`FjNP#Pe=;m%!QXo+6smHGLxWf>*D_w2n&nVlxR&c9-6f^m@qRdx|T3Vd#6j zfGCfOYtL9KYo$fS&>sjLcsRYpul$diQ#5kpsT_31MKa4j-H4=KyP-5lj+9Rq4`}f; z3c5%SuZJ!FAbNWSlV%pDYUOp*R~TC^ADyg{I~9kD!mif5fI4TlCg*W;(nAc!1{otR zu)iHt?d z8P~?HzvNWZoLJsFJ1`G++A#kFZ><0qNtS70&CtVoG@M^uL>dFLHcdf`{4442xkoj* zXep!ep!M27)tji@T`2ELnw$#Ldse<0atR^i2Ky>r2$6oWsdrV3;OQvMije^7Hd8{f zxfd7iwR96*OC@WkF9hgjwI*})B5ig;lXlRcvpv&2E%W!-y?Nlp6_doe4%QZimI{B7 zv092;;4O<@x>1Q*%WHnqXiSmi_WRgua;!U>t3io21gt)K4r(uV0kt}bwM5_>JJ{r! zKXbx?qb6(H`~7)(yULf<>hveH5^d6ySfVG`C!~Iac-p4Xw=h3^O*vTAn53ZWI|k1Q zHMD2Pj-)gekkK+>IVsD@SI4QH-07eOi>eBiyIF9)vo_gTOvu8WSBv5YfF73dTJ*0V zXi?ExV5jq8a{?r-F*Sb49c`~>r5N*l}k_BdfBklfTC0{vrR2kT9cE5HG-+bsCEKKTz zlu|03$q@my<|fNq{-oPoD8I&mpnN{N>=y-3-im-AMN+>=9{J$?C#2>c# z)@Syg>8;#b;v*t|V@Seh`ai=!+!;PfCUwR{V#a^KQAvuN5f9}nWi0$houY>|kl{0? zuP^E*(czAZ?JFkCuWl~!;#zc?TChtEx@oLrxtq==&s|u60RJN3SRA?;qe98Kic48^ zF+*iCcc2-gvI##F4LDjq7tFZD*~dkN<-(0KhJ>ZdD>3Kok5P05glX_ndPrQ9cL>Y(C@SW8$$=o$w-2EH7zHv%x66Cl>K{ zQIf*X!i2hBN{?-&N3`1l#$`GB_^?q;|3app^zO<>SKt1cM^fC;+*y;Cym3>ZP?RKH zDT-?B(bHcI6k810!219PtVpZ4roYl&*>Q);$A-+=plLnW^Bf15e?cXw501)HT@rZY zLa|c7NIS_ooFVKGok6nI@c|eH@D5*`CoU1W^&PVjl#Fu2(MP=^K0*IN7lvmqQckYk z#<8d4Gj@$^Cz04PCl@aW+K@hkxh|e$zb6xVmmR_19jd+QkYNfY5|aEU1~C|ewI+l3 zAHf8|VXl)=Nhk*%6az7`E)4HyTree^c;cEmbR*CaL^yhgM9kEvnPE^1nIfGpF&7); zaPQD>!m)jB_q+Do=e(k2+cx&_N~?To(sDT0ja;f?S~5A8DwuLOm*8DX>z<0lE(G^Z z+2L1pT0JLy+!E_r;*{pv=W-poL>;(y_PaC(_g?~TuD)Y8A9~tmu-)z2WW?Ntd289` zdb?yKAM`+J7@u=GY!nksT=SgUH{1tcl1&t(Y5yg_K%o)NkS2+r@ZI!2=yC79(S4kM zt})}3Jqdk^aQI7XQ=tMpPJd|zRBj(5L-RK=*>|%z(-_6W{R5T)kBlz{CMCixXT6hy zd+y8bvzVAJMM1(&Hoe*X&E2M%}Zd(?`*&XpR2sM$me z=Nd3(eSyDoJ^|OU6@u9Sd_+$0r^U~ck6CN11nEJXMQfhs89;%Z5vBIR45$_6n88>RCK~RIlw>BnQ2}g zj$Tc^vHxUF5^s&)mU7e(Ujh^KL;P5PQp^Mq>O(wrpds$w8Yjd;R#YkdxY;elVpg8i zA{J(DCWMb`{HT0#iQ7-t!xG*QPbMT29rqz28uIsCN#zGe5cR~D(@W)TP2;$Nq{sa& zok%@sh(pG{>1wFPOha&&#?wI>Qy)8A(`7@8D&wfsA%-N6#ygjO?I-{jd(`W&zG^(BiZ;_1La@)s8jJ7@Ce=J%=#(Aedz=nBR{sAy(7`+;?n&(BfD* z7@vxQ-2Y=VS8?i}DL6z%I0&U=Fj&2}t{WS#u4(f6yArmy9J!7h_Q(hqcw3$V|IKQx zAS-jKV_F9dPBj7DKOl+4fm3Z$R{iWN%clU>Opx>8l1wYDX9)AbjYZeBfL__ zM2zNw7rMH^LR)=2uz_xBYS3NbblO&_19rCLzqngAH|O-69I;9%HGgSmT=ihQ zbE*funC%uEU1<9+1LY%n{_#@ov5C^|{@*?vP6b4{2vIDa^zTw)Huryz-Ms9bt=V?H z0$Hg9)Z|G%#I`E=6K=}oBtag^<+5sdzPcLOS!$-OZqH|+N?@67nyreh z+D!$38w-ajWzU2XmOwczP||DwU{Sfc27sZJKJ$ESE_D{X=$?&!*;cZQw#opD@0jHN zmpk;n%#)4=F&t8Ywcb4i#fnm&SS0^U@N0?!50Y4W^nIVP)BwykstXK;vHvVH z5qjBd(N*%Sm{VRj;C@D~CR^rtXA|8!l#8#!!L0wYE|J`EYAyzCHT9HfC;slHFo15t zR6;$1DuV#dJaW;(EPaoU`q#poMUn<=ISfa(f$T~T>s<6cf!#72Ax9d z@WEH*UTsf05l3Tzqp{ElZB9BdJIwN6Qe>H|R$F#>7_@TFRz{nk7j|ekB~2)+J(3y) zISr`?%=n;EqzO2y{ZC4bSyUZJZ7z*&gj^o052cMo-R}Z(w(aG=Sb4FQU18={dS@du zi{Q8APtQZ)BzN1(REE3o=@yJ3G-caM*9Oh_cMoHTp)C9PRdU;6hwOT^utqV(rQtU7 zML5ZUm=wXD9NtT!oF(igCHP8c5AP6bW=gPzz0!I=lcBQfqy-OE!3u6lNn`!b6qs!l zi1Q|Q?T~(R+#wb9RE2gZfg$wRns{Rp6g|QTbNf-j#0H1#5R$_p4QL56&lj{r>B3{d z#G`Zovs(?Jt)e7|DY@U| z2+1PfDm1|7>(N^2990;%S%tj6OZPvJOzkdstjy$hOa1Xmp1V>^c}>(FgVAO=E21h? zNt=Dm#MO@=cAkXGitGj7GEWWi$M&5ID^mF$<;($vdxYZrB%KXXLQIx#K(HbOw98{? zG{oj$vi^IW7FuG8QJDrrVh1$*iAolHR)!iWeEq9(CkmCVG%nwMQb62}FQkJ6ENlO(FV(%RKhff)PNAR+K5E&=b z8GcD`Z2uj+4>vSXbR*Qg)|O~`yarKq;WGzRMUAgSxXz)>^92-$F(YhIqX$yD{RdKI z#&;$SnYwTPWa@~JmZ~l{9-+RE$z|$r0{HDgfE2iFxEOm9Yo+U)f6rOCSbv=4V(oe6 z?3aJ!?w61Ly%JpT|27S0G3K5`2bnr&`z0#u-N#9A#-2z3={iQ)rK)KmEO+&dw1j}L z#$j;0V@%##dU6axjL$ASJvt%po(Za~?#BN`J}h-N3U(?z%xqTK<+OB-IYPE!K*Hm7%I&`Wu?QT~V6aPM=xeSk?A@%<7 zk+;P5^ESiW=v#e~g;~*gicWq}twv?lqDzvvr$V{)Ci9*ed_icX>aU8pN*n5YNi~rQ zf5wB{MvTD8&&`-*p3FQo23uh!eq^P(OYOfLN4x7dei?g@6;r(qR${Wp2HjG_X2wVL zsk>CVc}$f=;WG4G!6Mpi*P<%Az=AnrHkYtxA4}nTyi(J z*~Fl>m3V<}x~rMzI-kjQqnU8>geT%dn5{+0NW@{_8d)=@cs0#iIv5Bxy&zAh<>W1X z@~YmioAEJ@ig)OXd~1d4a%K4$fuOll&?2JJ^iz9m1pS+s6ePkcD&owb46Lspy2zlt zT<{Me=b&bbGF1F)4)0{g;gP9eL(SQu&X*KQ&F~v6^BQ{jCuP%!DX)0k<%IbjYUXZ7 z+g1V(e4HN-5fBF=vznMc?>u=2A7CKk!JD*%SEKs^^dOW%O6Jy3x}pQ1y22nUVyaLE z7+X+z9qq%yRP8;K??ZJ;P^<~1J~+it8y}UWo59X>-?8iwX7G^)CH6)h6?Lz>6AoRx zgpx}dT719v>YTlQ8&1>pB(MZ)Ey!1(IJ%7pKECht3#T5{W(aU8k@%(RF07bpl}FrW zM2Kj-MtB=Hc7-D5Q)Raz+(ad~WM6Xt&Qt5Gsta2C$E^r>l@?a(IMu7iU6T@+W?1W{ zE;6yC?zsZ^_3z?!&AEiWfeuy$XYKjdY>~K55}v~EX#t_D)vzN7&wL=}r@^lF2D>cV z^Jg>zC*c*Y8Ef~lXGGm)&*;ZB%XJT2kJ0ZRe9f&6u-d2FZ9Nvegw0SYnQB2h6SH7+ zx{?p$b@-*W8OyaLt;AQDov3hMV-w?}K{ZC)07#PHSl(ZW)&x=ms|_gD@o4j*uCYhk z^#S7<*t@ZL=XA{;>Xq0AK?YACEASB`(QYzDD)6wyNvbx*u!$`b__WGsQn!C!8eS4F zo-QU$*%NUmm2$UG4!!W%1UNRlAyJYWz?{+}Btq!;xYXoP=yKx28QM z$ywWKjGThf{^_FKqD7=vp^uHd@7xy8wHWD znfmZKoQKAo)q`i5CZ7kICwRG7Zk^;nt1a;n!vprXId#!xg9X}&3D)3p%{i0_67c*` zdc*CDeJRaJ=&f@tayc^H?lu8GbTB@_kayxk3|IIO=nwQVgZtU z)^iEK+dcOoGIIMyL&MtFnD#5bbwYcM|tQbc(Iiv5bwOEBIzYAju+C7 zt0^nbp^vN#cRAUQ*up2H|2z%|8O%|CX0frQ8QbQe|=R`vS+t~4aL zfp099{w%ahUhpXoBOA_}%yv3tDq$~=b_eMC($U+cB?z!lXc*)nkU1TSwX#pvOJ6nQ zxs|TH6AW(;HjO`rHW++?x4gedsq+HBhYF_qBA(r|`)41iCfKW3EtIb!hkltuUTk>P zJ6LEWDbaj_XrXarGNbw@RC8oIA(2MIN!sx$9R+O__sw-UCW3^Q=k)MFBDQf#flv&@ z-i_LJTA)6Yu}4;fJ+)2X+gZN)M?vL$ixmXt;9YCy%1@@Z6cABtADO18V zv29Fl!S;8NE8b$E%A4Xsd#^AlGzYAoFfPQP$;S?F$<1pLnty+^pTZ(0JkB zd$)tX)9hdvk_6cxgA)H2f+4`}m%F7m)&$Oyjhx+LJIeVYpf+ZlE!wGZnI64C;hLxs z?;okLP%#1eDuh_Rf+}QwUrfSipok;_%jpz-!w{E!14v!0kZ+I5LJ9C^>yu1?#2|hY zcxfg~Fq$GzkuJB&!-qZiU?rGL8iqf`!$uivK&9C|khid3E&!tyokx8UUFcQ-ErDwW zJt-(SS~3$07r7B5yvc1}+~s6Wd%5Am-24w#AgMVAg0Arfx-N)euz^js)HR(sExFZz zUM~=fJ@enBJ#FQY?%p+0Av967&A>hLhiHQ zL}-yIV~36)R6lZK_;*Q;TCwN+I($a@I*YMW2z}6)>p9>?`Ss(%Nt3G~8bTU7fF+n? zIMvHc2Sk*}aOC-PW<0fHP<%Cg4Y*d_m)MetnPa{JK|) zI8R-awSNjf)rJYqhWR^4!x0@Z8!>$*FBDyE;>~R$g*`U-rH3{)q}WSSEj6$v0_=HP zm_q>A3^G&og_0l@b9;oS6*;HlzM$j5-=D2e1@w4Rrflu2j$zAgmeGO;t=Z7Ngv=bD zwY#`Nj0D8B>psJ_q@V%mcpzX92o4<lw_F|s!udm~y{b+z|M2_YGgu;tLG^kL-VbJ2y9^IVLvOT9(2T zrbY9db@PbFp?6MlRw8%J=;c~8uF6aK)vnzs0C$fcQ$YiY-C(jA4URJ?F0B8{S;lvc z*}<5d<~QV8q8X=0Y0`hi>rvV(gK1(UTYLKdAl#Kv8+=imm>Ee49RCANVkSlG7b#k=r7!n~_FvkAw} z48CF4wYA!qZge^p-J_|0DUL+vk#Oo&Jv%2?X!onsgr*s1Xz`r)$mj;k6_3TW;8YfP zMk|$2TRfSeK+YZ)s23|?V;GeR=~PjQm27qtzO9kASRHE0#RDvP%d`0vWggTje-?>) zbD3hAcP8jPiHX0JG8KL(XVzD+&X8ReY%L3ZYo4oDV3&>0|>N6&!#^&|f^WafoU(_tcF zKTzKXg`zqtOz;9zg__$alQ*KX}I7w5hBX){Q21`+%O*#FO33> z^VBCs&Og@O57{^WhX*Ym<$Z^E7CjKojR3;N+#8!Bj)nJ-*5j2TdsaljlzTDQ=78pm@7I%qu#A$@-_Ob#H~Lw@pL zBSZ)w+0M)u9< zBr7q2CvRK?K1<#M<@Y3t!fjG%Sk3FUT*5CPyh!>^`N&7MM|hP)r?#sN-cC-dMJcSj zOoyB0gcX=Xr|&i^GyS=OH!zLpt0*~byQ+&x7T1H)#^$XXWBblZYouPk`S&EQ8~2|H zAG~mwS`eTY1J9{13hD_h3KF|KMQGsUBsn-8M-&r7yx?A8loS(tHjIU1RQbIt&@Z4T z*)KrsR1cx&9o@L^8`M5J`bbZHH}38edJ+#Q+>a1@yN^Hgg>F9J6PlX+2Pkg2FF(GO zW-WYVy0DjQas@_^O3!?ug-^Xo`wv7$`U!hRI{I%8Ed&A#qo zP@9ZXpC94ROqAf~_gj?vC$!2Q?HhWcAK`xhct@ALrYdKZ%5inWdAFQIgkVE3d1YCp zfqXGIya2VFQR-n3h*mKm(9mj3=29sgV;;lN*~^)}xB?a~*{6wbbsTqFHD~O)GE_%V zsCgzxhv=RSyAr7Dq%F^Us2;ZUExkT_)%^DE3)C9llEOP1yc2SJQr#RIOj8wlLoc*E z_*X)`3$jdaFwo>wW^kc=sX4dTKG<@l!%6q#yE0mA#z?B=Jhj91@4)0A+m#%;#$izc zYpT6qWL*Vy9d-Ak%53KOR@_Q#_|aWz19IJ@X|0QaYzk4qe;=<=X-f~=>%?%Bw?NxB z@s-Z6ykRKO+TqKDA`k7jiuza>JA|NU{`I(uPs#5Ye!@L=Sa8wheOEb^VyknXOc!Nm zIfe(M-Aeh>u}fT_l{XMQO4YYwLe-CALIf4D^IRol8)C;fioiE|qgz# za<3sRQ3%6m0*G25%OTclh}K1|e=4u}v=mXdpzF!D5vlZ&w?a13t0b#Kirhh;zTO#J z>fgts^t+h1%+lhD@f^N?%cwmG8eJjuwR&+LAkWwb+I8*PaqMfz?@#SwjC*Nq3Xj}b z60w|F5=2#kzpXK$Cq5DUUr4f{IbCsbkQbpq)J`9|B3gk5p@21R9(tpq@rNnL(YWPY z!b)xvyBWt3x3ZKGZDA|(v14MYsC0Pgeuq-qHY`{il@Ek8g=w}HGKA9mS7mPdfs?;y>? zyB&9tqF__;FLVGg3s=zsvfR|`>Hr!3g+-&^bo0rON?Tf!pL zGjncKP=DZjQl%#NfNt5S*yok%|LSJ6R%g0=KaF)Dx5FDqV<0-8od@vb@t__cMdKb? zp%l>uP^ik?be$_Rb0dqA`$h_T17bXb?ADDe&mv~+L7s1uTX>QKK>Lw-mIE-)sk_Dn zIO3Yz>Q-pK`SrdlAv1q%e}KO)ZUr@c!#nkPvv=e+K(WuLahznr``@Ft&FD9UA;)0E zomJ0}+ZW29D{LK|)_`@0C;%$-h$2rOxqy);Vi8SFXBu6m#4_4Mx!(UKwb3sU%xce3 z4vW(cAh+4iF=)CEkyY}X>t+m0uCvj9cFStN+5nsFW(|DfGF)@&F!3G(Rdn@H?vS0sfjuP$UP2W15!DdGv9-3c{1nElG zYlj&K&GdA9>yLDBLj1I-!TIzgI(umT=a~<_ik2@5NI#Aasna)5OMb^A-MB|U=pn&a zq!U+I09Njvn}BFl3|;(;J0TGzInBL(zIl{mWdPBoQ14ptCb!RJIO$dAN#nl+l>4;s z5xYW=(9gWCTm%&@&^u&hryx-1e%K zu^2;B7x=@?WiN|8b_R2SVCvJYdxa4(Ee?5fU#;MU@vTZ54sY>&)r6x?vDGVk@#k1j zTI=12dJyR@Z*7htTF1&8SzN{<1~50M>UFMuhqz!RFW){B13DoTl&h!;3zFya=F>*5 zHnorUd=k0#DTf{o@YRf_GlGN0Hk|wY6xXnOmm?l0JWIAaKzF~q8DfA~)Yz4HhcyG@=5iAF$KeZR+i02bvx3+fdq-TYzR7Qy=D zjJl0vb%&a|;h{@h^mq$6-5kHCtA88ZT&9I`4zNUwUX|heyNLv4JMIzF8 zlKCty&HW)h#n1bWWmn$SFjtOoL;M4K%7c&6|EfDWCGA^RW(yN`;YSXC_s$m|eibAZ z;M$#nxE^x^iVIegoP zDok+Nf$mr3baEX*r)SPS-a+SWUV5IE3)!a^33t1qw;X`DcNs<}Da`r&FSD-LOZ89< zjhyhg3L?DlljSBA{JX`w3H;qm1q92>*ETBt!DNZN34DB*fCuKs7W$%bxSy2!$u&+(sT}n zC2tlDUsGnI-Q@5;w z8_xZ!Zs-;8ZZjKgnEBU7tBit7%qCDcYJs++KP$jhNoOa`RQiPvbeNIz|IAQ?AfwG{ z@|tRK=U1?AA{dYT?-qQ;)EbI)N}`9wc*e9(=96$0?%^y+Z*q>5kO}4{zTSP;^CZkA ze>iN!I4f;`q8c(1DDd(Qf2VT4FrU4hv?kxeP2UhM(VpM0`ENrXL(#$5nijV z3msLa(7xO8`PT#s3c*nq=)%4GLE!+Y8)}ui0nV)i4oQV+{PFKhwS+F3AUslHIQ^e; zfG=NlgGHX+t;OT$qd@1w@q;v|>6qE%MqzuW&}OquV?YiT0-|T_d~6sO38d?9MWbc( z)xr2^%rst3L>RcFI49Avp(b@HKSGzy{!8o-;dnYPeV}8&|aH~MCh5PP=^=RZn>!-)V2bkv&^md zgZCpVN!zM@ZJbtA5KkMS@@GZCzvl96eopG*&gW3WC-ro6iH~w8pFYe&9Ofcfr4&=L zF6Z{>=j1e*>+Ug6$kIiwjk&8+3YTTYXbt6+K;+phooC8?8*E>d<+c9Vh^tt!Se~*L z7j~XHvM|>g!V(V5>yNfn2JJ$I29e`q5Y^VUd!oH|a^4#R7_cG3XU%$%JM|zskb*?3Z#9l*tCW0;T0MOWhn6V#I2YF`2plNDD@p$WsY3QziY zb$}*VL5sYUl3Fu8m&K5>{b^*?CE*S-!bEO;j)s&65w=YYDB+3}LE}Db&&5hoU4-18(|f&Y$%S0f zyE6Zx)_Y!rhhcTLgp83X?=0&E3w-DKyf#_N?cu+&4DJd)O4o(r4dE3SRskuWapKv} z09b$yXwuFA1$x#Til|G&p0Q>c{G)i0tu9JP_gC62eYAG;Duqa!X4|FW=TCMJ)8P>2 zckJ)`cWLtO9&sT2NSAH_4d*AaLg5kaV`uT$%hfylIyVJCry#B;%eS8gdO78-;YVPw z#EOkwgbUY+llivM>hY`p7Pb@{^VAPT*b~C z0L@Yu+BV0qqceyQswWv;a1>CKM0Am!{em2-j9b9}y;t*RYD1tx7(vL4M3je^;atOc zB0YFsikm-+`{XO&>u>EVaCo1S2VVp%Zw+kH6%69tzhlVk3;K67UQoE|Zs7RI4DOkT zpsf8Jq{CSfKLE(R;d6Ez-H>uQ7#n&tbw6aBS!T)VdCb652!>QMdi%Xln;v3^kKYlX z8iz}_`^^iG8AuP6ykfk2!wVUTrjATAff(s<(@_+JT4^J-~y!F2?p)$ri3yZU|dIl zw9jgo*gmGJ39*5q3(LzJX2M)&<>HXc83dR(DFKl&(}HPxvi-yS9FCkw1?O2$(Vsgl z+qVvP!1q;cSGe_@6C?LxK%!mD4Z!>=M1A*TIsx?HOk*?s#Eye(XCO&==Pifyk>D_Y z;vA|Wfnb<6P)sl;Wz^FiehoDCBvADx9Y#2j?tU>2)Yf|<_)u+-?p^x|x+uqRLI`we zdy0B$mV+Yrlg>a;w^16c_}PuGNL(DoDn|jLgE-ZjMOm&Rgm2TQc~?`XDqZQ#xQ5es z!gvWclatU%2Q>h(w@#RBlU>9bFAbPEEb!dx_;6O0&QrMlV$N-wumb7}LsR}Fc$6kL zZN^ljpcsA}rN9oc4go55Ove*rd%(06c*z&=84-mN#S>gN-&v>&)quoRH6j3tHA%zw zq?LbU$I7j6!2sHYLBC(ZNf9t|ATL*o7brc6NeOFB7eEoz=@ySRg0asFQOa7q%c)sF zs@>WA#Q6!-$5{5oz${^Q&f%YhL^t?8UE=#}mcmCZVkg-(P)A(j&oeBqvbBGkAYm;) z96Zv2ihnn4_t*WEEySKk3u#u}gf<1k*_v5qP$hY#KpV_%Wo5g zEz26p(F}b9d03$k)PsX;%JyjZG@-0mZLkU2hV@iA*DmR z#AV38h)cK9#q-fM)Y1PwtikHV5=qDWh<5=v)e?rv%9$ob`0^h52XB15JwJBA34E2K z{;5CAkgdfT1CRb@j!>-KReaTzpBfR|I*eVPYq(&SaBu_x_x!5Ri+{3UmnoFA7zYLN z6H**C0{g$F7`g`jwq7w1%lV~9uuF!J}zSXyc zweK$RFajZ#C+Z-*^l$o{2>w?Q891R`?l^He&*>x||Ax^%6QrE?AUo~;Eo$bp*pE|; z1I8Obp3-i`-lwuN*TX+$xS(xS?=ku}Dgb<(h(5R`DuSso9t!r zrCf{>GbE6nZpmuHoE!&JI)P5U2lWoigO>XGmHk%~gL<)YeLNt_S8g(6nDyer!^l|| zXA}VDA8l}<0Rw)@Sv>AFiW>2b$P>^u>;Cpb4GY*_qxu!;I}=Ou0#)BK9jIx&Axr3dLU%fg0|k|6oL;uc=)Ug z$FE&#V9$`K|GHnlAGoOczUT`AfA_5a1k+~BqL2W#%bEWb2Vq5>M2edgr5a?mkqEv{ zaI=G>#2X7r8LF41=RqP9Q)Kq%@)B?1Ki$PsY7!;I^o7#pTP$07?;JZR(x^R6dK55=Skx=g#X=9WPwCq8fC z!0nuz*7%K@oIO-db3m*;&6Vn|=y&Qa>#viZJ0xATMG)tZCOD!;tghD`-YG_3vi^Wr zD2rAaM|c7uf)}zSjGT{YE`(WwCT{9S8BBbnL`Wrc#3YFVBck@GRst)AF!&drTtHl7 zg11~wp%ENtm26_azQqk~@F*@Tirt&IR9o=CA>>fR!KleDMxot-<8rF?yKIrGt1Ha7 zOi!n$&!~*Jz8oD06Jtzwif||ag*L(890<+^-hu!;<41g@- z!05GehEM7dfSE@c;~nV1v9W)DG(*{3l0G@yp(x7rTo+vGaZI&W-rHZI-O3V*sI-@~ zz$hynrirG`Rw2yZpnq7;G$8jd)|SWdp|E)0CVm`e{QX~u$mGKj=2_>_TobP!ykn0g z3H3;h67oleyEdcpDodMbf+gucSjwza0sEt_T#?jZ@*7m}A#18)@tr|kk)-vs7&*J^px=di>{Mdx@xrw{CI$a-{N&l1B$W zji2y-Z;sbS2Y;L#eLV%NC%xXwol4lty}IZ#M*o7FRsRv&6Z#P=a@lLt(0PM#&}$U_ z5j%3;d#KQP^BUE0^Qye#rr#I7ZKW!=;SO7ukvW4{vG)Iv_D(^fMBCP8*|u%lwr$(C zZQC|?*|u%luG(enzs~uiyKh84-iVwt*F)w@zO2acjX4&K48>I|7d)-A>q*np%1R#E zGl$G->jDIfzSmY?rS@ea1`o*A+XFh6p5WUsS;-#f7RdPCfIo_I>yYbzCSOekgbJWyxgfnlUe!TY=^tU(Zh=K5k z2!ZejNMq6OWr7ydrj$g`lbRHFR-0lYVqbbJ>`h$?v8GLFnzJkQtK@~$AZ-x~kDElo z6HYPvKxoP_*qD&+zFbsd7L}hCW-&P)Y|l~OV4L7fS!k71n6 z_%C$um$OZugJ#$*I#`DlN0?z!q5{qkN%4SYnB=I?Jxp>;ycrf*=J_V83{&K0m}Hu< zkbTLG^so2#jDc{&q;?485&_X89CBQf+zyY7pbU15S4O~$p~N=>fic8C10b0n2$&J@ z!%qRu2ngsHkY*T!WGvS+0&?V3U%>?c40g*+MgWSZ<}M>3$s<@a?FF~}1?YlOfLR}K z(|(X7V0v$TrDrMXAW!2m8Af|n&oFF#b|~$>VfjZxeDxA?>n~CrDYkIW!mmPIbQl3$ zRVUbH&HmFOMt%8ufRq4le?7Pyqjjq-ys&Xx_L0i)i8nProC~n$`=oIqMJpHzhVQNCY7PB0U< zC?$^~?k7OcTbcOan|T3Qo-rNZP~r)i=9$0HYqIC}s832yQ~bR)bXdoXIO;QrDM-!F zEHci3Y*^aOJnY0tt-r63X{Zcf?rM6782^Ifi+kqN*wWI0Lm`}pt{kl=ICko9c*$k3 z7xr(&17{AjQIvjozNH;hsYX9V8B({P;QAA_8g_21PlHH`mmp6>LHaj!>O>nY@r>~D z3l|ds#M31JCj%9-P`uMfw~bOg_%Ei~`xTmznrWZsY?Yn9+XN91|4^fna1JaAJ82bN zTTPtYQT1-(1L!d~TD6WBxt>5xYuCo%W~y@FVOOXzuQ|G9AGNv{t7(TUa#4fTBp zKPqQZf;*SQg)Ls#mX|dRAwcynGP-8IS(^06%dvDx+bLR~9T6eSGGD(VKFP_i3;DSt z5%3%4hR)4+qze*U>N$&lWQ%3Fk$gM##-tbi)WsFtf&J^THj7fSDW`JzAUI@t=X39n z>5lJ&A#(;^Prr>5YN3o4!Dd#tcyfMj*yD6!cl85&CXCA=2(S7^AW?p9FCzBE4xNbn z(gu-q^X|?^RPuWF*m8g8ul{N6AI%=|{<#hm3FP z7&^lK7XRUIYKWlp*W?F@svoLjl2hO5j?iphS{;kR0X4|m63*h^R2~+nTYN6b`5XR$ zpu~TPM-7|*D7o?pAK-B+65-R{#W5#G^9tFs3B^h_U=-j!tc#;9U^RztV$%y2Fj!qK zW|ml8FFJ3Nba=ec7hMv3ePS&m3Nz4b7Nct3=r}ZNM0_?JoAjr|V>9bJ%Eccvf2|tHj(ut3l*20Q#bc zOaI?AH8ga4_e(!#sPFICQ+~f63ct+Ll)CT{ee*2TPHt1Ng&3F71x691%wT01Hp&nv z8G1y{WoDmvL!blaFC<*tfx zJ`E_E0#Am}I?k)Efz@79yxFR*N%?KNd(j+0DV~^;pkT|$y?f}>EZEoQO-)#rF}109 zu>en&AYasgS?9alQ{`#1(~_9ZDJ`=cw`ws^SmU2X36ulah;i%Ynxn)o ziWhelULfy56M{_ksBFaAFt z0gt}Jtly+2&i0GxF_-Y_@ysP1sh8@;JHYa3`=7V@+KojPwT_|VxmCj7-Aj#qwy5Uc z8`ZXv?Ju0FAa5@je6LQvPc-1=+n!TBWbm^4h5qG}&>QVF&sTscq^}nmEY$TKKh5qX z&2(c!iz77>ZBn7AAy~vwU`>GlD*R$T-_X@Dm3t!3rFM+gMXlml(F-hOm*_Nl z>SnEqx#x}@`Pitb!yqNw%eu~UY5yPn`28kr5;={chbgqflo}1CyBSbNdTsv?{s;}8 zMRP(pMee9bSN>e1GMd1-GCk^^&T;ju+(v=3Gx`q`G06Wf6X~U-dsr`RC)ox(G=sA9 zZEzhpE=*CnF@h=HO0>2t{+3m>pWTc~Fv~=ClDa$1DMam}6%n*H>Pv=e7V=V3Hh%JK ztBV0A-I7*lT+dHHtqDrP{R`V(mkL%rJsuxAl+m8zkfpsv2si@=gk{eJoBw>qJ=r}c zFjXt7A$0H;+zsI#0R$d&`4K#c*b{^ z`u>Tfa@!k~4t1R|HS^gMd!IZf)~{}mr1}qRfB^6PGy65&S)`w+2W_Ulqo!`|1{68X zmc5CTSK{uIL6#AMV3eT9h%R^uhKqnvIq))UL|cy9o&PpP>II>nb9^`u-CvpM+Vt!Y zb(LyXH&>lxH|&;Wei5iSK%lN4$V~7-eaLJtf=5z^6L8RN{OnJEg$HIed&emVs~xC# z*I|gSoBoReAd95;QbI3Q^?0Rv{pES^54-E4Nw=na;E@-FX+$THNeyw5NnRnzVO!{{ z0g7if6&T45hG<4L^9u+!IQ{B4O#{mtd{yzMm)4k0x!Zq@{lj*i)rnD-_{w7?2S&Sb zA)vrVyg~xl)C?aG2R1oR=y3?OVZ7hR8le5X?|kAACU?2aE+vNzg2Ln^47`Ndmy)1m znewdK|A916s}N=_o&SY2wjCoZOpDU~Pf`|A4VxR4a5A5TIC&}-oNyr@AP=Vq5--VB zg1fKJg33tIXxp13POdAO2L3H0*0Iw8h!~7uW8o7xW z&oRRl=7?bMZ#m%-(tPQ@NJVo9xcuYmZlaq5z-@D`HN3kn!OS7+1F+p3!q?qyZ%7^V zHwR(qF*?aexvDx>nA)YFts>Dj)e=hZ3oRv^4W{&(O}I|B+$gItU?#qTg6yrCTIQ_s z^u30*<_?*Ac*$>Z!>@M|KL6;7^W5(JOf^QhLp}`U&OGXnLovpFb1!*}QyBU0KrnUQ z;2!>cG>BKdR7yJ+HTQl*1K%$$v%FrpN683ysyE#JCEMyTPF;WPM7j#;z?aDQ9AE&L z565Z{zJa|Yl1`>2na&{T%ls0BT^4y_%c_9fnG^d1Hu{TkfbICCeBS23`#rvtgZWYp z89Nze@j(Cs{1XJorhF5SI)=0iEuu?GY+G$>Q2)>GvAE4 z;=f$S=eWs7Cj-lY7X1EVZgT%zuqkT`g(t>djhKQg62G+gkhNeMgWOZbP-W<#bJ~IJ z=;*EB7wnX~&U%d!?v~iijX)!eoHjbQ-}B%P&GOQ7fyx8;uu&zy z_S3+j3pG)EVqH53;)M^MYgHgOgAa8B;k$=P|8gC3WC}PZ9G)4_$cSt$-k4msD#Dog zOVo|boq8`#Oa9R!<1~Rk+o^3hRFk@hBqvuw9%-K9F%PBz#*l$<+w8(}s5G6$LX~Wu zTZ#-*o%fjYJP;#Tc<5`TDCWcj3n^50iWv(~a?#tIv^tk&&%uk|g3g307t5Ywx%o{% zJ*oxEZ>bOgD6L5u5vHsio`TgtV@T=e96SzJ?+GIz1#@yYdVn!;nw7FwbeEMyFt5`5 zAh-uT(`T$U#2+06re<7(O&=YDKa6Ky_0bUK=p9je$2&_MYZ1HVu@d0aB*}Mk(8pZk zJQJ)hesvQq6DZcASzZ{brQ@ADi(P^5i*VdBBHFk2Va=r^_7>KEsk+^5saZE?9Nxm+ z*jiZju44NwqmV|LZR^twmHS}wW}3`O`NmCmm+6JD@o4Tq1hoC1+umbKSlyEjuen#z zC*k!#uTvKORD5GQhF-Re?8VT&nAt#zZHKHK>NS^nVcQKowqBZ^qoA~pc>U#eLhqaZ zhv05Q;DK`o`Oq#5SD8DUrxo@M`nXCFWC-8gn(Ni{5yo4!)@Z-G1Lv*$T0;9^DX-1^ zwcgG!$cqn{OUfX9jpsako0wsvPvEa-q;L59a-+?Q6@Z~dj=(A+u?>8+m5W5iA;62Q zFHb_ix+t#mJzNcP(RCm^Xp)tsF^>UQk#JnVbArrGz#A3Z`X7gWw@~38>X0cBu4QeJ z*XA_g9&?yzYfcKD_uLd3BzFD35@QG4_?lz;bHwo&G^9kK)i@{Ag5>eM59o0t3KXOU zAF&}ZTwyjz{Hq12>(hPW5vW2g|ETPYGE8=hqnJLOLizKo2`-)^n4rRgiV6CWW8}eOirvrV z7;jG+M5YZ4@{WuK_@XP9GEOq~+ueCiC(G|f&xT|7rtidM`qjyIJgjfstra8yG>SST z-GQ8V^{zE7=z$jf+^%H!5+Ow2^-b#YW1{cLfE*s|UGX!@l_4WQ0*MyvSf6hk;gIsd z5CN&1PEmJmch~-OTTt`UE5=ggc-WH6m9&tw>e=t=|M3FWszj(hS(Dn(=xghZ7bg1y zsP?=&3Qmb0c|wk!=+iBrEvP|EP|n-bi$M35PB5 zGtg96Qj`<2;B~-~F$-<(VH@S#%`yVIi*Z0P9!y-u61OhzfmsEoVxsu!Hyj;nfZ~E+ zSR*hR3w7(?7kWPBKyr-XN1O;>2#q!ZTt*i7rfquq&x+(?oQ}#8!A@}^j3HWTH`!Q^ z2+lb&MZuIWWIzus`0dIR^X5332Rf85HF=-Hj}te#AP;^jYR+?wWJjkUr5R@f$%*7` zI$H5;^Z3L>91OK**4E2OO<52KTVr7*Au5P3{>u;TNw=PGydLx}I$JMdm#p4}!=*G~ zV8)92G4OO5bti6{5@B96Qx=w2D`~CNG5s%SnN=#yqhv9uf5%0AX*(;z9~>`?X<%ag zNuPE}ZusdXO6VFoU7``f1o)3rx_@7KCST!i4^M5BTwkBgw@j5(XS8Q@;v5+eqwM;hYUW1QI%+$;C$A#jo=*BStD$dElS#yP8fKjLXpEWrF)y1Kog( z4-HjpRg8gF7`D}`YH2$2nffrQCSjAU$@x@$8F%0+vii1eU^JO5?)(JBlqqQ-t#Wl1 z4P_dwkZc@~KhtokP3aIzQ?drR3gysvRvpH?suOE{i=447fK(-oKXxS^NMWSLzM7NVM6JL@d8pT43BPrp>*f&Ur&n8Ob6yd1-;Pe=(deA)mUmT4`me!4s_OO8t1|d^U(k4 z3!Dzdbr2`8TmW5iV>*1OwFK1oruyY@adbOYIWwM#pEZzVpw~)nZp_X`-U8njAcfP{ za#pZ$rnjzAO5bhuqv?A1#G73Zemh&+?Xp*%R@tjh%WT(B2%uy>FZ`tSM8xs(t?L9= zp20O|uuh9M1~(jumS!oK+mG^Q*#o?O4Ra17Iy6e!G>b>st6p5&i~x4^#So)4ZU+I1 z!kXf3{WcFSNShC@NbXe-4I>|gzb8M(7i>N$<+<1UMw^3uQ$$X!*j&Pgx2=j?01{Gs`Pkas^@lli%=N)| zzRc=aDgy_04YNE8oWGYvo_8Ne87{eP>dB`8;*%dBjz)<^@CO5)AcdZ*0xy9XX5pNM z30uN>wlP~6Ja*?0xl<10W8$%a-74gJ8pQi?_Cv0$Np=w(_XkSeAPTz}tbSZ8{)qo5 z32%rdEY-&`?K0M`?_(l}3N#-*f$Lrzmm#=9*;`dGFzt26E zoA<|9KEn+#VRRZhFulaTZQ~QkFgA(g2zkCrjU74)D|5yi;;`-GHD}cOz7)g-ulM*T zA`FN&gy?5ql59@eRYNqUrlcRgsgxHzFIP3z@+6t5`|(R{TJ=!aR^u19Pd4J!2FtEK zz^`_wYYRV(WxcGxVBE1(I}PG;rH$mQVHl<;=J;}F z<)<+G zRKTWK;k8qeCe5ZxaKR6$ zeUvc_w5RM6%9tX;#+1aQae^cp0TnGK#taW-5n;xriAyk{L8--=@Nk51OblzhX(UYu zN_LP;b%lK=)d&#gkq8ID2PtZek4Jbb6^D>Zc#)}wAP*G)3%x-Lj6fn9&R`OWzy$)6 zm9YPzA{2Fb5{IA+#tsy-_g=+MvRml2S`yGoE4Y?2TcMwSc91DE0$X(kV0K9)Jb!Mv6wF+DtUfB()N zyVgbZOy1zm?D=owX7=``Zqdm5jz~w7N`CdWtS%WnD^+c2vGlSmltZseM}rC|_O>k4 zz-UcROZk21>*YTOxpkX;qS0-2DxKv_@Y z5NLHP;1+*?Rqr|$gS^ z>QRg2!)X~@c-H7qdSA`JOdz30gI4d02#|v@j_XV)_ z9*Vj}2s!jpb|^T;q}hs&LSrsG3X8e*G=}5Q@hXo*L%1{lI0+CYUwFjHmmPufWyYmr z;QqRGSOZhml2pkwP5(CytYy-pOXoFP$M5S$(*NP`H6M6}p~L6D|JYQE=;_j`Ykzfo z#lro7nqIUARKN^pJdU?sWkMKx9LUBp#5t$Na(_6f!KCEO4rca4C#_&qb2WLJeS=C{ zGqxN`W>hikl%ITkZ zQ__i_kglNIDlmWOf0NMFNDoO)_qYMdf(4*e)|hJIkM3N=qfv#&2&uO#kUPRms&m}C zZ%&;3%O%*}&J;GjG%fwch>oKN@qE#~1%@dsw6R0OZLU_;|IYr)3t+=4#VoN%N2cFa z+oM8G)V5??EpPBeCu>utOCbO{+K8hST?&P-J-t@kgKK8n@A7<(9`Yoyg}D9L^>f6+ zk;}lMK8t;|;=%2^eh&=pZnBkAnFsJDBt|{7YG1VJ&$hU(sTqx^qmG!Fe zs~bQxt?s1`-TQt<&B5t(c3clUiHd{!A5lP2&sgezD`GtLvXVcDwd-jT%GLy$wgShm~~JrOMyYHF;lK z##oV4*@LywLN0&81Jm(MSL21wYyBhB@mc$_E-^IJpr3659xg>6-p}rn|2`&@ACt>p zk{|R~YY!~gg$?mHGgp_s>)9_~HP_&EJ*?O+W1oCdUz@Hk(+8VBZC9uVZq@<09s|#q z{o&VrCQ_I~H~hYRUfX)C)TK+-Ojp$JF~4HWhTHnc*1!JV`#Q@Xl2`g$s783|Y3sUS zmbuiFup7Z83=OXBfm*LD)>ZUkFVa)t>mJpIseL`OZZyA2+l^+wezPLqU7yF%4IBEs z@&&09`J8;uK9Frdk7AX29D|ke z&ZH2Xe+VC2UGUaT_7dcBPrJAj%v>Z!&9MGIovLn^wS>K$rr(ptKWB>;X+ETzzw$;m z>gE*puhk<=t)3N-C=_}1ZrOUG8`SX)C*7xtz)I_4tHc=v?!o%k)cQGPDVo3>QNix& z&shuM^art}>*iqOgu~i;l#xLCl-6`3_UQ_64NuSFRGzPD&fJao>tEX|X-_Tj#HxR3 z+KvTE7H6{bOe5`kmCat2HvF4`$96B+?y2pr|G(d}5GM(Pib&ujv$KPyI?*ys;K=22 zI08j?$81_>io+exa~aIq`@rQjh<-ZUA;`L<6Zg#5sb%Wn6HJ}OjhbEBscG5;Gm~cw zQK_@JsX(_P$9~jmAv&dWt%raCp%iEdBW#0>_rk*v1JQW!T^~-6WI8mhbkn1e2f~u7 z%iW}t`k~Od>6(fer{^{m*>PXll*|~UHPavR^x)^q(ss6 zXL-oCj@WG`>S;gPygngHf$D7u$)fmA^Wx$vW~H7B7uD{VE+}i!9St$SVH8CZ2DaeV z>3yletcZJ4_a=Zmt66~VndzZ6y*h}SiBvmEY&TOa@7b;v;M}U6Gab2t?O4IGkuIw( zr99(m61Rs)RK?j%FGQ=c*4a}ybVIu(^_ZlYFD2hoXl0f~sN zo?3`g?2?#@hwTWOs0WnvddptJ;6>G-jsY7jrG~>Qz@LGm;T-9KNY_B9?Jdo3s`5q9 zZ}vV2<`)?D25Ho1YP55vKW;Vm$(Dy{Aa_(@Ie`y?JI6f|Oj0#v@t&`AY8PG$<}=(!(}fQ)GzEY^&iaur%+&uoQ-CKR zyE)*MNU9Qg&~jNd_v$`VDDtjpDNTl6fcU8R#A5vmnZq1sEaEnD=< ztGxBvwTtYqHR0=FLo8$QeIr$tvA9ZWj@Tk=4}ZRwDE3`eoqgS*#9ARj1J&2o+d6BH z7gKHQ(%P5w&c<>TDI)8d1r2uxub!T_72E;MGu#1Ba@+w?Yh05o8z8zPYoI@!RzSNp zQw1oDiww4feM-gFkFnUgOLz04Iw6$E8bI+6F)?i#ZZj?it_l! zZtW&b1eU>FL6ScHNI2vVj4zPfD9-vv@S`H95Gt#P z89?57jm9BXch);W?h3WAvdMdQ!z0tvhR530r=^r^&c9N{*b@%lo|$gLVdv8=`W+Gf zXJ@9$5_9`TZ(9jFZ-0zPVMGRUbBeQE7v(0au5IxZ2ge!4E2lV$R$1{i`eek#7?ypP z(~@87lv*9cUF{gil;boCR!P-Nb6RdGf-vI8do9xIy>nFLB-)liC2Z5D1#@%dV$gE! zp#FSk=r?p27C4QTg`4D+g#HyTb?UjXW)6!~a z^VH@GqO{gplF@`heZ5U}xK?p2pL^3K<~V?NNPSCkC|5>HHDW>UERflV3Pl@79Nkej z?wnm&0TR?&ZB0qdkVM{FOO?Z$AcZq?wwja4pZ+L0tN20dDXks67FWfe#uh)1>P_E6 zwU*D}T8&W0=v$plzt^GdfewH0IMl{G^>HsfLh>1@x?F$;GB{eqMbSw8X1L`R+=A#X zjgl4(5`{h6lVA^piuS=cq8+~0i%Xm(kJi`UDI7ef%jTaBIzdjSnguPJ?@(>nnnYtK z+Hjq^9x<=pT5ju+rdc8z6wjhAhpUySDi^(_prJpQ?Z8MB#_vqY>wvolFR-X4(ji{M5?LF9St=n5_ckA{~ydA7t zunUUZ*Fn4a2ll%H+`x&c+{-PGH#%H1=YlSp!&6>&u`{ep&7Rv`JWG9{CBa_TPt=`R z9y?>Doim?b9k#Rd1E3b$_2`A(0xE+&>aM@ome|{-u}kscWqqfl9e#5($GAmQ#jA_X zn>+>kb$atpE*p*88R`XUV@kG5X!J%H%+{!la*mg8Tm8m4@}Jr?Kkbr1dG{Xt0?Yd} zUwZXT+J9=YC!#4k-K|dTwq|WmuNT{8?eb@ApL$~PTZbai4X!+vO=mY~HMBg-Nqv3Y zWOb09-roRN$L*!Zj46bpdZBNolM-R-qC|%%{L&?d60CJ$GW7H@lbwncSFr7%J!QLm z+6pt4*SozQ5&MIhgVmi%k)4a%ID)H5pGcwZrBc@JJCm1_WR^;dd{UQI{S>v;)Wz)| zjTW#Wu3$mfz`4~;g_n&bzPm$U*Q2Sv2QawOVYz&!Bv85qx3$RZfU^t_lDm~v0V*c* zM);zA>QvgV`c~AsHQF>IWX5VlaJ=bB4brbEQR;WK+$N$_`|6t6QoK8ZRE=jyDB7w!Ou)2kkKPy zaU?uk(N0Mb7&MlWMBdIPq>)yeCK)7@RxnaXAO#512cds$YUQD}4(ZPsWSx$gL%^Uz z?(GfC(MKw5h~x7Md0T2pSZsQjBNd%oz_K`zzz93X6ol=FQ0IT%eTiaxTG_%v z9PPF7QyT6S+T$%Oz5~9_lWGzCtHqK*tWB%CjFoAo_@-v5C*gSqx~YLA*L`Im%`w_U z8^m;4b&6vlBd;{l{CIpI+cA3NPxq&Be|=}XR!f%u4vGjK*RjutAL%%b2)?d8G;HL* z$tQo6kN*6ec$)dj3|*J&D8&h?0p9CRs(gI^s(*?@O|K9PCa4sMe1I<|P6oUR3MzeS(Z|u$3y1 zsu(LyH^5aiq+EYD?2r`Bz0v7DI5Z*#__Lja`u40jKdbD=3w&1XURLVIneF=lrY|{Q zc|jjIJtw~YA^5$D@5jqe_w&{jA4;%ok3ne%@I!AmA|3&XTYkH8{58Lt)i0Wd0 zsB6UyZEY}l=9Y6Sf7=h=V$_8Hvv89h%MA&@TYmPkhJ4+D$IOY>sr=Cq=6YnX@FuK> z;7^mzvbOo}MT5Kd-&VNk{hFuNr=ywC+Y!1(=){=P!?(TN?SQ|#vPw#MAWxkS1m@2q zlSHybU>%Zj@OV@Ss=d8-H?RHB-&1l}(Cm{n>aolH)7{+ARd)=_(v|~)C0Q=zsW!!W zwB+ZL{Df62D~!| z+@I4mVx35Tg!{1kUgFwUROX~n1er7 zSEO$%N6K(HYB1i9IGq?M79sI@iXdB%&p(4G>Yp3e23>t@O=G%vL}~MOLJjJS2deNs zL(iL&qhB-6cwj=9;`MQH?9sjy8y~}>LHAbqPlO8I+5IQm#Z(L+J;2B6T zENBy~fKkXWvT~52eq{Aq@YBq79^k4+KzUO8cbIPYjRyc5t@a@Fto&0Pm%IPu(&HaNmF ziF06oGoHt-$z=z=W617BPAT|uv1ABl(*oHU47ooQf!pa! zRqwq+;QZdCtA_SavEJ(D>upBv>upqtTUw!fE(6Nd0C6M`$b>g7?nZNQqM}|BDr}G#ZX>$RHX+tt4 z{wX;p%s-u9FK_wD#Y#)-c?Hs;Fs80*%d#F8!3;UQ>*}&7 z3zcfBFUKy-Gz+sa#bhl;p+$U6PdPdvy1qBongJuY&ndhkCTj!*QF?S91NkcGg`_k- zfk+BDAiXhukViYWD}f0VM&SmA^QFeE7Hs3=7#_4ITnsOabS)X})W~%PtqAxEI@f0vop+oUf%^<9CiV)1ej^DEsi<20 zT}nGhi;U9>)|Q|Z)OLWbB(so_2~LBrhc9hhTYG&?uhZgVp!%vt`KeV=^-;d~hrY6t zyi1Lh2Afj+R~cfyFwReuzA|28!h_|dXoxFZTgAsAdNSEwo8q>;8pU(lm27)&8M)tv z3-#81v!Zjo=rGAP^wgi4yK1Gqt~#l!PLa=HPyAgVYjKUl`=5`uE8&T}h{xlZ%OlD# z{3d$xKReqiJLKELHoQnS;zM`rd=UTR*W1&2-1rsO)#45tr_HQ5!E_eXW{_mUU_Cp0 zL2*V@mS?51i8p>Y%25B0+EHZ^$VAn@>U`bT!r}WowD+&Zkyr-&n^cFRRyH=oLG{U0 zyn-tlwZS)|eW#}!VI0C~qnAg}hk%1rSch2hmjQk-jh_XI}5pIM*y5kk%}^Qe8Aqhz|j{d%Euz~@A#S8LG8xzz(GtS zAe&0*YE0QiMl(y6w`ZH4w`W|Dx01cuxQ!)f_{J@+-;Deo4!n0{ z29q1!Ribl*`M8=66A4BPVSgtK6wnCP^>1!civYzJI&fX{d;4Me z{^9$RH7d-w{aN##pWcQ`&gn7li{$FPJqacduy!PvlLaaz*w4o(vw57-vb*sE+Dc^Q zl9>38dY6sWT`H;k7B_IB`|ySeo_!ibPR=_08Dd4s`l@cxExR(%G)B88codAK%-uLx z7az2=*PQUve1i75XO+R}s50TDc^w%drn&$ufF_6DMj2?CP!5?a3F+}s;2_E@%l+<{?pJuey!s1kO}iPs7YyFn+`*zeL3X`*wy2W_bR=BOL$cyYmF zw5OfEvSC!;-;4S?z&Y>18JdNOevk1Lb1;((odM(bGE&&sq#xJrIXuH*=LUC;C{j$o z_5Ou`|Mh%BTMJ$^2RikasD2u#uxUxvN@Rt&suxd{+X&+7^a))e=w^5SOst^&93^T> ztgyWkE~?yC;GqVT!Y(9OR^Xv&vNG*#S;<$s|0Y7XhPOzkJHeYiXwec>${f`q8(aue zLyH2a5X|PCyXbGL!iSw00L4KbCF0P_W86f+luTmOcW5Wy6ayYmdPpUwY5{&ECZm5~MFXMjQ~`S9Y!IoTLJ$>$6n7nQ%6hc{ zE)xM6jrYC4Iu9T`o@ud-ScUQaz}xDE9^mVnxh&nld(utSBFtyZwqo>{cextbmsb9RJ_MWAJbFji#d#GK#-O{u1wn~v&-G(k zl-S=58rP8>5#LhS%7o%9u9$KW>#M3^OfyOcY0Y6v6*PdQi*q%TPP9&eW zM|@T&k+4V19WOwI2EwEl2q~{ct5$05as8yc*{3kC;RG8zmLsL z`0!)C$k!*l^U2x4-SvGrcIo@fC7f%ZI`f`l*1?+Z= zBmA!OUjsmK?zg!*D9_6Qit4>_zUv9wb*??ExF}n|JomYy&>4l{&F!>!qO)}l< z+_&{1wf$T9;`!=y2gPlpzC$@9#`pLxNV-tB-yVhyb2dLeof;>@1s@)_j_<#Z4UDW6 z_?c;JX|3qR>6mkBgQfKH?=ia%vEenyqrU+fIEc9&*t>oX<*ykeX&iIg@E0V_pxX zq_7nvJHx3gr5D;SnZ822Y$u$KrL1!^nX)zK#b56WLHj6CtaDNFp1=>49K?L7zQg5J zrEkku4r;hnWfB!x`Or-aB%}mkWR~sCfY%4I`bZp38mN#5YGO?PJnpYp1AeTy0CE-E zNhWC~Nioa+>KX7F^ncO{?D83XbeGJ@#g{+=8kcui@S$g8ihwn8D%VVB2|hIi^yQn`(Ed7h3SJ+QMfWB?WWLL}jbLCQlUSO(rg;XNrcDBC#Czc-e_=+; zc9*lw4!Y2HN;KEM5(2+zQCkbCx8kV5p=mRI<8Kb2jeJ&2@jo}T}(S=Ea+V@ z1#|Nqq%fMA7z0XBdT;g9=|y-?#rqITx#!L$CzMm*F|gj=mm3K*>h8J+1QRP=F?uMC zWC(S>f=!o$tTUfMZZ#`ZpSvQIK(6+t9WL1HE#*?K(nB^d{ukHzhT$}P1}_H5foQCl zxYtvYV*u1;={nX?_9?zl2m>iN)zcm0!&dm#4^Fpoa{drS9|Ra*PlYg;`i4detCU9! z-znHeJ08PEKW$(EOWvmgqqc8Nrs?i3itMw2+^v&bh@`|iD|r5o%URy$TnDE0)=bV@ zy0qgSIkTzQ>|ni-_SS(VkwF$(^-vy$dr~(J^BXLy*v%uzURM^1h1B3`*3hERUt;)eO;4}wSKOr&{ew>8!w?Ku3LIa68WuE#PSc)Kn z!{8fGsuF10EG)aPF;b_a#truv7t_zLfDyp(^4NAX z!TqWai9+dPOLqq368@dCW*K_b+9Ndwu1-a&R^r^pGjdmNZK6}ri{puR+Gily;8!yJ zjMm(0#fc-gr|vFGZP+mh@+$fi`7^lmN#vC$1pFnbCdgW(XCR4@dQNf4Qy z(<6~bWj+9!wwZc_QBMt*bzSubSp7PJx#gd632rpQaNP!O~2fF4Lnz)!s5iZLQ0~IGHUqQy*J& zUdhQ%u1cY&@^tXE*+=AYeuqo{%)EEG(!_X~uRWqljlq+XE{BVbO4B@C(&!f;o;>eo zfgUsEa{YpnL5tWgJUgxwGC?*9zQbF)cc+-n%lUd}jXR=;EBuV7R+0HQclgiXT*;6v z;wLosS_{@IZuY!ZnRm?14O3q-vuoK=F|4=Z4l13uyFR_e@gJ@%z|2KJa+kF+-mUyN z7|Rl_mW=dFA0}@@mZW@rG<|kn~1UM-3_P zI#V%v#hx-)wlFJk&2sv?7o|NguJVLs>2+0>u0(2ErJjA?k^UJT3(P(?Vc#FR|3)*x`GLWFiNcd!-+HN7cF!d~pzstZn()4~W{- z;T8}BP$4T2@k7KI`)06Zn#td#!=nzOkr%IqU+%ZYz)j(fK+uVie)#dL>M&kz=|IJx zWKCPb0nCzxU5VdsmB`>E4js5bCX^c{akLv=EqSZ^^Ksd(&age#!}xusD4Mm;+S8N5 z{1^+E55j-FZK4bqTPseEKaRq-shMmm*A~GWYfFnzC}AzUL%z6p~W-fpwi5MB8^yU>!Oe1kOl^xO2pxF?kOR94!R0 zjVCa_bb&3_j3X(g$0~rQH|G{6?^i8_b^BOb^OFwRY7stdxPIc+4|;2lT8L^D+B}`I zY%Ln0xd1U50yw@qc*H0(H-O!xB<)1gAw~QmBG;`{|EtlPv*|vZx7DIGsTsvXMRg_% zqajC$VFt{Zs4Z=t|NF3Sj@)~Rf6P0{sG0s84AouHBdcf5M2_8;ZrZ<9zKsu$7SFeJ z5#24_d#w0eTo$Oh?$3Ro-n+Zs<#4wj#Ipt2_C-5DZ>V3siJRjBpwrKqI8yC@uV9mq z!r{2TDY&P^_GIYO5;$BkIzKHTunbmMjL5;*{_dWm2PSTBnzK>8=$xwMocepU>;uN0 z@L%@vXaJlhRRisChODhWPe&qh|I$3YR_rhF@^!MTk^(PD5l^3MpeH#zz+a z#Lj<#)MygJbs_On>O(7qr6~0 z0tD=)-rtNPKvYz&Dv-$5-Hg{10y}4|(G_RG*E07vByGM=VEEtHareLD{mhiT+a$A{t2hYzEM7jfB99cMjA=rMH$2E%?j!T|OX`omjP(LpuVY;}_xG1STU zg4GIlYa-cE)PLlxh8gge=+7FCm0$K5se7bZ=Epv8oo8J#0qC629-%^m!V2R zwf?O5@Uds{3{~dR(+!Rt4ZBZ7y1{MZL;>xN0wp7h1OG4;y0S;e`m`?4khi99L>D{00LD)vVCH6`4KE3#?Q zAD40}yd>F7F5*+7m7{Db9+bStCxtnrmyJ$jG-mNqz{e)RO3ld7$R3LDA--l=h@~sk z#}B5V0PrZX#!P)1UeG1Unxbr9j6uiZ%ZI(VZ4KDlE$w+frj?9lSf*v>j2XiiCBbIe z{IorFR^*oLazx5do;9Zj=V69Fgw#4;gM$BTLQx;>kx#mm7>C_J++=;3AK!XchsiQ9 zHo*Flq_P>bdSiD$pcK1P+L`3WET=YaDFyFZmaP;7H}-!bF93yf^T~RV)>TT%jnzQz zI~UJ@^P-&Utmnz|zsit=(k^?7`$Ra$2vT9<=T6k;Zk}S9fLd3B;SySYHMNt5PsjiD<`JfkaB5!=9E*(y?O-QvhmN^v34zd_J=*%Z#=Dk4bcdg`q7@px8?h-)l z%Ik&j#D&&j4O}Y_n>=__b{%;q3*o82Cjh@Sor!=AIg0Z zl{2~@=$z@1y!Ak@&XkXf&k3R%U7fa!&(CbCvt#6>!M$i+!Qx96ZGcY_x!@2)WS8KL9yu9)k_c=iQV@l4${DiFWivKJEf zl1g5z-oW*b(mxUgjF6U5+!48o5;O=O1VT(|e}D!j>h9nmT_4=gv0F=X(Vk#snBF=3 zP}Fnl7q@8w#n@ZVfI{rzkA~e$u!fXNR9VSi=8IZ|IR&fVqrY$EbeJ?>nl#*348cGHEg25 zFiKFIF#T}P_L_u6=B*oYwu2^6lhoJ>P&_%)|Mi3;;Rd}(@tnfmCXUW?lrV-EYZ@0F zHE#Pp!N_$rg9iBMka>8~xbCHdlUKH)KBopR#0=i)#N$dqnW#U2{63Jb7vUb}X2sE1D zj@24wI_EUQAFkL>bH%HVHC}T3KbzVD%afAjHCR0i-2T}T znHCY9Pg2^$f*F7tnR#5MJ}p^DZUpBVH?KN5mX#(aZ3yjv0@v9K2-XtuiZpXPj>@W= z-khQsdnA@bt<&K8^wZ`a&JxZ+t18n<&KF!(v3weQw<7nnR@_4qJEhPST!!Iv_d!N} zr@T!C-o)Mzkx>nhC+&>9E6AFKka^J4Edag{QW^HbQd_R@jtgbB9!9!)&{}VqdVQpT zXgwTi4rzIRv4Ua`bxB~Iu+M_VDJ1Rbm_a9W>0a`v;(*9IAz0P}sjsh$04hdOg8a8s zoeNZ6?8-%$Cw!IsqMXRJ@0QV6x!PV{EV_hIGY8y>h$sVu?Ub+9)8b^nSk-}Fj2O%kIn#*Tv z0tM4CHcNr~qbn#gyQK1d7!K97ulFU`%3c^PnTw)Qf<8#F*TnoFazXjFzOx6Es10R* ze-4a?3 zUcon`=y2d;F!BS60}zBw`++Y3WjUILOHfSXbp&N*Ijm`kJB8yeuqBn|N1W}<-XjHx zVNL*yVrv8(xd`VFU05`92MCC${?7~hUb3-DR39V$W+}#V<47Mmun5QmZ_JSbG*mKv zAO(@~!87()65vK(5&#bzNh2HEl1%D~=k)&_tDEnH8WH`Agh8K}RAXcWgV`yh!}fm{ zB);^IKDn`^u5QN^;!vz<0m72SCii!Q08CtvzM~8O!o@#tfZD`=6JUk-4!m!6k(){F zFBj}U>ptW_t9^4LiN zj?EP0U><^KdQdq8j%ZH93l-ey0?emR$dseX?x>POeZ-#nXWP4Z@_nw;by(wLNG_i( zF7^H8{e@lbcoDh=CqnNS?2kaEGvN-T5h^~Xk99JWCL!H!y4P15tllq1CsWpWPGD$& z6`*AyPd%J0%jF34+yzzgFM9BOPb5yuQ63Ta^=fzm1}(VamsK`z@N*Uqx?_c4_Q_X2 z8>y006YL`Go%X);yEwY%_9&^ieKXf7Fz0^ZS=5+27a4=|G%$Ij-^&K%(AvN00{T!9>Qo}Fzy ztyWfHY33+ZTU_i^n58cEfy+qrHS?kxl@mYbV%K)9DkyNGf8}25)nM_TLGFOhQ!uoN zZW^ReCRg#no9R7u0cv|3aV0=^PhXEFrpI+)JkmOuo4_`eT0__bAxx^us^XxLGqmGa zk=>a)$UEDXa=?3kKqkW_0%xed33~w6kXI3de%H!=Sz@Gqv))g`T*`a{I!GF8Kwg7* zLh!i_XYfDmT(S4WYyDnJUzztPUVG0}rYE{O2m6@F$yPY1>%J~@7*3H&xNmMD=hQW_ z&A0O!J#&MYW(QFV)IFm^?&H|(-fD?>|1Sk$$NYF3N|4&LoyBkX>Cjvm*KBn-TOe1H zR9L*udKzi*;l&!J6p5`C8G@HE*AgmO8wS(;w$7psUr*CM;1qM5Z)?692;Q>%D$WzV z=$@s}%H>>dy|jHQYlxf)5~zp0(aW>v%bi5~;7d{bd$J_ceWW*cd%!L}pjwZ?;F`+G z`>jmyrUR|=q}07UBI|{|Zz+%`y4rKZJp?jP!*ov}X3w?7`XLaBX!f0mGzprwF!hvz zpzRz|OHt<-^W)@LQR)3YILlqZtNG7O5@5^kNHq0JSg}{w162+)?}SOYgW&KqL7ZMe zi*I&ZCGaPR=d?m+74`?RrQ`*Ze?&X_u7aPf63|Z_q8jOqsvW)ZLlzhL_+w%GCODP~ z>!e&E-SlvP(6ITohav*C1aqd@;P-l9Pdy06$mX0SC?!O=p;DtCVA zA+K}M;z;g=1M~BK4(cdDVS=>b3&?Yy8og%+*cbfyO<=F zMwD@f$efs8)-Z@p%pTc6bKt2}Ep~*St*zo?b@~Bg=lu$;qbJ-gk%Yj47Ng{!Oeiw+ zO&`Z?Zus4MCdG(mOM&20+*%K@3tve~bvNHbp(XQ4-DATURCZLj-;wpS8%<2dAz@{I z#9OX=tqV`~&XyV@g{vAIe8S7mvRUCt?Jv)*7J%b_aBl(w$6MXp6D^Kq!xa&BTvw{jA13y5XrX!<7t%jjO) za(7+4Yef^JIm=szU3sZcOw~E|gb|r4!6wCNw!DI-Y_%wltF)V>LRPAj$GUF8z*0Wr zNQ_Qq&iI$mb;{7DDS4QgoezI@)n~K@=(>7Vx26y5`d1!Kn~zX+K*i#PoeFk~h1Se3%b)7Sye~(2)@tkz<@>z0Sd&XuKo&;phF%J@zL0R;X?nCWzk58eF5SJ&yrPFVFMipq_?pd?*->!kn`3B`pqOs*Mv9uE%h!w6AJ@e-60^ z)73Po2_f}mA)K6Y?`9HoseH&dQ9@_7zS@|aE?8nt-#6$;oeGBe`?Xw_D?RKQ`OFF# zr3jR?X6nS%pB;;(FHEVW9l+*Pj@vIO6eO;B>sk9PkVb<-4+@!34!eWRM+{`XMhM`o z>1!-UN&XcAkR;j_vpVF(!e^=ER?Ef~^CckqRf=^pBish$XS|F{OW`~eNTCuuBDnop zLZbj#<$`hakkj_6W>u5Fu64@$@%msk<`zho<7SbTI8y7_5c-4k@aHUQm7z?_=qJQO z@bAq%Nxo)I?P0oDwU$BRn66e&Ms9wjcU;{KRmJyawgt7Cn_t$Al|)v3;;nB!N(@;( zst)i#Enfj%5o;@blqha(L^0Qj(1LS3cqP#D74bPE7i+@JHHqdYrc#2Ct@__?mtN^KTrE+F=nDv$no2I)s}`63vhQ&+R{XyL0UELTQUPX_RJHM$*Sk zy5-)6H6ZWu?!)Ry`&W$ba$wde#?ZL~W)-9U4*^_+6$$XC*#KWw1H%6wZFe^4dzkVy zAs{}hr94@{*_m}UlS?~Si)+?#O?4=NO-*D}ytse#*~Ef73IL63539G&VO!8yn^&0F z5#*?F9qqiRXZhQqR|McCiZBn!5Hr&zfXf>ugvPqG@a4Q*d_mb6{kGiYT=E;r_S21< zWQp8H4g!mH2nQ;%WnqRKeTlW5$iZAH6*`x=w!{%7DidZd)@0JOv@usx=CyP~>tgMJ z!&=+0Z^4w-)6gEuD^pA+=l+1EkexF^(QL%>KA(T9fHE-%R9tTZn|q=2bF0%`sK2a6t*E~n(C!$yA*_g)CBqi-Mfd{#iwa^Gmp)a zS>q3|fs&eQ+upwzzym_16Vep_fj@B`UnpVxsIL-WZ_p?)Wuc%pnW%La%r-U&L!?p5wacLxuU^0<8L^ei#gdFWp4!KmnMIKYw5ipWJ5<^&B%PJAg~Z4+ zf+82?U(Hh{Y9kf%YG!}noub?}lFM^P^{rbC^k~KH^4XWQ(3(p=DXbwd^2vjHm5hC4 z<2!m)fIgUGf4uX8bT?C!LAtTksqcKNZun#VvfS7s{~`S@pac;zmSSM^FCydbcS-!n z6Lmb348+Q}Y6SJPl{o%(j2w21yU!DWHuiUs7rw z`t+97n))??EQVs9*{MliEYuBTY^InETS5TkgrW`uX-9T2g>(}56Ch%QoB&w)0r4JS zMEF2ONF)Wv2QNv2gH8q%6{iFcN4&w3;3pJwor{rH7SiUOBdY6Inv29I-W&6y53wV*w}cTz;QEcdU+nhMS_EqY$M6<9!l9{Cijf z(GjKJ0SicfzGGhI8HUdfUf(}gFAnZHZ#KNC_?4ed<$-;`-h=!!-M-4@Mna#dzypS< zlEuFEii!(jA?}&|w+i#Cza&{baK86se?7Box(q#U08%R&xPH5@_!rw(W*o2Q$G>y+ z<~#PQcb3C6YJSN5^=`?x6bOB!e<@)72Y6w#V$R7;d;d|UKdvN>0u51SX`C%kc(aXx zDkSa8U9PJk@j39YTQ$W!i@~H4V#1z1;#t<4+N(p)@~cDaJd-QotdP9m_GdXmAr%Iq z0F(JDsczKWu@kIMLO1aH%l<$dJg)7ohf8QVqpUNI1oQdX`{rYLa^A+4uXunbX@_eP zjH3OHlB74#eWQ6|$ZEc3$`gXnn|u-}yGqL83ZLPK5OpC_v&1b497kPa1p(SQSLxy?*yeim-p_wj~0oPYsBdF-SXyy7F>YM(pG7Rf7M`C)VT{8B0pyfUShS#L&SOB|=$FlySs- zuKzhz_=p@;Ex`=AF-NTOSqV*D1d~)7f(f(z&SVDa#@`W9_+);{G?dAz~h$&94#B_Fxr8pLWmMJ)&913GYh{7EuVj z>XaBd1nWcbC4xMh2)zoM1SABDEndh~c=Sc*UF2m3MiYLtk73?oDi{7sl^Pbuwt~@{ z*CxFskBDO-%Ao`6GxZ#cXN>(f5(B9Ueps5-0Ms6GoSgtlLYmPaxiG4Jj;p)}$+kX! zAz(EOk7|sCYHS?kbwnL8pwb3H5hOQ+kJieLMUa_E`SVI%xmXDzHm?qCUFfAa*B+y22=S-u3p0 zk^ZiAm6Y{!{7FZp|ZYA|8L|ID(1=@9a1uK z6UH6_u>WYY9?`?de0oj)>02b_P{B1fy!cS7r7YzwTj$Muu}y$~dKj;F6{Od+Yk`O) z7ZMUzHeUaSvngSG#iE^Pil1bn`Dk_%GPqG?!kNzVQsm+DpTv;my25NW;*rqUzH^q# zn3ssV8SL>xcG-S5U*lMm%FxR3`uq6$_|Ns&+ROjB*v725!5a+|{nyeoP4px;_V6iI z`pG|A+F}iFq=V2P>VF%5!OyFVFD7A0+pDzXZ^LS%rLD6I_D7M2M)zlkH3Ae|GES5F z?~q>D^)*mijq^>MZz34YUPg%du`n||s?auBA}Iiucolk7T#{Y5j(~VIyi@#w&8Yf1 zs59Z<^Vb+wdSh58caNqBy)*9>{w8S=+|KOnL}f@!mlI53h)>6mj4`MQ4J2?fJ>Lg+ zs|+K0pHgfHcJwDTV7)q$7fTB{1N!NSUT;g>goz{yMJsw_PlqT9MK~JSC>VKCFdV6` zPPR_t(NCxsW`=se7ew%11Ivua4oPS)gcG|grxr<2vu;x+(%aEm^$Kvpm1@h>c zi>8$hJ7Qj;(n6@xe))PTb=TLr)LA3FbL*+3#5d#29HgJC)EcMWE-a_1u+a=W{0(uM zw)T2>IN;5#a@fLskJ>Ici;}RGUVI~`|7wA>=TuFXwCvc-y9Ej%x4G2>g9u=b8BV04 z7~qSUz6_-tcjosbDgU;r-JVo$RS6p90Gn)kF!m+y)-TciBeyI0l`yWP(-B6M3yk){ zKs?JhI!ml14@{dkpnlE>s37Y~^4jxtco-v|Kti zRki~v9MnZZTDAukExXajPjhP}eCbXhfS*&z=dR`>PpS3Ue9or{l%GfI_nmG#^x^9T zbm@!rZ9N3L`}(8|bj)%;+d-gGvKktWsdxqivfr$qn z$?|;V*8NZy(1e!}?s;+W2gT;+GXGm%3+ce(|9^jIp71{-PaMtd?`;99nG9oUqHR@zVJ1+ajScwV+cx=wB zUz=;c)pF*pOR#M-UKOtGGK)hGn0?`-U5OCqTbgw{|3b_{RI;zT5NTFD$;-#47Md;m z(GQdf9qjt6{Wr#6&*0lDIFV0E+YyO)0hXj!acA&Iuomxh8HxYeRxxXyu zw}BcCiuS)E^Jr59;_N7|ZpM|6 z1(EwbK5SN5CE>e6lYG^gbOOB*tcF#N&eJs;o^-{9D1-=~Z__&pAW_l9t?22UO1)e2 ze6rvz=r9gczB4%Jp@bC*+P|BHtiz8iV|+ZPK5jTXxNwpf;gTE#sZFNlN&f730F$fx zu|bjej+sv2oX`6v`XSg46+dW&2~5S~quKo=*8`Pq>)|6}utl7nPa>3j(!pB7v7Z-g z7S^mMGiy&tf|rRl=hZ?PUch`X3~y1@eH4R}Pm*d9_)yhh`GeteXW-(K#S}~|aq@qW zL?zIN)6!LEM;P3TPnGW2TB=>jLg|ChvMW%wXO`_$*Kq9EuW{wpWftw4cKVkDf&nqu zbO(1)W^ZUFSFcF4*^2RkMY5p9vmGdds_TSMibsylC$N>^y` z1Pg$(`VAM?KJvWIB?Rz1)UVB$|CNECNE*KSmin5*RbohJ5u1qlRZ#fldpDoeOTg~s z-uG_cS`;3!n9K~Ou2KG_^(*};&ph$5#pH`*j^nLQ-_pH}cO0$8H6q6pY$a10>5^=r zApF`vVc{uV;0d>G7Gln8gmb6FcQ>g`oYqUOnvk|u}iP)kSg_t%&2!!Y59F6 z%3hb6AI@6UT@bL15lLX1yfcr?s5VlF0gPI?VaeW6q_qjEXD!H4Xja${6I&HZt&8U( zv*w0L>B4F7Yi54Wp@zYXr9O!P@g(x+et39zi@a%_A@!7`Od{LtrO!erA)G??&QWyFVp8jT$)t2 z*j1PPAorev=h!iiQvCUj)J1zY#-P*J*QB>Bus3Z=qpviUz}H!JtZW@_P3xRaHBN)0 z>=jG4=PV~{>aC*e$hkrlm1^wzg1!y9WjgdJnoq^(8<#% z$FQMP5wRQ^Ad*Gx;}{@LXX;Ln0S9X~_H&^I$D`Gg9F+catR#c%`ct1hMbat1fLm_Y z`_Ovk4-J%@a=Kx?&?`+Wf zMn_IsZK|-Q}v|&#`IjhYLJoJU;*IMhXAyc;?20{|S+8w=pBG zzE-`kXMH}i%D_iMbTb`Fb)=|>38C#P+N^@E`a*ZRIYi9{?*SDxu*unoE3nFs-mPbE ztET%on9cqW0X%W*9uG-$+fA}U|M2U`&tJ2Go##%oOZGGCna1|t%bj<9v%EF6G8XRJ z?L7=8WytS=yU-KThdr%y;~I{yNJu4L5YsO`lj*j7gyi~7L&;0pkYRT~?4B009jpzCf z|D?0NF~EkMm7j6wBTGTPEwXzed#OA=C;`R+FBAN26&NNgkI& zG3zL0!L_qsTWH@V1ht8%I&7B6q1i7Q6~W>`>4p_gaOcI3l5T=1xKkJuJv4iDpmVjN zXsHUg_0#*qa9jxl_2^VYTG-(v3lRd@QNjBSsdgTvDTed{@7#v{5}IOno4!*IMIC`g zN*M9uLpfEsC*AvfyukekmJQVNd*1Ew{KYbo$NILv6+b+B@xm}9UN58$E)1TLJuWO~ ziOVVgjq}D*FvEKo>5+CIr$Y*wL2D@Jqm&?~LfAMl9arr7N0Xl}qju~B$!zHrm4!L) zBflAg6US9GQI#jqg@40tN*~{^;gm%k=2eNIP34h=AA#^TJp88aS!W%l5>!%nmk*Q#@{^&%y}?o8qbrvwe>QJmbnAE< zHwh#|tGCJDaouXy_z4H-Zk;mBmgF)>jc>o#+vXGsr2ipOIBo!AuWFqTh#>0u=;W1O zGbaG7>O^szI_MfOlGRucDLg1F6xoD|cp%H2V&5{0wC{evhkOiWXB3Naj)Y7>dP-1)}YJ8g2 zgjx1Iqg93AfV#58iPzvmq)3uXb33WK|C9KE;fD&IAIoPeuTf-Khrx4thI(VKvkdO0 zU&-nXV$Z4~bgtGw^mMdq@1Kc3!h{Ta>FojaS%m~k4d22~26c6q(NT>LSyZ#_&_n0uqg zW?|#h2=tLsXdNh0x3L=7_wW%P@cyzy0=?$_Jv|R;2~5@_8YG4b)y;aJ6FhGheKwgD zZt91n{WC|c(qc^L_eU3Bl1+O%`i?CM-VaL#6(_d+y`!`ES66$fBk0mYLg>@!p)yzH z==0Mo**y(T#k7}!Q7V`rO6r}_mUUSHUXHyNJE$nThLH1Xy=)z~BTe6DYv zzrw(VnIs80!>DfoLmA*~kY@DT_l5l!f;E#jbD}hYGhp74T%fecm1?28Z@Kr_H|$;Gh@s$eW7rb8x)iBM=_EJ)H264%ufNh{jF`6oJc=j z{dRLpFbXlu06J*DY+^XY_`VvE=-7A7srFow4IP5WlGEMhe04YMnmS@yRsc<;MQPFh zl)cdt<(1tl%M|H=qmw1QKSapyO*~r5^53fR9`JT57EPU&(KoV(lkTgW_;p#6M-S^D zEuqM5W}QOkEsb-CQ9z% z=E?qhN%+OxbSRT_OZ=xT?0*`-{+ky}cqo%(UoQT(c*H}+q=Sli3mw}&GMYo|Kex?B aJXlORuvxeMJ^TN!BE) dict: return json.load(file) +@cache +def load_stm32_shard(shard: str) -> dict: + """读取并缓存 STM32 的一个数据分片(一个系列的引脚集)。只读用到的分片,命令因此启动得快, + 占用的内存也小。 + Read and cache one data shard of the STM32 (the pin sets of a series). Only the shard in use + is read, which keeps the command quick to start and its memory small. + """ + with gzip.open(DATA / f"stm32-{shard}.json.gz", "rt", encoding="utf-8") as file: + return json.load(file) + + def stm32_candidates(model: str) -> list[str]: """型号在 ST 数据中可能的写法:原样,以及把温度等级数字换成 X(STM32H723VGT6 为 STM32H723VGTX)。 @@ -94,7 +105,8 @@ def layout_stm32(model: str, package: str | None) -> PinLayout: tr(f"Unknown STM32 model: {model}", f"未知的 STM32 型号:{model}") + (hint if near else "") ) - found = data["sets"][data["parts"][part]] + shard, key = data["parts"][part] + found = load_stm32_shard(shard)[key] if package is not None and package.upper() != found["package"].upper(): raise ValueError( tr( diff --git a/tests/test_pin_layout.py b/tests/test_pin_layout.py index bb91872..6ffa05f 100644 --- a/tests/test_pin_layout.py +++ b/tests/test_pin_layout.py @@ -168,6 +168,19 @@ def test_the_license_texts_are_next_to_the_data(self): self.assertIn("Texas Instruments Incorporated", ti) self.assertIn("TI Devices", ti) + def test_every_part_points_to_a_pin_set_in_an_existing_shard(self): + parts = pin_layout.load_data("stm32")["parts"] + for shard in {shard for shard, _ in parts.values()}: + self.assertTrue((pin_layout.DATA / f"stm32-{shard}.json.gz").is_file(), shard) + for name, (shard, key) in parts.items(): + with self.subTest(part=name): + self.assertIn(key, pin_layout.load_stm32_shard(shard)) + + def test_a_layout_reads_only_the_shard_of_its_series(self): + pin_layout.load_stm32_shard.cache_clear() + layout_pins("STM32H723VGT6") + self.assertEqual(pin_layout.load_stm32_shard.cache_info().currsize, 1) + def test_the_data_files_are_declared_as_package_data(self): project = (pin_layout.DATA.parents[2] / "pyproject.toml").read_text(encoding="utf-8") self.assertIn('"pin_data/*"', project) From a40610815f31d44bb8b4ac49bf79ea989006b9b4 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Mon, 5 Oct 2026 15:59:36 +0100 Subject: [PATCH 05/34] Recognize every peripheral from the signal names in libxr pins libxr pins now lists, as peripherals, every peripheral found in the signal names of the package: the instance, its kind and, per function, the pins that can carry it (USART1: TX on PA9, PB6 or PB14). Recognition looks at the name only (ST: _; TI: .), so ETH, FMC, OctoSPI and the others LibXR has no abstraction for are listed like USART or SPI; whether a peripheral is generated is decided elsewhere. Every signal of the ST data (78 kinds) and of the TI data (20 kinds) is recognized, apart from GPIO and the pin names themselves, and a test keeps it so. Co-Authored-By: Claude Sonnet 5.5 --- README.md | 2 + src/libxr/pin_layout.py | 86 +++++++++++++++++++++++++++++++++++++++ tests/test_pin_layout.py | 88 +++++++++++++++++++++++++++++++++++++++- 3 files changed, 175 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d6190da..a3408cb 100644 --- a/README.md +++ b/README.md @@ -676,11 +676,13 @@ pin_count: 64 - STM32 的封装由型号决定(`STM32H723VGT6` 为 LQFP100);MSPM0 的封装取自型号后缀中的代码(`MSPM0G3507SPMR` 的 `PM`),型号中没有时用 `--package` 给出(`LQFP-64`、`PM` 或 `LQFP-64(PM)`)。 - `pin_count` 是封装上的位置数。一个位置可以有多个条目:STM32G0 的 PA9 和 PA11 可以互换,共用一个位置。 +- `peripherals` 列出从信号名识别出的全部外设和每个功能可选的引脚(`USART1` 的 `TX` 可以接 `PA9`、`PB6`、`PB14`)。识别只看信号名,ETH、FMC、OctoSPI 这些 LibXR 没有对应抽象的外设也会列出。 - MSPM0 的引脚还有 `iomux_pincm` 和每个信号的模式号 `modes`。 - 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件)。数据文件和两份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 - The package of an STM32 is part of the model (`STM32H723VGT6` is LQFP100); that of an MSPM0 comes from the code in the model suffix (`PM` of `MSPM0G3507SPMR`), or from `--package` when the model has none (`LQFP-64`, `PM` or `LQFP-64(PM)`). - `pin_count` is the number of positions on the package. A position can have several entries: PA9 and PA11 of an STM32G0 can be swapped and share one position. +- `peripherals` lists every peripheral recognized from the signal names, with the pins that can carry each function (`TX` of `USART1` can use `PA9`, `PB6` or `PB14`). Recognition looks at the signal names only, so peripherals LibXR has no abstraction for, such as ETH, FMC and OctoSPI, are listed too. - An MSPM0 pin also has `iomux_pincm` and `modes`, the mode of each signal. - The data comes from the vendors: STM32 from ST's [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data) (BSD-3-Clause), MSPM0 from the device data of TI SysConfig (TI limited license, for TI devices only). The data files and both license texts are in `src/libxr/pin_data/` and are distributed with the package; `scripts/build_pin_data.py` rebuilds them. diff --git a/src/libxr/pin_layout.py b/src/libxr/pin_layout.py index edc1aa5..a70bd9b 100644 --- a/src/libxr/pin_layout.py +++ b/src/libxr/pin_layout.py @@ -198,6 +198,86 @@ def layout_mspm0(model: str, package: str | None) -> PinLayout: return PinLayout("mspm0", model, part.group(0) if part else model, chosen, data["source"], pins) +def recognize_stm32(signal: str) -> tuple[str, str, str] | None: + """识别 ST 的信号名:返回外设实例、外设类型和功能,不是外设信号(GPIO)时返回 None。 + Recognize an ST signal name: return the peripheral instance, the peripheral kind and the + function, or None when the signal is not a peripheral's (GPIO). + + 名字是 <实例>_<功能>:USART1_TX 为 USART1、USART、TX。类型是实例去掉末尾的数字(I2C2 为 + I2C)。USB_OTG_HS_DM、USB_DRD_FS_DP 和 OCTOSPIM_P1_IO2 的实例有多段,单独处理。识别只看 + 名字,不依赖 LibXR 是否有对应的外设。 + A name is _: USART1_TX is USART1, USART, TX. The kind is the instance + without its trailing digits (I2C for I2C2). The instances of USB_OTG_HS_DM, USB_DRD_FS_DP and + OCTOSPIM_P1_IO2 have several parts and are handled separately. Recognition looks at the name + only, whether or not LibXR has a matching peripheral. + """ + match = re.fullmatch(r"(USB_OTG|USB_DRD)_([A-Z]+)_(.+)", signal) + if match: + return f"{match.group(1)}_{match.group(2)}", match.group(1), match.group(3) + match = re.fullmatch(r"(OCTOSPIM)_(P\d+)_(.+)", signal) + if match: + return f"{match.group(1)}_{match.group(2)}", match.group(1), match.group(3) + match = re.fullmatch(r"([A-Za-z0-9]+?)_(.+)", signal) + if match is not None: + return match.group(1), re.sub(r"\d+$", "", match.group(1)), match.group(2) + # 没有下划线的信号(CEC、BOOT0、AUDIOCLK)自己就是实例和功能;GPIO 只是引脚的普通用法。 + # A signal without an underscore (CEC, BOOT0, AUDIOCLK) is its own instance and function; + # GPIO is only the plain use of the pin. + if signal == "GPIO": + return None + return signal, re.sub(r"\d+$", "", signal), signal + + +def recognize_mspm0(signal: str) -> tuple[str, str, str] | None: + """识别 TI 的信号名:<实例>.<功能>,UART0.TX 为 UART0、UART、TX;引脚自己的名字(PA0) + 不是外设信号,返回 None。 + Recognize a TI signal name, .: UART0.TX is UART0, UART, TX; the name of + the pin itself (PA0) is not a peripheral's, so None. + """ + match = re.fullmatch(r"([A-Za-z0-9]+)\.(.+)", signal) + if match is None: + return None + return match.group(1), re.sub(r"\d+$", "", match.group(1)), match.group(2) + + +# 各平台识别信号名的函数。 +# The function of each platform that recognizes a signal name. +RECOGNIZERS = {"stm32": recognize_stm32, "mspm0": recognize_mspm0} + + +def natural_key(name: str) -> list: + """自然排序的键:USART2 排在 USART10 之前。 + A natural sort key: USART2 sorts before USART10. + """ + return [int(part) if part.isdigit() else part for part in re.split(r"(\d+)", name)] + + +def peripheral_index(layout: PinLayout) -> dict: + """布局中识别出的全部外设:实例名 -> 类型和各功能可选的引脚。 + All the peripherals recognized in the layout: instance name -> kind and, per function, the + pins that can carry it. + """ + recognize = RECOGNIZERS[layout.platform] + found: dict[str, dict] = {} + for pin in layout.pins: + for signal in pin.signals: + recognized = recognize(signal) + if recognized is None: + continue + instance, kind, function = recognized + entry = found.setdefault(instance, {"kind": kind, "signals": {}}) + entry["signals"].setdefault(function, []).append(pin.name) + return { + instance: { + "kind": found[instance]["kind"], + "signals": dict( + sorted(found[instance]["signals"].items(), key=lambda s: natural_key(s[0])) + ), + } + for instance in sorted(found, key=natural_key) + } + + # 各平台:名称、型号前缀和布局函数。新平台在此加一行。 # The platforms: name, model prefix and layout function. A new platform adds a line here. PLATFORMS = ( @@ -234,6 +314,11 @@ def layout_to_dict(layout: PinLayout) -> dict: pin_count is the number of positions on the package. A position can have several entries: the pins of an STM32G0 can be remapped, so PA9 and PA11 share one position, written PA11 [PA9] and PA9 [PA11]. + + peripherals 列出从信号名识别出的全部外设(USART1、ETH、FMC……),每个功能可选的引脚都在 + 其中;它与 LibXR 是否有对应的外设无关。 + peripherals lists every peripheral recognized from the signal names (USART1, ETH, FMC, ...) + with the pins that can carry each function, whether or not LibXR has a matching peripheral. """ return { "model": layout.model, @@ -242,6 +327,7 @@ def layout_to_dict(layout: PinLayout) -> dict: "package": layout.package, "pin_count": len({pin.position for pin in layout.pins}), "source": layout.source, + "peripherals": peripheral_index(layout), "pins": [ { "position": pin.position, diff --git a/tests/test_pin_layout.py b/tests/test_pin_layout.py index 6ffa05f..5676394 100644 --- a/tests/test_pin_layout.py +++ b/tests/test_pin_layout.py @@ -3,6 +3,7 @@ """ import json +import re import unittest import yaml @@ -141,11 +142,96 @@ def test_the_output_fields_are_the_same_for_every_platform(self): info = layout_to_dict(layout_pins(model)) self.assertEqual( list(info), - ["model", "platform", "part", "package", "pin_count", "source", "pins"], + [ + "model", + "platform", + "part", + "package", + "pin_count", + "source", + "peripherals", + "pins", + ], ) self.assertLessEqual({"position", "name", "type", "signals"}, set(info["pins"][0])) +class Recognition(TestCase): + """外设从信号名识别,与 LibXR 是否有对应的外设无关。 + Peripherals are recognized from the signal names, whether or not LibXR has a matching + peripheral. + """ + + def test_st_signal_names(self): + for signal, expected in ( + ("USART1_TX", ("USART1", "USART", "TX")), + ("I2C2_SCL", ("I2C2", "I2C", "SCL")), + ("FDCAN1_RX", ("FDCAN1", "FDCAN", "RX")), + ("ETH_MII_TXD1", ("ETH", "ETH", "MII_TXD1")), + ("FMC_A23", ("FMC", "FMC", "A23")), + ("TIM2_CH1", ("TIM2", "TIM", "CH1")), + ("ADC1_INP19", ("ADC1", "ADC", "INP19")), + ("USB_OTG_HS_DM", ("USB_OTG_HS", "USB_OTG", "DM")), + ("USB_DRD_FS_DP", ("USB_DRD_FS", "USB_DRD", "DP")), + ("OCTOSPIM_P1_IO2", ("OCTOSPIM_P1", "OCTOSPIM", "IO2")), + ("CEC", ("CEC", "CEC", "CEC")), + ("BOOT0", ("BOOT0", "BOOT", "BOOT0")), + ): + with self.subTest(signal=signal): + self.assertEqual(pin_layout.recognize_stm32(signal), expected) + self.assertIsNone(pin_layout.recognize_stm32("GPIO")) + + def test_ti_signal_names(self): + for signal, expected in ( + ("UART0.TX", ("UART0", "UART", "TX")), + ("TIMA0.CCP0", ("TIMA0", "TIMA", "CCP0")), + ("SYSCTL.FCC_IN", ("SYSCTL", "SYSCTL", "FCC_IN")), + ("COMP2.IN0-", ("COMP2", "COMP", "IN0-")), + ): + with self.subTest(signal=signal): + self.assertEqual(pin_layout.recognize_mspm0(signal), expected) + for name in ("PA0", "PB22", "PA17/PA14"): + with self.subTest(name=name): + self.assertIsNone(pin_layout.recognize_mspm0(name)) + + def test_peripherals_without_a_libxr_object_are_recognized(self): + # LibXR 没有 ETH 和 OctoSPI 的抽象,它们仍然要被认出来,并给出可选的引脚。 + # LibXR has no abstraction for ETH or OctoSPI; they are still recognized, with their pins. + peripherals = layout_to_dict(layout_pins("STM32H723VGT6"))["peripherals"] + self.assertEqual(peripherals["ETH"]["kind"], "ETH") + self.assertEqual(peripherals["ETH"]["signals"]["CRS"], ["PA0"]) + self.assertIn("IO2", peripherals["OCTOSPIM_P1"]["signals"]) + self.assertEqual(peripherals["USB_OTG_HS"]["signals"]["DM"], ["PA11"]) + + def test_a_function_lists_the_pins_that_can_carry_it(self): + usart1 = layout_to_dict(layout_pins("STM32H723VGT6"))["peripherals"]["USART1"] + self.assertEqual(sorted(usart1["signals"]["TX"]), ["PA9", "PB14", "PB6"]) + uart0 = layout_to_dict(layout_pins("MSPM0G3507SPMR"))["peripherals"]["UART0"] + self.assertEqual(sorted(uart0["signals"]["TX"]), ["PA0", "PA10", "PA28", "PB0"]) + + def test_peripherals_sort_naturally(self): + names = list(layout_to_dict(layout_pins("STM32H723VGT6"))["peripherals"]) + self.assertLess(names.index("USART2"), names.index("USART10")) + + def test_every_signal_in_the_data_is_recognized_except_plain_gpio(self): + # ST 的 GPIO 和 TI 的引脚名(PA0、PA17/PA14)是引脚的普通用法,其余都是外设信号。 + # ST's GPIO and TI's pin names (PA0, PA17/PA14) are the plain use of the pin; the rest + # are peripheral signals. + st = pin_layout.load_data("stm32")["parts"] + for shard in {shard for shard, _ in st.values()}: + for pin_set in pin_layout.load_stm32_shard(shard).values(): + for _, _, _, signals in pin_set["pins"]: + for signal in signals: + if signal != "GPIO": + self.assertIsNotNone(pin_layout.recognize_stm32(signal), signal) + for family in pin_layout.load_data("mspm0")["families"].values(): + for pins in family["packages"].values(): + for _, _, _, _, signals in pins: + for signal, _ in signals: + if not re.fullmatch(r"P[A-C]\d+(/P[A-C]\d+)?", signal): + self.assertIsNotNone(pin_layout.recognize_mspm0(signal), signal) + + class DataFiles(TestCase): """数据带着来源和许可证文本一起分发。 The data is distributed with its source and the license texts. From 32594cd0769237ff2bd7c08edf8f16152568ff76 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Mon, 5 Oct 2026 16:06:51 +0100 Subject: [PATCH 06/34] Recognize plain GPIO, external interrupts and PWM timers in libxr pins The peripherals of libxr pins now also list GPIOA, GPIOB, ... (plain GPIO, one function Pn per line), EXTI (lines LINE0..., the pins that can use each, from the EXTI mode of the GPIO in ST's data) and mark a timer that has output channels with capabilities: [pwm]. An STM32 pin gets gpio_modes (Input, Output, Analog, EVENTOUT, EXTI) from the IOModes of ST's data. TI's device data has no interrupt information, so an MSPM0 lists no EXTI instead of a guess. Co-Authored-By: Claude Sonnet 5.5 --- README.md | 4 +- scripts/build_pin_data.py | 32 ++++++---- src/libxr/pin_data/stm32-C0.json.gz | Bin 8513 -> 9574 bytes src/libxr/pin_data/stm32-F0.json.gz | Bin 13878 -> 18056 bytes src/libxr/pin_data/stm32-F1.json.gz | Bin 15362 -> 17888 bytes src/libxr/pin_data/stm32-F2.json.gz | Bin 6695 -> 7235 bytes src/libxr/pin_data/stm32-F3.json.gz | Bin 20851 -> 23125 bytes src/libxr/pin_data/stm32-F4.json.gz | Bin 41552 -> 46034 bytes src/libxr/pin_data/stm32-F7.json.gz | Bin 38077 -> 51905 bytes src/libxr/pin_data/stm32-G0.json.gz | Bin 12273 -> 13910 bytes src/libxr/pin_data/stm32-G4.json.gz | Bin 24900 -> 28467 bytes src/libxr/pin_data/stm32-H5.json.gz | Bin 60838 -> 81634 bytes src/libxr/pin_data/stm32-H7.json.gz | Bin 77099 -> 106088 bytes src/libxr/pin_data/stm32-L0.json.gz | Bin 13395 -> 14755 bytes src/libxr/pin_data/stm32-L1.json.gz | Bin 19137 -> 21864 bytes src/libxr/pin_data/stm32-L4.json.gz | Bin 50296 -> 58474 bytes src/libxr/pin_data/stm32-L5.json.gz | Bin 7101 -> 8054 bytes src/libxr/pin_data/stm32-MP1.json.gz | Bin 45483 -> 56883 bytes src/libxr/pin_data/stm32-MP2.json.gz | Bin 102633 -> 173377 bytes src/libxr/pin_data/stm32-N6.json.gz | Bin 11958 -> 13960 bytes src/libxr/pin_data/stm32-U0.json.gz | Bin 4995 -> 5467 bytes src/libxr/pin_data/stm32-U3.json.gz | Bin 19378 -> 21049 bytes src/libxr/pin_data/stm32-U5.json.gz | Bin 37728 -> 48347 bytes src/libxr/pin_data/stm32-WB0.json.gz | Bin 2050 -> 2132 bytes src/libxr/pin_data/stm32-WB1.json.gz | Bin 1655 -> 1770 bytes src/libxr/pin_data/stm32-WB3.json.gz | Bin 1173 -> 1248 bytes src/libxr/pin_data/stm32-WB5.json.gz | Bin 3465 -> 3617 bytes src/libxr/pin_data/stm32-WBA2.json.gz | Bin 1572 -> 1655 bytes src/libxr/pin_data/stm32-WBA5.json.gz | Bin 2788 -> 2919 bytes src/libxr/pin_data/stm32-WBA6.json.gz | Bin 4390 -> 5681 bytes src/libxr/pin_data/stm32-WL3.json.gz | Bin 1704 -> 1807 bytes src/libxr/pin_data/stm32-WL4.json.gz | Bin 2574 -> 2671 bytes src/libxr/pin_data/stm32-WL5.json.gz | Bin 1983 -> 2077 bytes src/libxr/pin_data/stm32.json.gz | Bin 17765 -> 17778 bytes src/libxr/pin_layout.py | 88 ++++++++++++++++++++------ tests/test_pin_layout.py | 37 ++++++++++- 36 files changed, 129 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index a3408cb..358ec8b 100644 --- a/README.md +++ b/README.md @@ -676,13 +676,13 @@ pin_count: 64 - STM32 的封装由型号决定(`STM32H723VGT6` 为 LQFP100);MSPM0 的封装取自型号后缀中的代码(`MSPM0G3507SPMR` 的 `PM`),型号中没有时用 `--package` 给出(`LQFP-64`、`PM` 或 `LQFP-64(PM)`)。 - `pin_count` 是封装上的位置数。一个位置可以有多个条目:STM32G0 的 PA9 和 PA11 可以互换,共用一个位置。 -- `peripherals` 列出从信号名识别出的全部外设和每个功能可选的引脚(`USART1` 的 `TX` 可以接 `PA9`、`PB6`、`PB14`)。识别只看信号名,ETH、FMC、OctoSPI 这些 LibXR 没有对应抽象的外设也会列出。 +- `peripherals` 列出从信号名识别出的全部外设和每个功能可选的引脚(`USART1` 的 `TX` 可以接 `PA9`、`PB6`、`PB14`)。识别只看信号名,ETH、FMC、OctoSPI 这些 LibXR 没有对应抽象的外设也会列出。普通 GPIO 按端口列出(`GPIOA` 的 `P9` 是 `PA9`);STM32 的外部中断列为 `EXTI`,`LINE9` 可以来自任一端口的第 9 脚,STM32 的引脚另有 `gpio_modes`(Input、Output、Analog、EXTI 等);有输出通道的定时器带 `capabilities: [pwm]`。TI 的器件数据没有中断信息,所以 MSPM0 不列 `EXTI`。 - MSPM0 的引脚还有 `iomux_pincm` 和每个信号的模式号 `modes`。 - 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件)。数据文件和两份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 - The package of an STM32 is part of the model (`STM32H723VGT6` is LQFP100); that of an MSPM0 comes from the code in the model suffix (`PM` of `MSPM0G3507SPMR`), or from `--package` when the model has none (`LQFP-64`, `PM` or `LQFP-64(PM)`). - `pin_count` is the number of positions on the package. A position can have several entries: PA9 and PA11 of an STM32G0 can be swapped and share one position. -- `peripherals` lists every peripheral recognized from the signal names, with the pins that can carry each function (`TX` of `USART1` can use `PA9`, `PB6` or `PB14`). Recognition looks at the signal names only, so peripherals LibXR has no abstraction for, such as ETH, FMC and OctoSPI, are listed too. +- `peripherals` lists every peripheral recognized from the signal names, with the pins that can carry each function (`TX` of `USART1` can use `PA9`, `PB6` or `PB14`). Recognition looks at the signal names only, so peripherals LibXR has no abstraction for, such as ETH, FMC and OctoSPI, are listed too. Plain GPIO is listed by port (`P9` of `GPIOA` is `PA9`); the external interrupts of an STM32 are listed as `EXTI`, where `LINE9` can come from pin 9 of any port, and an STM32 pin also has `gpio_modes` (Input, Output, Analog, EXTI, ...); a timer with output channels carries `capabilities: [pwm]`. TI's device data has no interrupt information, so an MSPM0 lists no `EXTI`. - An MSPM0 pin also has `iomux_pincm` and `modes`, the mode of each signal. - The data comes from the vendors: STM32 from ST's [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data) (BSD-3-Clause), MSPM0 from the device data of TI SysConfig (TI limited license, for TI devices only). The data files and both license texts are in `src/libxr/pin_data/` and are distributed with the package; `scripts/build_pin_data.py` rebuilds them. diff --git a/scripts/build_pin_data.py b/scripts/build_pin_data.py index 37960ae..e16681c 100644 --- a/scripts/build_pin_data.py +++ b/scripts/build_pin_data.py @@ -42,20 +42,30 @@ def expand_group(stem: str) -> list[str]: def read_st_part(path: Path) -> tuple[str, list[list]]: - """读取一个 STM32 型号的 XML,返回封装名和引脚:[位置, 名称, 类型, [信号...]]。 + """读取一个 STM32 型号的 XML,返回封装名和引脚:[位置, 名称, 类型, [信号...], [GPIO 模式...]]。 + GPIO 模式取自 GPIO 信号的 IOModes(Input、Output、Analog、EVENTOUT、EXTI……),引脚没有 + GPIO 功能时为空。 Read the XML of one STM32 part; return the package name and the pins as - [position, name, type, [signals...]]. + [position, name, type, [signals...], [GPIO modes...]]. The GPIO modes come from the IOModes + of the GPIO signal (Input, Output, Analog, EVENTOUT, EXTI, ...) and are empty for a pin + without a GPIO function. """ root = ET.parse(path).getroot() - pins = [ - [ - pin.get("Position"), - pin.get("Name"), - pin.get("Type"), - [signal.get("Name") for signal in pin.findall(f"{ST_NAMESPACE}Signal")], - ] - for pin in root.findall(f"{ST_NAMESPACE}Pin") - ] + pins = [] + for pin in root.findall(f"{ST_NAMESPACE}Pin"): + signals = pin.findall(f"{ST_NAMESPACE}Signal") + modes = next( + (s.get("IOModes") for s in signals if s.get("Name") == "GPIO" and s.get("IOModes")), "" + ) + pins.append( + [ + pin.get("Position"), + pin.get("Name"), + pin.get("Type"), + [signal.get("Name") for signal in signals], + modes.split(",") if modes else [], + ] + ) return root.get("Package"), pins diff --git a/src/libxr/pin_data/stm32-C0.json.gz b/src/libxr/pin_data/stm32-C0.json.gz index 89bf060ed5b39e9e79b9b9fae39dc36b124c951b..4b50ecb6d74b4bad428e614235e1b3be98df4be7 100644 GIT binary patch literal 9574 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 ZJUyr$a4Y{k&HnL@PxDw_JMIMo_z&%qOzZ#v diff --git a/src/libxr/pin_data/stm32-F0.json.gz b/src/libxr/pin_data/stm32-F0.json.gz index d44c20093a32836406e4ea333b2b9fdf4d927996..3791154a0876f71629a4c45c05cbd8b5db84240f 100644 GIT binary patch literal 18056 zcma%?b8siox~?bIFScz=II(Rznb@{%+qRvF?M!Ujwso`jKKGo9D;i!6mSE=d37r9mShEl#6RXs%4_{!^E(^THsW7PVsW)%vWPmw`5k zc}&52l<^=!qC5N}}>Fas8-t)^R z=j+jD>vO84`|Zfb?Th#7>j|0nQ@wZK?d$2q$J660LUzjs#mDn)EQZ(kY~^X<4L|3z zJ++E=D&y;uVU4R{ZtCY1Z^!%G7=AbJ$H9wh>%rZTO-}UE=ey0TJ*Rd&=YfLL*YL_N{UwKJH;KDX9i8rOoUe_i<}cT`sYP^eE%dMFTgEdr zm{v_vZJ)vVJ^ab~n39a7VVz$Vw2+$`5W|BvDJd&Y_~$YCzX<~Ha_U~K&tI*pDv}q5 zr?#%T`gv7!d|F}}oElzHQ*X{PZepNqiRlwvdSGdDwL z`}q$4uH^NP`S)kkUrO->MM)pw#M)DN$xW$9t&HSs62MQf$QY9OqeiIDv5yIn1hfyeH(g zFAY6Z8|Of8SS#jfl329FD2Tz{fg5^kpVLx_X5ZlCWpt5h(g}M-TZp+r5bd;uFn#-Y ze(x-+iB1|DyE-_s3E(ADMLHd3rQVU?XL7H3ZHebRq}yD6eWG5Jg|Ff}tFGW^uFa#a zx}&xqR(gW_^_V}KCHnbsHd8OqhAgS=147gPxwCe_0}$HoN?sYzD6yG%k6Z}#_0|>J9D?lFa^ZQgQ#`k!2MMpNsL>7Bch5ct!ahg6+&9*Vry&(JMuoJu*~0M}aEES@3T zSB&i09oPwC&yF#DJ}-QTP}4t)6UcBrtgkm=b3Z>-1JwqN##Y~P^miP6F*fks-?%Z~ zcOU(*t8BLMGKr@ZKIVW4RKcc(we#fTMi|2usiJ+88qsc;^%5?*D~9;no+|HqL=;WD zJ=<<)WSik{O0RM+zk)>a@X>7sh0_Z0I8*RKgwsn*ebDf8IeQ9u4ZN#T=lYUxw){{G#?y)?K7R=WFw<7Qjs`(qkfjF%|)-Ksmf?3xu3>=TV| zD@SnTts(T*8=UX;?!K_QXCZdXRf_9QRbgC5oCOj*(>QIVbg-qL2pGK#P7|`Sm>W;x z<@f42!DiDd+HuWVxQCxNNBpr^K5hiM459tT~>JVz6xP;xM;$y*7`jDLo3T;)zn6bm%~KJY13;bwY9n9 zquhgXPWqs9+~h!kJ8H~$Nms4x5pe;BuaXo*Y;f{5hAEWnM>fqqJ$FF&tybx9%|L_f zjFvb~F82OOJAZTqw&Q`B-CY#p%ZTt9YiG;L=_#)6GJ0_VO9i=|7|L9tmsCX}1d}w& zppovJlD4e7nAauw16ZS(gc!nHqTF>cWgfD5aOQgcG`d#{Mn49ppRk^FHFJlx3rkLC zYdnTldAq>R?$+7ur&TE2{2p_F1!8{=2}4_@R^<*E z)A~(omB6j&6sw^uexB>eF6*LMo_E{OhtwT)m+Pd*>sYB-^TW5t1NS^9f)70>hK1iy z!bIPc;o$7erQz?*0R(W1-Donh9$~ir+)MUtHYRH(;76wOc#8jOANa+IU&uZ$$%3+p zb6SK2aB9-TL|AUvXqSQm#Y$nn= z`}_(k#w*V0jRz<=tp1b-014JSIiOcU@R{R{a2}ychJp=sd}+n6LEx2x^LmM-OQz2h zs^DVSbnjV*(^pfBR2L!`=Gf=L*May&XD4<;&-xe2vW4xJ1q8(!PrT@pI$HNb~i^u0bBI`d_7Jz^N|cyV2oZ^GH4`e)uy zhu7iH^O!9iB6!b=D-E4n`%I-_d#L0il`V%mySc`&n}@lM#6(=)Bucv~bnfk*mc=va zhCNefoQddydDnDYRvxVh)rse^>7KG%ub>HH@<*%X^zKYQ>8vMox

tm%D6A#~RIc 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 E01Igc?EnA( diff --git a/src/libxr/pin_data/stm32-F1.json.gz b/src/libxr/pin_data/stm32-F1.json.gz index 4c214b4da6cbf431917ec67e4ac0dd6863ccaa5b..8cc45443f556e0a9f67f692159b67e3bc0559fea 100644 GIT binary patch literal 17888 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 O{4NCCaaN6>K>r7vQodRM diff --git a/src/libxr/pin_data/stm32-F2.json.gz b/src/libxr/pin_data/stm32-F2.json.gz index 03b14a1b691046630cc9b652663359df07eebdba..b1c60e5c1792b0bc8747242d160835a2c6304a47 100644 GIT binary patch literal 7235 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 diff --git a/src/libxr/pin_data/stm32-F3.json.gz b/src/libxr/pin_data/stm32-F3.json.gz index 98c958c93f2b70e5471fd2966ff9d084d3268386..6f502f8fe3069246cb129e3e96e445bdc2c3d80c 100644 GIT binary patch literal 23125 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�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 GObh^w^-FpH literal 41552 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

1{@W+)USKAc)t4B(*Q8=*vWYITei=)8MCq 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

dnVs+Q-mvHdqesC3=QJx#p+1{-eDR9FV~bG0t0J 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 Y?E+=QMDaoY_0NC)A3s|j-(fWf0J9dr0{{R3 diff --git a/src/libxr/pin_data/stm32-F7.json.gz b/src/libxr/pin_data/stm32-F7.json.gz index 3e86083831543638d94dcec49c155cf563855b4e..807b4607c69a8396320fca1bca64001f59916254 100644 GIT binary patch literal 51905 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 literal 38077 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 diff --git a/src/libxr/pin_data/stm32-G0.json.gz b/src/libxr/pin_data/stm32-G0.json.gz index e28573f293247f9e7e7718547bed03ec582e056e..060813898d2968d95deab446cd098a84367719a7 100644 GIT binary patch literal 13910 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 SKTr97@nnH-oje*r0sb49E!T+v literal 12273 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 diff --git a/src/libxr/pin_data/stm32-G4.json.gz b/src/libxr/pin_data/stm32-G4.json.gz index 0f10374c8606d3e3d98d2f3d1f3714a104f01db9..d86cfc8850ba21b761def48bd1a99d0073614db1 100644 GIT binary patch literal 28467 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 diff --git a/src/libxr/pin_data/stm32-H5.json.gz b/src/libxr/pin_data/stm32-H5.json.gz index a7bee2cfed070f3aa1ed1747bb57a254caead2ff..8bbfd696cb4d94c9a37e22f9f619e4f9756982f1 100644 GIT binary patch literal 81634 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

DNmM*^JxRuTyaiO}*fMy75uhv%b*ysQcHk^9(EU zs^ENBwPBfyTo_BDvd1#$lrcf*XqhA=b4)F_x5o4;%9YIItCwPBrlnR+C`36S5aldW zVHoE*Uf7Xwzn)4sUuuDZFG2CZ^_s+$+~i!{;S8lmL6Z^O^=6lRSzYbL>Mc1e0)n0AKy}rWkf={{nS1rq}PwF z3zp`aW+zE_V^tCVnvj@2u+>ztB%G#*MjzW~s>Ddndqp_a6;WD6(Dv9yePm*f?$fux z>l{fO7L1)hid6&0PKg@MlAwmqmt(KR;M8zQQ^Sd+LKBBoWLwWi4KEjqHZr5~rM}6O zGLRTpV=y{6`+mImw~63h+wUny;{}^*nT-uMn&UGpr zi{pN01~yo3aJuM0ivuoV^k&^eoURb!qu8ZTX&&ufyZHdZf1} z$|bY}`O)K75NDotFe!4*^USD3qik~2(?V@Ic>|S)bjNOZ&bI>k! zAL}im!sWVUC$tOq&RMQK42w%%QGt=AU8EnRm|Y<67_&>W>&=a@x!?{r7SiuZIQ)=$ zpJ8b5m9Hz6_9|8dm6u7A~WWSZhNUj>?QXFO;f2%Z|YXrS2oFt2k(zTUkw;zeRXAw zR$n$~Ac_nW2LpXpXT$W@n)WrrCQ9Qf7u=!aMc(aG4oT<&k*$+<0i09flbTf1Lz%`Y zf)`&f!Hchh;Keg0c=22bUV;$F34-7yawT|)ED2s>Wdtv=RDzdS0>MkHir^)(CU}W~ zVd@Ay8cslq6r%CF*GT`FLIE#%8sala+;Jsw$CWA>DYMi`Hjm_t3Ts);sJ>9e+&V_Y zFXh>{L&{Tr8cf7OrK!28VNygdR7tuQsuZo&QJOL_C_@mYh@^j=Yy(n5)?y#c*44^J z{?b_OVni&ZCS%qz4Lz4usY~~?PFL@Zgsemb{JI=dsfP%w#4NCgt{Po_Z-{Vf!{a+8 zBACW-;~6=Jz0jyB{KQ6o(@t!N1I=S}(ZKl%B_t8AfFPf-gI18FGeXWvNnGa!2EfI7`J}+tz|8}c&S%Wf1r*4y3NQtz vmVd-X1{9?)0bmKDSOCr%1We5^1;Hq73kXi^wL(O}))Wf>^%E)9 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-WB0.json.gz b/src/libxr/pin_data/stm32-WB0.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..0cc4ce323ef1fee7ec973051da9f9e3229767c5b GIT binary patch literal 2050 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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-WB5.json.gz b/src/libxr/pin_data/stm32-WB5.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..9a99c34b749932acb6ca27daa2af1f12ad0c4620 GIT binary patch literal 3465 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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-WBA2.json.gz b/src/libxr/pin_data/stm32-WBA2.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..22c137d3155ba86494f5c2718757adf81b514ca5 GIT binary patch literal 1572 zcmV+<2HW``iwFn+00002|8sP0Gcqk#LP0VvYIARH0PR`XZreB%{gpsZEs&t*B1`U@ zM9H?|MXD$_DS|*q8h0=lpb4e}%m79Hz1(Dx5;|M@gJsM@8rb!*KsVZB+n#@5nOskR&H#90M zP*<01JS(!?6Ow!`DGFObQ9^K?t@+CtB#6o6B9{e|1ej2+vLvKl5%#pynt*0Br9wX~ zGE|qzr)EgWqD2K;D5VKyET9BEDA0sbT$J_2VpD{TRwlkxyUHjBRz<5q?LrLmO$A#F zsKr1k>I4)BK;s@Dv;#zz3J{@HUTENg1{_(yX1F3t1ys8$2|A~ld2R|QZm}h)hEoUK zxzJD=RMa(@iP((a+YDC`ZIUc!=$eaeOh)c(nWp;I#=Com)*Dz;`jia{d$7X?BY_k4 za0V?nDRxtju#sJNC)VcdXuYo~Q-`$YboDqHwt)0zG)44i9SZN*x|*&7uJn zn4rYbXgHA2H|pt|v`#6_ywN8Ox={#BAJhcP5He{6EA*x`aYnnX7^3-(%Zk)xI?dKy z_tQ>W(Y9Cma9WgO-XbjR3a(PKY<;SI4Cf|4}e%<8I) zNGcsxH!ZuR%Fv^xeAh8p9OH|z7Nq}AK54mr(cb(OI78X4z{ zDykz=Wgk=Zrzo?$%&JeO<8*DU>qH%IhSJ#4$(!>k$=?ax^dj$JB+DwS6pbPm}mlbBS{M> z(3v<9=!XvkEpyUQf$y?HiE9tP(U6RYdWpqRqQKi$uaB=jbfX z^J=7Du%2qn6mM4oTl<8XeRfXYw?{3+Eo3d@Qn~%M{b#oj2rcYqb^rCA8?2gF<<-3C z6M=`p;&bvL)M)90!`OZRSRITocymR? zj3+Oryfle`7Mj}&z%oEg`ob&~MlaCID!}fsIPBXvo=C!V@@D(r!~M7I-O0nv-CJXa z*N>-OaJ#*QA-vh%*m#_99)rR?595NvVO(fvj0+zky_RRIX)O*N9irtvZeGEB-UPf3;JoTuLXyEy1o{)@2UD4jokG$a(pioMdU{k6}<)Y zQzh!{=kV?e1e2S)|7kVU8yX+m4L?`>vZJbLK0P)bj*W)_H6AY62H5=(igY_PaQsrbM#=u>S@{17$RX zW`zVJt?Dov7d&39^K?%w413l%w04Gl7suAdv9)n*ZTwPe1HOS+f6D7-5fau4u4A( z)9;^4>N{5y?(X~)+I@G5U6Q8bL*$avaERXtX5dvL`)m;DY~~*Zf1fFr={fTp?zaY; z;}z$&^a0qr#SbYfw-RsukeXs0biK?Ebwo9eprm{xoHs&kZ#QoCJ7_FuYw6nF;Z4qvZHEi)-;Fzqk zBrL!3uv|Ud-lwHgc{od@H~iz`KF2$|M74`|cH=zL3{!5{YZxY5!||Oo9B26=Rh(eP z4pY@I*%?lTO6O}%xW#`T6VbzO|5^X5@Pl9XxN~m9IlA@eZa7q3@+z0+S+;Y@F!9_w zstn7m<`CnCal*MQq_8a9Gmm{&1>uY^!#5miH;@ph|ap&7@TLFDii8Z;M{qgdg? zvhAa0(yvU;rkQcHi}2U%6WzYZ5X!=q-4x+bT1h`9D?VYu%p#krX6DKut7fQfhUbqM zxi^a}Cb(RmwH^;YX9CGSZ;qVG+ZL7&!VugqD6dHnX1ZK z`lMhU)DvVWkS|Gn>SZ3ulu~j>jm8J&-nS03*%EvfN8#nl{ zWZ9dy>;HcL_GA6>=KJHzJMCLvf4(1}mnRx*o;NSlgny{NAO93d4C$M6eMg+m$g5CM zgis@UidMB$s%@2Zu+tB)qUQout_{G-1ArCV1FZNAU}ZDx3}uPrOB!ByiY>RX@m3HD zA2tMmh*w9W14^E&nj@f_0^70B$Ox=y%-uEYDh*QwuFlnVu>rb8 zUb9`YKS{ccK#(BLRRcjuGxfaTHc=o3&=xtA0c=+Ru2RBo_0>{BgC&^b3)5FKhGL&Y za)Z{$1NTQ+Zmbsk4OSsNswF1u9>Fk#Pkiszu!`_$w;-8@qzx=Y`n1dPxRK?t*A_jI z2I^Rjy_%|Q)1=ahzn8NtN2_q2XAe#_NL$okq%we~l2p}UXSJp(BS_DH=13%Br7Hd^ zlUl=O)do}E@?AWnz?D$LA154_KhXQh)DEPu35 zevXh!Iwn6y$t!)5pZ2sFGv+-)r!kQqrw8(b&V$acV$WH`9>ScBzj<;t-ce#tSf;CF z6*jis%M^af?u@dkJMD`=@nV*uDpbt)R}5)<%bl=89V$JFZ*lc;R^&fmi29O^!uuje ziZpy6U@jd`@KsCNLVOX5(|LLz+!rH=EK-=N9?TAB2O^SD@4{2*D&7vZB_dSi)XY{v zO3jv6ajI`|s@mJ54uz`iW*4=rS}FNn?&;Avw5&7_S7Dq_KMv(T>2kVQPV>*&UK&}b zdTE~9D1ns@W_g(3XJ^vGMEVrV-arpE|9TV3YB9D~H&Z*Hd3zPq{x1c!G6u%WVw}W) z6;G#O^f_%)YTIMtD#CRl!fCMmL^)1@&!;MLYT>{hmCoI`E_!?lo}Z6W={hZjoS~9I ztgB>Dt1B7D=zV9dWUx!A5cn5U2nZ~!12~sd2SC=;0sdE1#hz(si~3_1G_+MQvU3{x zD`m1X8hVOk3DZ#LoHP{K#*-k?^8}uBl|xUFLxUHDyuc@DbC?`jw3yA(tT7D2JJT)h z$K5B>E!rQYaL+_3JnJY0vzk))0Hp}*r4(1y@v1srRmZF9cvT&*s^e94ysC~@)$yu2 zURB2fRL5{08f8bbAc+nWB=I4FB-tZK0+mQA2S!wDwL9KviX>}Ok@WjeBo7l8UtV5( zpD>ryUIBc#i?ftZ=eDvCdeF3o{sHqT#@;Y#A`t^Mi^v7Tkb|{f2U{cuqVae|w3@*p zbX=fR5@YjPiYd63Vh;}G*l#^O#8O%5rDhY0*)!LU5?PIEhD<`hJ1%&KovA*Q1Xh=0 zWCUAPz)Fyu;6}g?F|bJuscl>L&^seg9QqwV-=VC7T|yOUh%iuR9HBGOkrBBh);78b zU3SD;s4$I!3##soWWK(DV)RIsa;>cCkFnJyo-sgD#-16Fj{PI5q+^NoEGQL^r9xp( z*}o(>{@Q& z6j71mR#cP`f_NqdY8WGnQSk^^)}wQ2cq4YkD$1yfD#}=78QPeBSD$|Myn-AuPZ=^& z=WG=@L-2AHoTuwwc^H#RA*h^WomxE@yL}!t8GGFv0~s^B>9BuEwX+Gb?+DxEa!vqF z$OYBoCiIBH%fy-^dK0hvqiYk^$q}=OZ+(TDpTBpWH}si$UhNIsyK%@o!{K}5!Fy9Z z02DzfbORJe0n)}!swnv_7F>cJ3TTz^{i?DO>hYy%)B>MJ=lTsfWZ#d-A-jJ?PMn@T z3sI2o6Lw4#a2o%9C|{9p&5`4~#u`wl>xzE3X(pULCL7eMgD(c=q2lGx&(hs3?U zPa%#u+W?PAM{ixo)6kv5Zeq8>Ee~6_%?b#;q)Gv~h*LHM;0J`AsVYpmD9n=JjHPDk zw5Ul?)Tf+6ap%e$B`2zf)VkxL6p+Hiy9TXF;*C|VBrH80oMnv2VkYdF+bq}G{6J;?19xA4=mq!aQz1Cxd$F6 q@qoU2z~nQa=M3mM1A5MY*=E3OGhnuvX;b?8^XFe|98sa}f&c(yvr1k7 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-WBA6.json.gz b/src/libxr/pin_data/stm32-WBA6.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..26a32b4feef8dd7e9b7f081836b0b4629388b721 GIT binary patch literal 4390 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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-WL5.json.gz b/src/libxr/pin_data/stm32-WL5.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..38c7f665e707ca524b3c8b2c9693bf72bb2f2692 GIT binary patch literal 1983 zcmV;w2SE5AiwFn+00002|8sP0Gcqk#Of@cQb8l_{;jN&$3{-V(FPIuSQHLZ@{lw_ zE@>A7R$cI5D{{oGo%qi?V&ZT>Z*TH0MXqSx-2O_D`pCd%XM!cSe<`)}7}#nvjUuh`A9E0mKL?_o zzoWv`geZR;vdCa4B0dTXKT&R?9~5`Kt?)fz!`}IkB5wykBq1TxY#7ldy{YrCk2WFo zz*Rh5vyPE;h$&AD0wrpd*~$D-J$!liyLVU-eJf`k7e%e1l$NjB)hf%IHWO_>ef*Rc z-OCuMt=)7Bi>;#BSYC6~-paDqI@p1Ob!3JXCNktKJMDQDj7oIx>51b}%kp==`kg$z z=?~j=`O84^sll-%_6qug!+^_>&iL)MX~gchbY-mz*d5+{Ik#a1kJaIaaH z+J#&!QBYZ>nP4w*Ob>D;mx>Mt%q1{)sW(` za=>-%WsobdI*VIen(TS<9qXQOgUyX~Phc`*lfB!oZ)ODH`|#eyp=(|g<7MPK`aMyU zyEZzl)i5kuR!zLtg$eZd_c z>Rh6OLS?WWz40XDg0pv0qt-NTZbmFp@?FWA$`+3W+Q+8W+6Bg?+0yu-{^=?g8oa7{ zI>DD{Bqq)eHRclGlvGQYBY)QqSbIr2nAt)Swi`7s&1Oq)NsX5Gl3Rm`FJoeYuZwYO zMQ@E5Jsz_oV%R@;h6`^J+Vg3OPS}-BvAuXp9e}y?L}Kf{q~!9=qSQN2S0Gg`Wu7=O zlAnql2?`w#kzvOSHOgSWCJpUpks*oBriun08ckZQ@obOjOdua!m}GT7>h!WGY2auk z5RSSw$H<kmE6^!cKG@h_1yCD)6+*51HM;OrY>h8E66ny2hM2L0X&FV zhrl4FZK>Ve!9RusYom0%& z<2+*40X+eS@Lu@`R?PoJ_9vvhdUjxK*MKJT>r9QR^1*nXic zCON`BV~a@+sW1Iag@1--^6AImucnzS2k@_JHszv|j_0~>2A*lSD?cyz#!k6=shN*U zPBqDOy)%580e#paKWBJ+Z0v@>Cjw+~`34|C&or(l_!4tU@?#Sv;=bHLudJZXJ(45d zE1Ag?;JXSE0P8@R?g3@G2bAd^P^No8neMs3I?(6!JYXHr*8}wR0DXNxUmwud2lVv; zeSJV*AJEqa^z{LKeL!Cy&^G||4FG)uK;Hn+Hvsev0DS{M-vH1z0Q3z2eM3Os5YRWY R>3jS2>wodsw5q!`008e>(s=*? literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32.json.gz b/src/libxr/pin_data/stm32.json.gz index 3107face656c5d4985972daddefc67ae39938ead..7f3c0260ec714507e086f72dd329e003028a3d8a 100644 GIT binary patch literal 17765 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

l`j7uq-IsHNr!v@effHJ`HB&C) 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 literal 77099 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
wpbr@p}vX)WKof-$c0{DBVWwQ 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 M#w#`rVQ`@T0eCvv^Z)<= literal 13395 zcmb8VV{;~4)U6xaw(X8>+qP||W4q(zj%^#Aq~qMNZQIs)_WrO>?YHWDIIC)mIqLca zYt9I&aj<;}~umgXEm zk1Ayv9NczEv!Ke6N05iv)4+U~BvjhylA&(%Y-EiwbR+{&vd$GlKbNbYcaYsP`L(-{ zSmeO(dgPxw&rc(#AJ6aG6XcIRdqb9w+w%Y5&CiFB(B~WR&nrmX&z&mv%FoZMP~Y#@ z1tGypqh9~tP&+~ayMtwhbk00=t1o5wPukFnB93d<8tw?njH?>MTiT^%v$P(V}Ke(1e zJ`Y}s$F3?2T==9tvc4s(A3SD%8+bsTeI7ma2?qNA^?!Z(%s=_@`*M7EyMq0Bdh&4L z+v)q>dHdNEs&~w<*PK7uef~7Us%>x3-ny={HWaz=-y~+T7uei5S*h>8dAhzkdEZ#M z$nWbjG}?Z8aH`MkhMM9t3i@6GAR8n0_6ag$U(t)X=#os+*Fo(tH|qBNe69GRXT;x~%6Jy+ z+**8bTBg_HZXvJoQ+o4Lh+P9gexI^yd4IpYm-;m|@#w4x>AVH73L3rc85s&8A&hUt z`RK@^2R+pV_-zD!b#1dBgajG|%!P(F+A>kZe^osdXCDxY6+A(_DxGeDDU|sUDeZ|+&dSdR|yR2tsI!4{c*JK z?tP=OZ;2GYD6ss^m`Rn_`?I;Mu7Qj@WG4C)K-J5+@-gkR7>kc4_j^vLD_Y>Z6#mXb zmoLU$NuI3~)ySxnblw0a;+SsV&c^GO2CMSeYt!=Rg19DdHJ+~jj*GY;f~{eKqmCNMqD^X!me zLG)j;{E7%u=s+9;jHN-+FZM)4(n8Jx{5+bkUj{O(;t7g$nfHRTi&5cLa7-{I8B~Y` zNmREa-ZUs?9m%*wP_Ul+33QNSb5v5<1P-n(KH~Vu&rs{=JmyfS3ASYVmC?=&7(65c zO1s)Vi2}i9ln{eMA*QFe%?K#(O$aE%F^Aj%6oJYvq~4Gs%R0AkA<6hhm=I}}6ZF>J z{lHYS*fGK`PVqIet2vCY-Z+XdUyHKMms!mxSTlx`;__Y0W`biM7A_mF4zeNxnd!l#2sxkW}G}oy{Rg7BPZJgJ#uU z%|QP7LxF(GqgT;Q^*n(hvLILog%XT%*MioPLL_RnK30QXTOocqYsd*<{Q=D-@Cc*x zstv7`w}2Ur(zYxRsU%>hA+z?eRt8j*RxODs)Dp?yr3OnaWMCp#t1jA5laU@#+m6E) zg(jygV`tx~s9AuGhssobauIQ4p6_%>7dYlqnEHokkr~9u76EW=x?|I4j*G$}uk#73;ju5$th=(Nk> zwoZ@Bk)W6)!+6>Op$(Vv;7|;3>ArS$@tD^S-N{prVwvQ-mKw|n4I2{y>|k?~s^mJB ztwrn4eihzhJgFzUVLg>3J!CuslbAA8WbdFC@LKh`eIm>XvXE1*wW|)?uF=_FRAyL5 z`K1Lg-4qvr(PL+#^zNcg;i4nRx5zXH#2CuUMs=O5Pd6u{J1=o2XeN|P#rGe%y%Z=q z>An>kfyNCF?cN3|!_o4I8aG^z^WCJxGRCDc=x_?d1drtQe%g?8!D6%&6B)OQVG~EL zQngj=EV9xwTDdp4W&!fEo{x+`3qvvfPuzCN$%KV|)<%$AY>}CKg zU@ef>Qc`btBE#13tXQ$>b0{g_m&`BaSUpTXPh{BT za%d;9nAceoCuz=`R`JlGj?FQObjKa{ag#Pq zYfPew1z+XZXKCapslWnwkFakEogv%7Mw}B{@6;>j!A3sJ4&V}MCWs4s8^N1x_p1@K z-qEk=vUwHzA0ccVOaE(}8{ZCbPi{TxNaFVK3QXUq%^RQCq~IbPH;VP>bAiDMllLaQ zO@)WEGm2tph;ysUuyVDD846OQh=QX?jvmSh)({h8)P~z~DPg0jt8N>WBQyKALyUlH z)@IXci$$XX6nQ)IvIWceEonQ4C(sgu3(BAgH)DB}3U?BD6AG6QL?B1Uhm>wxsGOT; zc$`*I(Zw|;MJ*?1{}6-v|Db>hj1&C=_=xfa4^G}pnsvor;S#15vQtGVVMT9VHFQZDkNEi z;YWg4?+}}uP!-_ zNCqT08}6-GL1JK9{%(8A9RH_fNeLSxjero9HiD6B8n}mpI%EkY{`$QmkQA^5>Fqt2keP40rHo)O*Yq= z{}IZCuZLktJo$-c_pFwHR8k!l_CXV52OD%yJ&dM(g2Mm$-iJ&( zjSjvE|C_1Ko4gYkeIeKZA9-o8?IXB#>z@G?lI-W2U6{M~uAU4I@ceOT-ejUlS7>Ae z|01(pQsg$_LnR%!TKCyyjGAdMnpIwK+8ZEe%G_ITf>4yMg++;3%I9-PMAMfe6d6IR z(VDH`lDznx`U6)yOK^A*e{!y? zG|{e?(;HH5E)X_`w6A`qp9<3{bXKXjJJ3W(Nh|YioOkA_p2r%f1&r#o8%p!N*x-tT z=R&r_kgLiKNtAA@Y`MP<^ zpOQQg?cJM^1VX)0*k(|4^EDQ1dIW@$QK#b*a7b;SjQ+MB1cyj7()9XmFIx}1h?pw; z-QyrR|D^aM6-eW-CmuJ>8DVT0djO-@M$xlwW(Ux6nlQFaWQ;9JS_MTUY!7YpX(Wu9 z{B`9_b8b1Bl;B=HwO$~S#n&qB?+h9`Y-U9{N2Wqp%7YB2)Dcg4g910+D3^f-em` zO6x2_xo-fKmOSYsEc_rw2D8##7+%3960CS0CH$IFsA?@qv{CZoQ)_pEA97}7*(g>IK8_Q+n@(Y$?V|KDvJ z8S%xkY|rzCY)|oARvM;6y&`o+V? zC?mo0_O?S*yFGHL2v;4vw|6SsmyTw-Ad#h9p;$e zt^=g0G0B@Ce9%{RbDBPVwBQ+S>Pz)k5cLzldlNR!ivO+y3J?!Je30&}F9!z?!rZO4 zi8ZiMQPtHu)2=sqH9Rxaw(o+mSba;lus2$%BE9dR30{Q5YSyI!_@GR^$I59ZGenM^8xdtAxrr z4LRWt$!zKPcV?<4oy4F-SP4F%*>$BUcQCE_aqh=<+sV7#>bggaVxL1w6O=%Onr{v3HvGx1fnna;+Na9d;8W6gwTyLF`uaVPsrrNsFb7R`i#Ezgh$96rY3C5E3hMJaWavSo;j7ijFLM z?HULeYTJR~Y)2fGBju|i_|xrLDNa-CLo2w9bwyX}?Je(1C3Dp}x2{4Vunn$xkx$^u ze}pb7H|4=rhZ)0*h$U{-$>jAzidkPRkDEw`*XAv+eFv zm!tme7!nY(NZMM@keeJMOOndyAjn*=m)nH4M+EybIVz`5K>6^9hCTFf_tLe4cK7n$ zm3!W0i?Q8iv@cE)1fI!_X`fG$9XvIKa485Q$DdV-Qd!Eqpeti?;S74q=+{e|4`75{ z$ZmfdSp_E@-L1XsLa{1ZOys*wS$faiX%`W|tB}gRekm}4(iO4Mp$&hgDQ45#z z2E|FGCXcMFam@sp0?~}MK$H3!pHiV?I9dzQGCB8f}6e-DR)qv7XR%ww|8YK31 zwnj$@)DgKgBX>g$)oGM@IIbP{(^k;&^`dshne9+zF}c*M-e#Sl?G1uDzt~wuzIB4{ zDczWBWjf+Sj2QWrC7)ND%>S78G0GvSJ#RN1vPAlK&k?#h>SkZto)WqCSF=DO;YZ|z=Yx%5j27RE3N}&NpndGy05k`hvWV*?`X1F8c zFIjPON5@C|*C-6nmWE~KR=H)hpB!HCxU`?hcTiJ*OXl=^P)%NEW9T`8T{pwF6jIGI z;r-;Y!Fo=}cZyMsD`rx38yzNd@=Z-PuO!cim!E`Ik(I9Fw*%L0Z)5V zmHku(?1g#AL1NHJ%bSz_ZZoggp07+4^4h395NiWjKUHZQmMQ9%XSntC5#J4KW88rY zzyf3l%ro^41lbf$%E{CsN-5&}q*pd$+aV>mzi8wENEq~t`{kqLGIJhhQh!g^jdUkn zi!4#_D5Sr2l7Q5>O1YSCRH8T51}SJ$ueV97{1hKU<>7(re?)LZ!3%jmd^a zP1!OL_SKlt9hp{?U;T=!bI|%+-sWq9G5oP~C2>X@gYvc_t<+%(p#T2?;%I0jq zntzR*%XvS$!5_fsFh6Kq~ zlv^8p%i}Nb3}IhBi?yjK^+FNz@1pt;6Gw1IDHTrNVwhpkhlU!&GrFd}ndGch09 z_-uW3QVdmAm1lkRQZzD+6+ep*lGb*l^DbyL(iEIkIutWv{jw1_ujnUX)#4%|g$v`_ z`7E>$4NZ0Jp5E1&6)!J#ZoM3%^7l~_>d`TNg5iiQ)c=2Zox=o1f!4JyC!lEDAILjx zQx!Ma$Cedb0YX{JbWm~jpTCe;)=|mp#;GdZ`_^X?=v@4@QudUdn`zgv zl^#!2dA6GX4-bHi+6-eq;zPaju}qcORgAGho-OyEq8cdYEn5cSrv?GL z?ScdlDKhMez@oC4(-H0nu4$@Ucz99)I$NNV-5bw<;4odWSk1_BpI!EL%puzzhWoNv z0zPt`tmJfn9f;Y@X*jRkgToJ|<4fnGJ}3PNMqel+H&T*g5*-79A@_&E6t;a^UQ8i#QUYpuD_t=| zY#c6zseu{Cz_EV9lN6qHd5lcem1m@jV}bJ5@alo~Y0SRNJMLBiS&M09!3%En=m|akMCW#kTH1n*&}}a*k&g6yP{?F)6OUhM<5;+n%(km zbu2o~f-NlBtkRVi)brr>w|`ZUfy7CixZ6O9wQ&crJVIiKYEDJ_ zANs?e81~N!;yxCnb^Q>UlVX11l6j&A4EH8mg+M?2v8hk|`fIzS>=ImsT>2jX<@o|Y@ z6tuZxrT-^pzgbb^B}ZN3g+T8=iTx+xz)$&N&7=IcFnT}qY5pt!W46X*sv_IU)Sc?g zlrEduQ83lK&q=G(t_AUDf#vqTG1^{5{MBW=)$g)`hL0f|u958ychABTGf@rUFFnE2|OOILrUre?VaWe|#}eKL`{nC8iq z4yI{vLD#fR?}5=$mpT@7@DF!XF(qqYnzQB`74|@Us7{?TTYr;&4=0qxjc+SVG?QiH zy}o{B#;PPlxwff{^q?tP_7a&j(k0ez?iKqYd%}%jWEcC`!^<3;vNdu(sqc$4m5Cgn7Qw)lmL_Jy3<+geN!%7h#j{23 z(#6y}*?43LnU<%qj3JZ2E3OLa|G8E&JJVH1|9m^&4s3}Dz zYaFhukd6(NuGyqv0C4~1u6q9YuKIX&v>xt1$?hX*oQY4T>Dbi+i$(M_&N;j=7cScA z5f6{m+hy&iS7C$IJOuMBLik^l`x0vES9V`tW?F@r`ZW2ToL0Jb43!=rDb8xYJ2vC+ zYK5+86;_@`j|SR|jTiwYFpnkXZYHaKOW(C?!{LRnI&U42nPnCq2fj3#KhL9>&IOj& zQ?N;&QKs&mf%@>BZ9aiHpi-A_0o_sB1qZExP64o(&1Un4w~2hgw0MI;brF^el;19L z+>R5kn!7LOM1gvsP6u`81Nt14^Pk+ChT)7GKp{nt(3i}>9K3OxvHOqnwbqBvgC1}0 z<}Sm7;ZEYOtJ@i)WzF2PJ|pCJ3*7}Sr(k!fZ4Cc&;up}s&a$V(`~*|ahCqGDQG2WU zIH0SQpN~u2{82A&dS=dPrFj(=KhM;ZjiaKQ8z6gOGw1l2ovXa_|3=@+HrGkP|1}w| zoWnhH*+M}&23Y9n)>Fw%CG=PIr?SsMQJU;=a&wwYbl)imcRHP#Ys4#5 z((*ZoFrc|rH%4w0ore8#%EJDWe1dpCufga&+H*LZ<&ahPyrdmOd(3@I+m({GKOm=6@nL`6JM>;i>S)B5U<+>r{la6U}}Uo;}fAaLTz!dfxUZ z9mNQuRr6}YG|e;v`BEU%LPe8_sRn0E9T16-3q&TPfP>5@tuH)+=m5?AM?Qmo#_U+J z=%<@cj{LoQRAGcPPKgW7&A_Vb>^k;BQ46kqBeSLxrHR^X%7ljyoSyyS!SqsM=l!;& z!CF5*`O3cKzUmxYm1D3gcs_*ibT5vjRvn+rLfbZ0s1W^I9PcxlgAa<0X{v+$U_MUn ze}zZrf2DZ2BZMx##+m@IU6~+O)`}EibMGFiAY;`Y&C^>zSv744fKUiKig`)T!?K(y z;iFB*5j+0GU5m;*_5e%8ffy!j#wLTb=^J`{{ptPoXQy$1+|hik-o2_?JnB6; zerbXu7YX)PSd*!ts?*1Lx93=sjX*3hv)yh@d4z(KERBeiY%Pm8FWj#_&93rP( zx~Q`G7VPg*9j!2ST7D|rMbb*al@j7=)<3hcPam?6+n>^j(Z|%yqa`WWpOWh(MFGn! z$$t{<(#T-mmhse5Ip%%~8V{1V3mzDV5g~WHkY|~|Cyn003H*uiIjG8k0i$5g^@UIp zJ+zlLUJr$LMgT1EZ}a@oV85mtM9j_&v#)lz?Fe@>i)pt}SZ?EPJfe=w>YfOEjrkSu4|IYX3iwU0Dg1kp_M56NHCU%4H`s@cfKK{Km4{x#s4{yM#{uGWq;`%(W(f|!60SvOPjFFy7I3ZPIV3U z9_BXw5lJh}^H(XiJe)S>9!jMu2M&u~pJKCPVfB13-v*A0{qI%r^@P&`@fl8Dl zxR68&5^OynlFxu4jKBiPGl!TFP0zK6iR@mA_vc-X^p>b39_RT$nU?gy{!WZR@TgolCmRg`nwVTcEuACW!J$MaJ z!x*l?BuJ~fm#s0V9$O7AmWxPfn;G)vMawhyz$!J6gMyx&)0(82Ty>MSO(`zos9J3I z@XEsm>gjrK<+R0KY5J}a`wYZBz$jMpr=KkTTd-n2rmyW*c@BwYDLy=JhDEg-%k^2q zW&9vsyacl=*|XDB+b}gLWv>pUC(xds9OxJMFlWBjVf7<-?Fo0}+b~ZFe*#|ZoQ8Gb zj@OWc8H3Tc^+GTl_c@|$TW3ztlLo;~kJJ3!K0ONIv|A-T2Gd;KQf?ambaWn@wJNJ{ zIRunFd2cXx-cA#~{_p=@`84hgP@-k}@AFCvpQFh(UImjZjn<`uhBqdzR-OE)N< z#?!Jc%7lj+Ux9v1yK%w9JeIZLJCZmZ2iJ|7#>O`3RxSqrEBeueO|=ck51FPw1R*hf zwdd#WpA{uui=%SwkQF5wMVrrsFPE(F=I7x3yZG=tU0!8=ouga7uIjIV3!!ytoYJTt z_FT&+8@#FWl+e1fXfvXz`=zY0+EDHm6Fm3LfU|I|v?JKb`rJ`;>Gc`2dX4dGtMcTn z^8Y4!wfRf0$LHVnM~|JueLE_P<}a>)+|kIS@|riE*AINAHUWV~ z;AAVuFE2iXy{q3f3on97YCft><#e*$wL;OUYkBoS3BK zh?EQqVr$55N}mJreljD{gHOG!U*RJ*=gndC?U{G$yNo9B@$H$()0%S+T{nrmv%k4U z>pIOQ2sIj^){bWkFf+3Jhz~nbW$o)H>2Nhp5LE(MEi z&^OFxa0tdr!!XC2^X5QRJt$f|WQPK?S>S~*16O4_XeGDo5MCi)6E9R@k&O!J>{+H( zI|kE3CYZu(JE-K;nvdw;z*(if!tphAuM21ezISeW5G=WkSAkZXbS?an55&$KDaB`z z8{piPC4|8HRZRx-#~RUCMwK_EU=6hk!p~(G8+sU-YMOfzjVyD9erA0}Ff5)b7=hA$`OgK(Ms z2_<)oRyN3z>tWpsD&7c#gRrQ}$nXO!aAvO{l$Hw9gwZt zJk?tGmTBt;MF}~(wee$wLfXe(Dql`6zRG5#C^}N=27#=+x7zn)LIKW=!$yfA*&bplOIBeo;)rO=Z%gni>&{-eu8*ePz;={Nj}Y zw_F?Rc7QZRJ8&nSD2=1+dN9o}=#^P)4I&jf}b+t7< zodfew#@_uW4WX>CYz#RDULywBl)4 z>gn82$dYaeIp)Safv1)=L&hq#FI^K|wvLGSv-(=}9@ZLL2JzR}*lAMsPz z>t?Ye)#<>U53lzImV)Mm48hLqAkDK^%~T#gu=4YbAjGp@)9ajV(1=OM)tZ1cr7rL$ zjnB7Awlz}$W}t1~LZE3W`{%8L81%dvdiQ`|`Yrju1VFvL`xHL69cosGNV9Zt`5Au$ zsg0|~v_{KS@O3>x;vrZ}9>S8E6S>3ncepOnKufnOq!*f*fM&X zg|2U$!m#*_yW=+>cVrCEkqLzbIk~&YBxX)3UnLzbF_Y0{WK&0Ed zk!Bpd2(yN-yL8maMR@*eaLOOFXxOxEVW3O+^@7v+l#P3dDum2SbVsniMtGSzk8=Hi z7~(Q5*LZyV?yaYLS{BA~w=+&-M;4WEy^LnhwNHxZlcZ@41K+Dm7W=OqQ>Q-rH&P5_ zKKAAmZgBYSuYn1UMXw7zLh+=RDP@)D?k%2Kj%r?vN{1`S2rQj@=1{$@**SGO&W2-Y z)yytXYhNU$1b_hsW{U|EM_EZiqkomdl^a#VM7mH3@NSMB_b}-3ANhTR(-SHcHZSOO zm!$qa?+&d(Tj_0uq7{tgM2M#DF3quxg<<#Hkf(I0T+jqkabuolk*(8~_5a6sa_t|k zRA=Gl&(-NVP6&t`bhf>y^u>Jg8kziPbxS|>f*lkbfB7Bq7+~`8Yu(-E)Z=2vqzQj;j)p!9`wtK@QMgM{V z0H@1c48t-5gvy+LJ0YOe9(loZn)!s%%JY%KYm@-6Y>Q7R;-ZC@CQfu@Aa1{*Jv=#L7Kd-K5`C%NFr&eD~f{FgRY`RLgY52h4O8Z9g!?_|B+dKIN%lJ>{W~ zOXrDN26(CIySbG z&4e)9btlX$;xslzsxdnna=r`ZR~!Xl5l*`$Jr{?*quSyuQDE~|KZKT^Q-PhuNEd?b zs<<^=c3}*pLtINk5eL%SQVTVneCsKrUAYb?! z$;CU`WlrTGz=Z&igF#scUKB3J_8qX%21G*w5)2C@j%cPSkXyMT^Qf|!lqV_9rAV&v z7&54b()XGs=B)2I1v=PRFi4tWdsI~E5(JJy`zpNqBcxDA64$$XT9XuMff{L85gN9( zy02xky)}v|+=NiWdk|!)VQO{C0Obv_!JD~KhQh8G&AmrkizHzXU8++CBi}YeW)9g* z)#hJ46uym0GX56N7Fq6Q!sBGHaT9dmEh!RchHSf}b{4a$Let8oOH6}%i}!I5=yz;` zS7J5n8%F(^UszO{3T@OCbe4_uRbUUx9a=2&ZE19W)f7uN{IyW?75p&~dxa|LraTqZ dC+$~EOJ$^dhE>|)KW=`Ik(~qSMytU={vY1s0CWHV diff --git a/src/libxr/pin_data/stm32-L1.json.gz b/src/libxr/pin_data/stm32-L1.json.gz index 403e07acefbdfc4dd3c56ace523f91b49785d7f0..ce020df8633d4dd7df2ce1954f2d076c22930aaa 100644 GIT binary patch literal 21864 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 literal 50296 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 diff --git a/src/libxr/pin_data/stm32-L5.json.gz b/src/libxr/pin_data/stm32-L5.json.gz index fdb861a9c0ad92aab68d69ce6cc3ce7313d69120..258e45eba1d93b84764eb4f536c59450784f4825 100644 GIT binary patch literal 8054 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 NOP7U64t_=i{14+rg17(x literal 7101 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 diff --git a/src/libxr/pin_data/stm32-MP1.json.gz b/src/libxr/pin_data/stm32-MP1.json.gz index 10dfc9eca28f514b5c8932dbef3832629dee595d..8dc909defc2106887ac9f042f871239d279bbdae 100644 GIT binary patch literal 56883 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 BX14$U literal 45483 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%0D+S_Jz%Yy;8j+ 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 *B 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%0AY>43Y?}g7svlk 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�zoH_TF0PG8pU-!;hVw7Cu5Ji&v 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 z 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 N{{ur04|eKu5CG3{cx?ax diff --git a/src/libxr/pin_data/stm32-N6.json.gz b/src/libxr/pin_data/stm32-N6.json.gz index 84f2a54038cc5d2a31e267d3026a6bc7bbcd3be7..1dc11afddffd40d6e0f6e36759032dd27636c1f6 100644 GIT binary patch literal 13960 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
5{Giq&uagWf(#_hVGK?kbBm;e{jxz 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 literal 4995 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 diff --git a/src/libxr/pin_data/stm32-U3.json.gz b/src/libxr/pin_data/stm32-U3.json.gz index 707351ef8a8f660692f76911527721b6597aaca0..62dbb7db8cc5e3c238eb173c9af406c346189185 100644 GIT binary patch literal 21049 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
sPscsZemZD@%Q6a*c*xo?A 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 literal 19378 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�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 F{|{O2Q?~#B literal 37728 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

DNmM*^JxRuTyaiO}*fMy75uhv%b*ysQcHk^9(EU zs^ENBwPBfyTo_BDvd1#$lrcf*XqhA=b4)F_x5o4;%9YIItCwPBrlnR+C`36S5aldW zVHoE*Uf7Xwzn)4sUuuDZFG2CZ^_s+$+~i!{;S8lmL6Z^O^=6lRSzYbL>Mc1e0)n0AKy}rWkf={{nS1rq}PwF z3zp`aW+zE_V^tCVnvj@2u+>ztB%G#*MjzW~s>Ddndqp_a6;WD6(Dv9yePm*f?$fux z>l{fO7L1)hid6&0PKg@MlAwmqmt(KR;M8zQQ^Sd+LKBBoWLwWi4KEjqHZr5~rM}6O zGLRTpV=y{6`+mImw~63h+wUny;{}^*nT-uMn&UGpr zi{pN01~yo3aJuM0ivuoV^k&^eoURb!qu8ZTX&&ufyZHdZf1} z$|bY}`O)K75NDotFe!4*^USD3qik~2(?V@Ic>|S)bjNOZ&bI>k! zAL}im!sWVUC$tOq&RMQK42w%%QGt=AU8EnRm|Y<67_&>W>&=a@x!?{r7SiuZIQ)=$ zpJ8b5m9Hz6_9|8dm6u7A~WWSZhNUj>?QXFO;f2%Z|YXrS2oFt2k(zTUkw;zeRXAw zR$n$~Ac_nW2LpXpXT$W@n)WrrCQ9Qf7u=!aMc(aG4oT<&k*$+<0i09flbTf1Lz%`Y zf)`&f!Hchh;Keg0c=22bUV;$F34-7yawT|)ED2s>Wdtv=RDzdS0>MkHir^)(CU}W~ zVd@Ay8cslq6r%CF*GT`FLIE#%8sala+;Jsw$CWA>DYMi`Hjm_t3Ts);sJ>9e+&V_Y zFXh>{L&{Tr8cf7OrK!28VNygdR7tuQsuZo&QJOL_C_@mYh@^j=Yy(n5)?y#c*44^J z{?b_OVni&ZCS%qz4Lz4usY~~?PFL@Zgsemb{JI=dsfP%w#4NCgt{Po_Z-{Vf!{a+8 zBACW-;~6=Jz0jyB{KQ6o(@t!N1I=S}(ZKl%B_t8AfFPf-gI18FGeXWvNnGa!2EfI7`J}+tz|8}c&S%Wf1r*4y3NQtz vmVd-X1{9?)0bmKDSOCr%1We5^1;Hq73kXi^wL(O}))Wf>^%E)9 diff --git a/src/libxr/pin_data/stm32-WB0.json.gz b/src/libxr/pin_data/stm32-WB0.json.gz index 0cc4ce323ef1fee7ec973051da9f9e3229767c5b..6175d9df51f448cc70685a3285f3a91e9656c534 100644 GIT binary patch delta 2129 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 H$5;RWcG@8E delta 2046 zcmV``zA}4qu7#NOK~y;h2SLKFbrsm?O_i^ z|NAIXl1b`NHd2euy1oR8WSv7Ep3C=9hhHZs@X0jTAD+F*`>&HP`{zIRzaJ*=C%fcB zvdIaayqkRaYA1+=bf` zRpmqd#{IUsU*2u%_qJi2uB$LF=XoAhXDTdT-YuvMwTFa!CLi7`x4vLj2GdKTLD*ckH(KSs=2U+xIOr zH80szyhY)_;g{JgY%IFj#T6e$Cpj2cy{uh5En#Z@i5)Qn0u0=5M6rnyEL2NgD9I3| z4oL~e;BKDcT1VMp8Khv6gp0c6gC^>7xLi8@V}A;d%5;~Ozk&(0S06>8^1zG()@To^ z6&@V7NYzD!V-`KP#@uCB55SXJ@~$X=C-sbX$qaZB2t8r7i^5IsDNj5_nd=XTa0(YF zWyEB47cz#cMzypE5#LxE~VOqQpRGOA}Q(DWRn>G|a2w|5iQf7uhC`plaZY`rPQv)3 zx+*>BS?K2NP}3WK1YUPbEs>F1&la0oqJOh^$I`V)`j!o};6AH(*b1AN){2UEl5*Sg z%T)tu)1>xC{b`2Idd8d$nf<*NIJ>RU$=-e-{ko&(g49t`T)Ji-!scSKQ&)XHz+vk@~lwi>{}Gap2%&`g+SN7CFwvW>Dckt$CfAWZ^Dk3J?d z(_!{Rsv~NoM>wKd4)9>|#YpnHTz~TL+*k@4YK4Z~5dw>R{F0*!R47SyF9Gm@8E8OS z5VjDx1^^<$_lV}Xq5O6NQbA^kH_g>#5H&!N8i1CRdpglxCt8mc!Q=qy9^)R7(^f&s zK^m)*RVlNOB1#$pITy@y^C2gZjZ(~7pOE2>q+hsO(BCCc@)>quN2W%68h-=~OWmBwXe$uc9km%$-q9=B`fN&SPt^ z+t0lrh^~P0&Q0)1gbt^#`F|kFRYLb9F*C>k`} zryvO(q8VaiBXl(f9>A#G&fO6;WJg~f0IrEQM1GIZL8rfHnEoz|#D8I=WeZ}aWs5UD ztu2Jr{6VV?00-2g$z5VUWyNM^1>PD`c7%H6VsLlJH+&d)d44|p=6}%r^8sr5puy>; zj}f3Yz7oBzWZ?MGyk z@`mUr`5s*qRWZ1sr)_5kTKYLPFVXUH73hKyye}(K z%`oD^#DwK|E8k}Q8n*#PP4%%@rK10P*TU$3x-^@6hjl{GyB|2K5%}-KG z$Rl~N#eHhpyC=r>BjTApP!Jz>7ZRA-i>B}k)G>U7piP4rGFKL*xMBi8p@ED*8#d|~ zdJVelpg;p1{q*8q_EJfil}%$h)-E1(NB+7)y>Y+pP~Ym;9e)~(_;shIrx;J4_j?q$ zuRfFTlb*gcdU`FEWO1wVDm&-FwJFkc9ERkK!;sKL84|Y7kp8P@2fi0p!v_m4467Ym zuo^gDa5-3wjp!K@W5Yc)HtD;@#(vL$hOs}`qaTb6w;Fad8r(9RB^V2C8BP;iteM7m ze1IH$fBN+F@^`ZTQI8M&?C>Az@E_$=#s9SR{|D{6M^``5kX+z6%5@F`SnQ);;Mbgw zSa@%z$KJJg&f(VBd~j=QPre=DaL016$zy4)aesAQ1I)^5 diff --git a/src/libxr/pin_data/stm32-WB1.json.gz b/src/libxr/pin_data/stm32-WB1.json.gz index 45d9b7186347ba278b411615f8017711f8ec2e13..71d4f7a59064ce19e2bb6f7ed3500523fd97dea1 100644 GIT binary patch delta 1764 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 ABme*a delta 1163 zcmV;61a$l036%+u8h=;OZqqOn{g*s%qE4JP-J6rN5ZW{*PRFKciV$=NAu$9SQjUA(B|>!8lE z));-sizg_>ONzVCi? z1gc}5=YVDrtA94+Y~nCeY=D*~Ya3Q_MZUNc?c3Fs>z%{l5MjG$YU>PS0-$6Bs=g6F zt4!5N1TPdps{u2#fd~MFBcPeSG<^r%;phMq*+8Hl7L9auz0i_xY6s8w=oI(i3N$V=@^xCKxH8+pMT!cl@lEV1jlA$tgy$bMBx`5 zaj<59m5i}smo0T`WmXwb@^LFz-N+v+8#Mvc`51N3Q6F4dI~u9Eu#rIJsi7k{6Y0(* zbuOR6eU}+dFnC6$q|RP1)!*{=%WZ+yux!;3PEe5NLe$IA(g-0vZ5xnnt&jTuLG2$}C&XY+jI7;?Sy$nAlDX zhOjV#$#_Tn1JXmFCr2`11 zVEQR_F9+`(p)oaE@;c<=DHa#;o!nyBxq_Iw`#5}K;W71=EgBdpw5@yEr2)U?QV5B3 z=6{W@{=8jf!O!!y54Bl`Y$h&$;L*gR#p~ZE!OcxL|B%e*H_^XabH3TKT#7+5D5jO(ruH6-P2OE?AgoMtSY&BF8k*p?f2!aI-R^5bfcpcyWQ6O zn1!zb4UO;V6tw2sArj52*kt0E^>VjAH-Gl5%{?`VcZltQ^|pJ1-PhZ7xE5IYxSIT) zJ#?+E_7M57$1&>mjzdfUb__*FuIo*`NI^zkt9YgcKntV~Kgnh94o_$d%!@SKaK95h zuyt@^I`S4cW=mmP%l`($YA`HAenPX+1rgL|y(_sD@4bDzs58Q6j!-q)B0?)EqeYf~+} z-Hv?sq=v^#PJdPNW9GWvhMoL&*ORse;Z|0Q=`29l>W;3 d{Cj#WQ#p_7yUYuI#vbhVA7une00j9L002?7NDTl0 diff --git a/src/libxr/pin_data/stm32-WB5.json.gz b/src/libxr/pin_data/stm32-WB5.json.gz index 9a99c34b749932acb6ca27daa2af1f12ad0c4620..f4351fb1e04ad6d587e48056f4a12f5de8e41c0a 100644 GIT binary patch literal 3617 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 diff --git a/src/libxr/pin_data/stm32-WBA2.json.gz b/src/libxr/pin_data/stm32-WBA2.json.gz index 22c137d3155ba86494f5c2718757adf81b514ca5..983488d755e8c83c3b17289b0f8d7e6bc6d75bb9 100644 GIT binary patch delta 1647 zcmV-#29Wur4EGF>8-H5cZreBz{gpsZ4bY(GMV8z*iIQ!_wxo)3E(i+2ZQWwAizL{# z=mJImeR-2bT^rbLW4Q*BfFWhg8FFSgb3ES-@ZMYj>m9_%c>UdYT)qE$^=WOqHkRWz z<2b~2Mi((PUK)>o-G4S--`yF2{c}aBnvNg7t^YM%-o0f%?0?sQeAV+>RuNyF-?Xe^ zKIa1dir`hm77XeHAfsO9u&Fdyz>G{mKJ?Rs4VTnOQjn!LY&?mB$lxyu?jOH?VH45U zFLL1Aul{-X#0LJAAEwbV<-?maFoax_%XRERtm6@!1tAv|K!O+o4qzTLxqw07024y8 z1z}H1j2_5GV}B~p(l|g_;@##$N@j%)umGOy0(>ZdTQ%UY3_QM0vg_G0wsVXOOaXEc zP_9PmEMldz7&2L~K#U5+B&B_0w)3T*II1Sc5655+J?KviA>3;W?pgmLaeUoa3_!J1Z9p^5}CkC%nGTotT5YfdY!#XWDRKG}L;TZ0Djlo}36 z1f$piHGOPdAE@b*==z|-Omi))vKC_Jw+4;`xDkxgb2aq46aNrNk2{SzlalmzK*Ik;7Qwi@Vm z3eix87XcyhQjbz;$OkIWm-KB)}XlnZ2Ud%t;z{mdq~1QVoRkYNUBJ-UW_K z3xPQ61!ZtpF4O>LK`+D-UrAKBtXSvP5Nrtn*6s^w(lw9R?1i3_CF9HqQ+hqnQc`zM zsWX(>BhV5P&AzKe3v9xj!`tOvMKaXFDt`)Lwv`kauW)EtTVPx=>F1*bYw;rk_-ly()Ix+qg(!cl1>x;@}irxKWf2bo12Hs&a1K z3<(yV3pLN($r{Yos|az22<2sytUs^6=xdfh#{MiG?jN{A7fY&sn#N5P6dI}ODt~NR z#RIu2-dtPcda@*_oQtWr~nm8^I9!m7qbC6K5uYV*I>Ng36kDr7x+exV5F_KVL4>>6Nka?!jVbDy2 zgQuCmv(ilP_tQ-1*V9bxiIZaWj)C8h6k$*J4Pf<(-vIVO@f%?D{QSn?;Q0;EzuH_d zv4>ilL)1AOUwcyZEqJacRNrXOS$(7SZ-4ki^>;;_ zxM>YNwZa^YhIp`gKe9e{bWvnW>Yh3&erXZQb~vNa_|#Kz>Zv&ORP3XkyCUyJK~no{Kwd&>ePKjB9staRha_1~H#%-^A)9 z1U=m4W8SdUsy(}tEc8KpK=2g<+PG`J*|n&YX;>P=)+jT^9j_b@k7%FV8r%J+P$%Gk zZ^lUvQ;msvjJ)PVMTn+oHidmE2d4OdDyiwPr(1ao taUV1M%PHU4ur&di*}eR>V1Arb=)ApFo?ES7`n>(|<9|ci%)327005a7ESLZQ delta 1564 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 RV7~tP^*;bv#DnFr001*=nUVki literal 2788 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 diff --git a/src/libxr/pin_data/stm32-WBA6.json.gz b/src/libxr/pin_data/stm32-WBA6.json.gz index 26a32b4feef8dd7e9b7f081836b0b4629388b721..62db71d95d6c29f73fbb0a7bf753297924bdcd63 100644 GIT binary patch literal 5681 zcma*pWm6OYqXl3<8fl58kyK!5mTu_~79>}?yOB=GC55F0R?3x-?o>LYYv~k$rICKU zcjnH#AMg2ee!!V|4r2l?F516fJb8J$2nz5R$jgZU9lhLK(T*TS>02UckGz*cHS7d!||*{>8!3Crk)MBq+Q~izCU}C-D@1WnPU@q zP0fT_IUS(vVEKTuU9I%03Be20+?62*7K#Z&A#czEu^hu^y_FLMOCjWej~(&U!D>=s~|hyNbmaqTEMxmUdH+y!&Zfw^YJH2o$`IzxR@C zjO8W6wV^1L$D(L^2NMsm#$k7sgUGJ?`NMB;W2U1mFEYryx~h}_iK!0XmPo{v7;U+f zIl7RJ=!t)G)4H5r>uTrgq}k+GMtrF6vnAw8&8>OrXi64gPsg|iTa=axu8n7N7fw#~ ze@w4!b+ehbU~J_u6f^L`#)HW3^pz86%4RJQ4`-pbF1BsjyoRML(91bk4H>@{@kQus zi54};j?W`SIisZ!9dTovP#571;kA_Q9 zKoAJnkkAoT=&vH;iNddXBd#2+ut-cC zuu@DxhZ}`5(og3%+Nb#=;_OSM^9Bs}n*tSWv*e7cwWwiU2VnT<;cJsnB&8MO`zNx~ zu5bKHXA@PSF$uelfeLY+7eb%2lQ+040tblKrw*u&&6*Ny0Z!bd2|KcnJWF1ap?nZ>dT%2W}Uxh z!&gY2pXz@LFhmIlkFH`}1>fUKg6a+7xMPs3xL_ZhtXzdW2VBb_ngx|Mnn^(t7BGRV_4Rr24@AXp}sZa zMgvOwmXLK1vlhz3VG4Xtsu%85Xnnmpj&oS$vc{1C>$Nc5g8eh2a0$<9p5{;&Poi@+ zG*p%RuVT0hz;t&84Y6<)ccv`xP``&uvB`^x3$fdI95P zFzdprzqgF1$3B8E8oy3+)tRvgO5$C)g{gUQpLfa@F5c@ai(jwj=5k-UIgSugz_Y*- z!f|%W^~Y*DkgS7N$aP>cWh`6h`#9F5@+Y#yen8IU;J0gF25-d=xS? z4#}L^k=u&xZ<<5mAEN|rM=7aY8_H)82ZKU>i3dJKY;KX3Yz>o%%Hm=Lo09;kjO+c& zo-fj#F;KIg6Fe3YM?aPgj$9i0+f3y}-53~*N+hNN7Sy%CDf|>RNZW=o$1N@_Xwsi+ zhBTrIGHMP4Zc|CTid&R8?9eh*F)cK6wLQAm_yF_LZe3@NDU~+S zwzx9c@giw@YAG*#g4Cd#xR?=_D6?O4fo3-oE-7YvJQ7qR;SUj{uRK?y1Gnpg!!a6K z0OsWO8t4Eia?Zm3)8j)6YL;*seO~{B%Wq}fZLsf@`&X)kD;(X{I_?O0LNF=9tm5|s zb4+8+H*Pn3h=s}sP6x}TJEUsnmq>yXx{$U4o=XwJNF7V2{;@Xh|APLtJeaD30S^t|~=`d?^CVGH*juq(Yd% zjp?|qpNH>~W<-(_9nSlao$ll)BD?I(M>D5hLJ{NRL+rJ&-e~({9l>MJ#YX)uVVC^s z4uHp^1!}VW6{kWaU7rIMTiftcL8LHI63Z~yHB@jl45L^0Kx@ejYH~ujyXhut@l#L4 z+XmYJC$Sg0Tip7_uWUOe@7aU0rE7RgB3relltQVx)d%&!y#}|I;-Uu3h^Y*?{#DdB zyl+g$`lV#fQ{z2dJmu5|8&oiexlgy=R;k?eU|@C7LeoW^OR(275r1jC$X=7i`(9CV zLuZCpXN$^f+-n1CDa9De4zRp!GUx2*ewix0G_(eU|45bYG9!f>0x6I6x#m?|4Me!A z(?8Ee%?Z%&>MZ_ZUe;DG7vCH|B+89O=68qVeBf-A+H93hn?zx)A*0GJVtoY2r_O19 zyPciCTyb83+^t!+q}&N?K` zB+LYU;OS)Q92POmi%POTDjv*P=4Mo)nw@D^6G;u!jYX!5Y?Jy7(IqUbaVviIG5nrq zJc!o5kn;CD#A18g@(baQjJ8-lK2ob=)>~hVFfS^8JJkAlRF56o1_2?7EMDv%c%&a1 zV@JYgjOJa)H&8c+@>qaE2&$XEk%5Tr8Lk7n`+bsTr&an^+=V}S{UKWU;b>`yl;@3T z_Zj_{pf)C(y}%Q!i`wcabX57S#8)v(y}D(|U`_P#0k(UW*g&EJaU-0hkh-pg&s{<1 z1(gD#w+^%gWYr9``8p6vm%Sa0m9HhfW8IZuT7bQcr2MyE#g%G3cRlV0FHEz&KLAeqG2|a7ESbc-_6muLeR@-%pE;|1jnQSSRt5 zJDVbA*Ovre7NJ_3SH?emkUs#&rcBoOfDZDzbWlNqPkjEHmrhsFtv8FCJxn2ku6(R! zL5Niok|G&lPom^D5ZBF>*4Vej)X90F#l>k4D-<%-8oYYLZUtl$yCJSZZDYqabcQ?HRngXGBR*BktLt* z!^wVPfmz_iZ6S!UrEm9$l}c;2-#{(#l}^eM_Fj?(vj zwpIy=T{7gvdlWO4T|x5W&%a4|de*^mW}y%FKWl5~JOJFbxbT2?q^zQEGJE5uqU|iP zvvt@wczD<_fs}e2zn-4!7OOqaO5>tV@U1Qk%FATmdrp^Zm;o~^j23d0AE4!qHTS7T z!o)27ezn`SzP=Q6$p}F6{G%!tUXV;-POhT)PbS`fGU=QiS~UNY$&9x=@$&wEWa^@{ z&mIoG<|HEl0<&8nWKQe zJuX@%r!XxVI}u{vZHPOZD~cimGFh?T@XW3slX;V;zRsBc`xyUnvz)8Y7O%8|O?b>8 zaMF}k!DZ-Si>YHtcF1~T5R@UXV6ey8Q90Hx^-OrD{RbKq&=s0{w#EPr9jXu_-aX}Q zi4%{D%@Gc;Ivi;bkNIs}$v6M+&^hp^sy0r}IsHm-e2U`6t!8U)+SO0_Zq@AngRkt~o^}=X&oY!p__*0`yfl z`-a|G_jKBZT>YW9J$^@ZT_%wf+}O^3nfan5;zo8<^6g6kt~wH+ik(UlpgEM4mf89&)+?eF8QhuXr$w^-q=)7#Dg;GK{gadEoZ8Eeu4 zelJI#ffE&E&!BAD^J4b4@}gh!nCin7EO@DRlxo8ttgcVx2!)_gJqNnf%}?AI3!$PK8r)u}dqpVv8NMF)EMHa_ zQB>aaHendIiUOfF%S({;oHkt!DNRlE#s#QvQ5EOTSbljWD)0g-otC~?#KQdBpDYF} zZm5FZFh)ofy%cB_D-h-w964a~D>X)Yx=7G$A@fY5LDnDcSedz;BM+?$mad%$Zpw(sF?>Q(W(U?)h-gVH?WvX$h)uuJ&i?loLsUnS2 z=(Z7*IwQR%0C<6!GbcyIiiy;im8?0i=aW@oH10TnfNM+~ohLu-;#Z%EfO*R7Us(d` zqyN&VM1KWig#GD$D@m0bo|ZP*JvNKjHQkfz!yXiSQWF6*CJ#7wrkX)c)$m(s(OkiQwpYM^)M|E8jRP?>o~vq{E0z zGS*AFb=@s5*;sJAP~{;kdrGuP0IzzGs|LO=FOn7*H=z*OQFdnNA zFXbZ{z6UJ;t>5(V`2;zcFTs)-@{CspassraCp*5h!WxfDtYmlG*62YjlLl5yoixwn zGD|+h2%&0rSN#8u4i+oab*0)6_g5%o3I;q%*CLy!{KC22JU#3Or}kfIx;lIrdWcC; z(*E5nBrX6=(uBjOnIJ`Pq9n&a!f8D;L*`KH8YKZk7QnaE=W{C9POOoTF$t(?jS^6i xg$ioLKngXD{oh`kN-#MXZNDuq@D-`m6gQVA)V~aakh@jrpum}bsWwJp|j37 zT0s0o`FDLf3JNpv|BG~kp zOaG6Ybqm|jRBK^WiD2r1@426RiAV$4N@CgFJ69@KN+F{S-Yg#M3DOgxTTtqjaJn%S zV<(hzGF4nL++%ZlwljwfE&dmH(Rf`~+~7NO_oNXliC*(fw0v%J`wwe>*MZ;LDQnfSkJ4^c zZ`z3J|@5Q~EqT82x z^U)2+&CpSI8FTCImd<`BpT!yQwn3O7wC~4B-eP2Xy`{H%<7?=Bb4qnYW=EtiXso?+ zj)f-AEdIBYovrA}RqAW~BnYicFoImtxk@I;JCO+kXjueS*!PPlbq5|SEMw|h?NH)$ z9-AWCEa}EZ6xRwOlL*YUSoAfn9TI+axq}$EDV#^CXU4S4##GO_fp+_TBT-MO)*NqP zi(aPh`RskFDbs4@Si0&A86R7lr1Pb8){eL3Z3{=YqJGC&!k&yw?cVyffBfU}My$;(?Ihz60jRhs+Z5b>%-0+8fi}D~-}N z*j9}z^od*h(%+uOBq8m=w@1%2XdXy}Jq&Naie^zoSa{5?-8bX1dUhGV7Tx8Q(Z z+n1Rn7MVYFHms-EQY(Z4YykcJh!!zkVlY0gZ5Woz zr8%lRF^>pjN6IP_QYxa}+}^~DB^yJZ+nR~o%-B0DexX>-lg}5Na!_w0W0PY|;CF=K zP7J!IEnMGT-$6qNnlwV!iHu`~$wNb`^+APLu@@bfNsFtC2H>-q4Pkr1cSLb1HO-zS zZKy%D2tV;BV+pEPaSVj>X^77+i843``*>|E?FgZ>YH#`T0~{Scj#V#wz$69_ZVrUx zTDkd*HX!mbp5Icu;k;D@J{!9E-bhiWUJpjHX1h4t>dKw}UGJu9nLz)w%!)BaYhgdZ zSyYl~*7yz2NuMUXe@Ur&33q0ADdqNWyj70OFRcM`kko*|f%0!_eAxhhi|W9X#=EItj0N#HQDiYPMeyQY;_5 zTm%T^Q4=Jqb~%UdozlW}#rVR!7q!$RbhG)Ab~b}91-?n|kv2YG5{tR@!|6q)YgPQ6 z%?L@}LMyK|Ahi=*IE5fj1g)}yUiJ$}a6S{Y-R=`tQ432;-+ z2Q9px;``CO9`57w5^!a;`-sj@Eg1vUes?1b126Zr zisViTB+e;IJLF0_&L5EX(*H~VFKW!h=jbdiPP)ef#c9(%kEqqx6}Y$WWiyu&N~sgO zed$C_ z$phg8Pog7C9Ng*o7ru|%b8k(-GqP(uQaSpw z)L2SWoaz?shRHp6m3+4I4&#~S#w3_aWkTEfBh9Io>sGQhPQjZEJxn2Z=4(c6O(MH@ ziWiXOf0ZMHWT(k$Ar0B@imnwf_D1{)_8gO89KCvAATab`pYvF8@ntK|c_-Uzioc9{ zzZa#ReGj7N@(>)L64sgZP6eS|7&~Yr0(dI2iKUdS>S-o}Mx?&Wg)Dg(igk`UAGKYq z#Mx2Yai6$38FxJOttJPmAFW^xpesz;eZ2|eP>4HEC&r4knWGTKP zOYCVUm}7I;XPV7u6qGA7YW#4e5;QDvg;Ykt-!K~C&F7P}&(uKP$yDj1mgE=o2!dq6F+ihbc(X5R$h6N4k(wZyfH66PjxwD9E7;V6^wGx9gGLV<1Q+N zEy?e!=vyqmt#bE#{$p8c<>jLrk^4wwwkO9w1$t{1-9L#Ud?30xLS=}|_4A_K zeb{A~@(ZhOs~C{iI7KuY?YU>pNbSslP0mPC$L9fN=`H}EP-O zo}b4|OtP)!qvqPR!R+3U%u`7o;W>(fiG37rpKM$FG|LaxeiwN2E)0N{}GyCb8$U^myK<=Uf&cg|Uz>9q>qJ(puyO^g-y zFTkmqsK%genC1;WMpcSHY3=w#;NoPQJ{6USx)@l;TAjumX!DPyNV zba8yE(WEnp102Zw`mf7PhYmiz2*rB#xT9l;6{y_dzw@k>{RRI3g{VTt?3$yC=8qLxs$SG@ z4+-l5By)uIx6*CrvD55j`~TU%aii#y7`pD;ubEfb)62z-O`(KKMq0S!n5(QN<4n-a z^q-!Re|(pJdNLw3J&#Clz(g&7r(Dcb_t|k2y8CP7v)`X*(ofG5qaswTso(As`T$Dm z$=YzSF!uijV+`Kze;qb^e0;_uFg@Q*4*{|Tpsg)BdB=leu7uYcVg@_*i}Lm;Vi#`B zJ03)$l^6&Xi3#2jI8YND5XJ%sn#c&w3HsRoH@wX!cIY+Enz|5vnYCp53@9U?7a`-< zwg4SPxQpi3_Lv!F8$h(Hz^||)!vPE_Anz`PBUH?^>_5*XlaMdpA;2FVgP2qoQRJdw98=;$j$jY3$bA>AzY>c7hAiSqpD6gOnPtM<*MqYT_ z`cIu>=5Oi3a%eF@zf*k0*J9(a8+V3T+88&kci#$*oR|35Ml#7_a{Ivf3(QHMu5 zHU@RCjFlw?*vaXiGDT5y17;#Ald@a2Ft)dkKF~EXt&XKrf%hKj!DmBa_qL=X*Q6z; zFd*az%O(5R%|$Rl&kyzF0^1`fEtW}Ol`J~=cT|F3kki0SQW78NKHYTgI)FdSG9D#3 z(DgLVT}wVBdEJtx7hXypZO%$IVutcPRCO&3)#o!U4&1-L?-(w|r72A_RWr`#(g2dZlg#L{TH4`TKd8*Zy4Jd6kiy?PDarPdE#WW+Eo(mWV8>X z`S)$Qv1y>~EDkqM>LtQ}U8lRMtIw$l{M1bB5K1=>cSO7RsXcG*{@Q%I*Dkd6^wTt0 z5UhRBp8tIOu3g;TYKVOZ-1LV-#gmN46Fj|c+lkg^qCZAT5g_n*mI~m_3-fZa= zW-I+_=y}Q9TkhsT86aV8fa&Oiky-T$ zAL|a7Sy?eV!?lcYuLUE74+TLQXEPpW>CrOs2+k&>I@UL?OCHw@iD{tjEGwzQVZKNgTe#t9(=pf{{ZwIfVH*SiH^x_j;A03h%$)zerh(Tj3Zh zS4{Csmw$_~BKx6qNwO*V7^uE#^NXr0j>xFtRPmcQjWFgz5j69s$0uKQEf1#sy-3{4 z=f8R@JH5YCY%@rasL6f<8HHC3B@HaRXH{28C@;$NdN@s7FZS1d{JE5zr7)^zJcYgp zqgXNZ*bq}6soaTEXRl{B>WeAZbrh*DroLWJM}O*z+})lVD6SEaPjm$jNqx1OHJ&N< zQz-8??joKn7A~U*e(Zge=2kCpm6KN@$58Q`YnWmgfn21PDD(a?J z7*md?%nEQR>>J3*Uw(biw)SR=HU_q~Dh^6*;Gper(2)wgF0GmZ8z2HZDx{i1&O4Q; zj(@1aovFF8n||=-qt$eJ2o^2Tqx$r8WGJSA$jL*tXB6q;32anKTs~&zB5x+gNMj;E zuuyt{48bZpml=X`4q0bpjMP*{e5;y6h-~8knJV#ak#*}C z5E5G&nPO8pL7xc0tRR63IwMoUlgD8VNPnE!t%)&*!@u4mXb zk5w!hzarwe=1___E(i{aI4%hei8w9^lp;>(fkPtBt|8)_|108%UKVk}@#6x~ZbQ#y z8o*Lo?oirg+#exj66TDqkZVzM1T?Eh=*lVJmJ6FL?nl86YGc)C-xB~PMjl3oa#rEI7Nq*IL#^~(&kZAU~-bJ`nxvcq(s;w zReM5cm81EDkhhAN7o~gPsO0T>Kbw{0rIfFT&iY#kHQOwP6n*ygx(KzJs*4mo z-9U+i+KrV+N-3f7a*4C0_^Y8?CV#Z-`fAy=D%_!a2i?0`-Mg+t^?PmP^{Ex1sn>E- zuPZ%R?eF!Y2cgvmt-jt`edwMd`gLPbr`cAYk0Z7)_y}g+n5E`RG$cmL;mPRm8FmG| zCF3k~p@+yle;wt3ObHO}y2+Sfpb`e$P47_zkAK+9Tkk{i zN#~nQHcF$A>-ug^R+E(+2z|9Ii;>De5y?QueatLQ^+RqOR7+D1ZE39)b3VJtl2)D3 zeg9KfcFHNIjaDd|1)R-7OI=Z6p+KGAXMNu@zM z_2hPHmSXf?JFCULpM?j8c7H3hTcO?BOuJRqfLw5~G=dazcfbGd2#?-ccXkIU*c+CU z5nqQbHE`vw52Osy{Cw451w_9{? z+(E4kYHd(!gIXKZ+Mw13wKk}=L9GpHZD(I=gNhnd)S#jU6*Z`+L4QRJDr!(s>!6~B zsYPspj62lqlNV4?Yx^OM&WbU{pbI4CAnPO6aLOb08C6G|vnY7MfxhvPw5a)DfuucE70M>*>2%U|b$il1 ztoDCDe~@4s(4X0&Miqk(*`AzwNty(5I3F0tlVnFjm5QimY!whi!Um}YCR5qx!ex+O<}^IrjC{I?xuklrF`2_6YxN|vhsbwp`TBq}3rKXw zX>dQM^0Lj3%|F{s#;#|g<-;@t!-wK#8mrq9&_zk^;Wlkt~P*+>-yX$*-Y zc~~Yd-+x{b(Z4KQ{D*-5kU6ROJ93!+jHfc7Nf~IDq{8fOpM3(ke+SLwm5EE0p3g>Q z5EaQHDSlVdgb+nRGF3Xw@nSy*pnl&4=;mi=|*W5<2=v<%>Qh5;l72z7SZ!Wxu{ z2jW%%X%9*}T?-1Kqj52n6$kW7GzsUUQJYRjse=k0gs$cWkhqCNVXj=!RT>a>X99_= zJbxOCLD`RuI0ZN@b+|5_!opFCc<*4v3w&Q>#jAR^XvItZ+1RQg0<2vh$8#3PaJQun zD#XHfyl^##aKR=`DpG-qBekaTY6_27hxHZ=PQ{7dah&KkIFW~K627{ok6}h=@5zje zw@5;U4RnC7!6aj*CQLHm(ZeJ|9xY5VXNj{G(XckDI_cR&k;J5?7WWGor;#Qe~7x?HOr#D$@zFn>;S z>S9orlEd@An4iW`PE%&6xLmlV8oda4MiX2mIXSq`=0o<=8-0i~=&BEqz57;6;&`34 zB+6bms6D~!rp2*F#@&cxnodEUa4K8~FQZvNdXNcJecQ)slJ#eQP zZGQIA=En0k$iraicRSilU{01EGk0?qG=$&gg zO4Ji`Tp>!R>zOHw#(iFE!-6)a)1hjmz!4O{4rZ-9V7y+uZ|=%`!LndwpDS(XUWc*G z9Vt4$ml3TTdZG~tS9dwLtpabidGmB5Tyd=kD^pHM^Ym*6~^9r=?+Mq==9+()5P}LXu0R>kMQZ+qrr)~ zBk!X$NB;SHqsx9Qt*>@L^Mu+#?Sgr5t;1&F)o0jxZ5A%}!M1*&?SI|RyLC!x?|&k$ zTRb}y$sE^q;Tj`skjx;NK{A762FcEdWQM&Adl~lnEbL|5>ovwp?DxlBCt$2ge$BDY z9j7OyBk-uMxqGqE|M?Y2fqX>7F)u*&^#Wvf{}koZ%$<5+9O+3B^M>R{ctf)Pw;~TE s3jl2wt=8^xWyr#ig&QFYLl&QcEDS;zgfIxv1w#D#51;-Xw=G@(05zRU2LJ#7 diff --git a/src/libxr/pin_data/stm32-WL4.json.gz b/src/libxr/pin_data/stm32-WL4.json.gz index d631409b54f8370fd09f10e37fb18718270bcb98..5b17fc14e83a307189bdf98ebe2528bc9febe23a 100644 GIT binary patch literal 2671 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 diff --git a/src/libxr/pin_data/stm32-WL5.json.gz b/src/libxr/pin_data/stm32-WL5.json.gz index 38c7f665e707ca524b3c8b2c9693bf72bb2f2692..cde30f477f92a5af5f5841de6e9f722aeac504cc 100644 GIT binary patch delta 2075 zcmV+$2;}#_51kN@8Gr3t-;;_;JbIf*|W*(uai%A@Bg^_ct3eP z*+suZ+l}c=UQIsz{_uJ7`t92Z;vcrY!T*haPA0G3PP~BT@qY&MFKDvfBL2Kq&saSN zp}(8w%PdHy>^iBwNTX?x`QrDk)BO5sw=I4(&1jx^>n;D=;v?I}C};GFKW6b7=X6o* zv}0bHp*#rd=QLyd!+aYjlUpuT{P5}TFZ_$-?=SMfd${}a@gsi-_u(c>c3JUwlf{$U z;&m*vGTT}intxVXO{=Y@Rmw75rB#rm!JFcTFg0=(c%>5Sm?csRWas`>ys2fULU#3G z!-gng2t}+~5h=2Kjf=#Mx%La0R@*`nt_!LJOjxW0By9n&28d(|kw`6)6oam6DZ(tR zcBTuY?VQ~V*x3?0+wGl$hW=PN;C3J6LT7nGN(}K*(|;K05Rr%w$>}skrGL3EclOPI zy$Z#*-mK{hNcnEu&G( zH7F*~On=B_=pM*$z83bV40Tg)Y-$D>v~h8I`yeQ`fBfhEFTOSZS}utg^vw40vYkI) z{L0U3%DtyNN)Z{_hti~lXYwapp0ISd(iMj!FeH+yXTjoeZ)!*+!$5O1{)n{-&=E67 z3n$X6M_}QKZL9o`>j2qlwWnR78fi$SzoR7-X@A(W`yxS;mRF%lT0>>Vc73v&SrQEr zPo!keX$6Fe2i?JVOs+*piqotz2vWkFqE;fAvt8{pJ(?HmZk6DKMQRzv(={u_l5T$} zAwE$}MTMa@67;0^pYOluaV&D)!kGF=l4*74XjE4GMjFL=fw$I=507!8?S_$B-E^*E zv45K6tL{HG)bgTxxrnMg2L)b7y26&sWZjE}J0*-tEK&Wi@E-Mb^{TC2m3kk(TYO)= z?8r^isB2TVTts`z>UhBrS>K;c`Ad05Z<20Mz*p7c(fCvL2e^%-O#n%+b?nU6Tc(5O z22zzfX{r5a5hd71xB3LLXp^}7gB9v>$qJ&UWx#9)!oz&F+ZqLZo+oT~2>*5t?;7+Tu zTImuh;aVs2Y5FW#)X;&WJG$`xj=iZwuNxi%XuEXye9G?DkR=WsbnULz$F3Rg&VPeA zY2k!8Rgrh}=EX7ZeJ|@uO9IzZU9hs*z%`_6^&Qp6K_+qK&gPUSS_8{$twd1ixBT|# zzIP_Ku+$a`)wK5*W?fUE>aJ2`N?45!t~Er`DbJl=@pGrEtM2=OfzqiYXB|j@fY{e> zR)V-0_FC>gErvEtur)D7t&jYoG=Ft16Zx0Wvhe-Y4YVw3I%8eSx8GiI6mn-Gmtc-% zTK97P+_Me+T2A!Fz)uxc$GviT=D9t^vtU0KtwZGDO>>7IEf{!DoAF zP5tA!v{(vo$dlt_Turg%ro(Kql2UC@~#BmqO)h^?aA z8YFA8_fsU`NR(GPYYU;rS!uZrGY%^4ktn0o93C>!=x5831y3U*@_$S-ugLz+^euA! z!=P_2U59iMG>#Q-LEBje^;kCyq0Mg>OxXMqo9fscg5 zeB$Dd`k<&_OnaNGtMH?~E(^i8q=I)0EFpLa!%Of5r(hcUv46)PqO#S;L?-1Q12pEs zIP5y7*{XBd0pWkiDDK==u!(!=#%Sz!tz#kqpZ~5^@pUg^UL={hqnQ^;?(Mh<@%GuL z{O2YDU+9!yQjjm1(q*DEGUiHx^^0JbN-p-35+2NPQl(7mJhW4joSlE)^M5ZS`TU1S zv8D@?v#r_KXMcnidJ*Jk3y+WcXgwz*%Q7#8#wvTFagpmRa*^C;3ntTB4!i{S{siv* z3EcY=xc4V;?@vs437$F=0x!YVAh0zEYz-T>h7DW8hOJ@4*05n~*swKh*cvu$4I8$G z4O_#3t>M7daA0dVur(am8V+m?2eyU-Tf>2^;lS2#VH9h)ur*x38n@rR{R>d4W}=Bo F004_&A>9A~ delta 1980 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 H?wkPt3i)vP literal 17765 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 PinLayout: f"{model} 的封装是 {found['package']},不是 {package};STM32 的封装由型号决定", ) ) - pins = [Pin(position, name, kind, signals) for position, name, kind, signals in found["pins"]] + pins = [ + Pin(position, name, kind, signals, {"gpio_modes": modes} if modes else {}) + for position, name, kind, signals, modes in found["pins"] + ] return PinLayout("stm32", model, part, found["package"], data["source"], pins) @@ -252,30 +255,79 @@ def natural_key(name: str) -> list: return [int(part) if part.isdigit() else part for part in re.split(r"(\d+)", name)] +# 定时器的哪些功能是可以输出 PWM 的通道:类型 -> 功能的正则。 +# Which functions of a timer are channels that can output PWM: kind -> regex of the function. +PWM_CHANNELS = { + "TIM": r"CH\d+N?", + "LPTIM": r"OUT|CH\d+", + "HRTIM": r"CH[A-F]\d", + "TIMA": r"CCP\d+(_CMPL)?", + "TIMG": r"CCP\d+(_CMPL)?", +} + + +def gpio_port_and_line(pin_name: str) -> tuple[str, str] | None: + """引脚名的端口字母和线号:PA9 为 (A, 9),PC2_C 为 (C, 2);不是 P<字母><数字> 形式时为 None。 + The port letter and the line number of a pin name: (A, 9) for PA9, (C, 2) for PC2_C; None + when the name is not of the form P. + """ + match = re.match(r"P([A-Z])(\d+)", pin_name) + return (match.group(1), match.group(2)) if match else None + + +def pin_has_gpio(pin: Pin) -> bool: + """引脚能当普通 GPIO:ST 的信号里有 GPIO;TI 的信号里有引脚自己的名字(PA0)。 + Whether the pin can be a plain GPIO: ST lists GPIO among the signals, TI lists the name of + the pin itself (PA0). + """ + return "GPIO" in pin.signals or pin.name in pin.signals + + def peripheral_index(layout: PinLayout) -> dict: """布局中识别出的全部外设:实例名 -> 类型和各功能可选的引脚。 All the peripherals recognized in the layout: instance name -> kind and, per function, the pins that can carry it. + + 除信号名中的外设外,还有:GPIOA、GPIOB……(普通 GPIO,每条线 P0、P1……);EXTI(外部中断, + 线 LINE0……可选的引脚取自 ST 数据中 GPIO 的 EXTI 模式);可输出 PWM 的定时器带 + capabilities: [pwm]。 + Besides the peripherals in the signal names there are GPIOA, GPIOB, ... (plain GPIO, one + function P0, P1, ... per line); EXTI (external interrupts, lines LINE0, ..., the pins taken + from the EXTI mode of the GPIO in ST's data); and a timer that can output PWM carries + capabilities: [pwm]. """ recognize = RECOGNIZERS[layout.platform] found: dict[str, dict] = {} + + def add(instance: str, kind: str, function: str, pin: Pin) -> None: + """把 pin 记为外设 instance 的 function 可选的引脚。 + Record pin as one that can carry the function of the peripheral instance. + """ + entry = found.setdefault(instance, {"kind": kind, "signals": {}}) + entry["signals"].setdefault(function, []).append(pin.name) + for pin in layout.pins: for signal in pin.signals: recognized = recognize(signal) - if recognized is None: - continue - instance, kind, function = recognized - entry = found.setdefault(instance, {"kind": kind, "signals": {}}) - entry["signals"].setdefault(function, []).append(pin.name) - return { - instance: { - "kind": found[instance]["kind"], - "signals": dict( - sorted(found[instance]["signals"].items(), key=lambda s: natural_key(s[0])) - ), + if recognized is not None: + add(*recognized, pin) + port_line = gpio_port_and_line(pin.name) + if port_line is not None and pin_has_gpio(pin): + port, line = port_line + add(f"GPIO{port}", "GPIO", f"P{line}", pin) + if any(mode.startswith("EXTI") for mode in pin.extra.get("gpio_modes", [])): + add("EXTI", "EXTI", f"LINE{line}", pin) + index = {} + for instance in sorted(found, key=natural_key): + entry = found[instance] + index[instance] = { + "kind": entry["kind"], + "signals": dict(sorted(entry["signals"].items(), key=lambda s: natural_key(s[0]))), } - for instance in sorted(found, key=natural_key) - } + pattern = PWM_CHANNELS.get(entry["kind"]) + if pattern and any(re.fullmatch(pattern, function) for function in entry["signals"]): + index[instance]["capabilities"] = ["pwm"] + return index # 各平台:名称、型号前缀和布局函数。新平台在此加一行。 @@ -315,10 +367,10 @@ def layout_to_dict(layout: PinLayout) -> dict: the pins of an STM32G0 can be remapped, so PA9 and PA11 share one position, written PA11 [PA9] and PA9 [PA11]. - peripherals 列出从信号名识别出的全部外设(USART1、ETH、FMC……),每个功能可选的引脚都在 - 其中;它与 LibXR 是否有对应的外设无关。 - peripherals lists every peripheral recognized from the signal names (USART1, ETH, FMC, ...) - with the pins that can carry each function, whether or not LibXR has a matching peripheral. + peripherals 列出识别出的全部外设(USART1、ETH、FMC、GPIOA、EXTI……),每个功能可选的引脚 + 都在其中;它与 LibXR 是否有对应的外设无关。 + peripherals lists every peripheral recognized (USART1, ETH, FMC, GPIOA, EXTI, ...) with the + pins that can carry each function, whether or not LibXR has a matching peripheral. """ return { "model": layout.model, diff --git a/tests/test_pin_layout.py b/tests/test_pin_layout.py index 5676394..98ec298 100644 --- a/tests/test_pin_layout.py +++ b/tests/test_pin_layout.py @@ -209,6 +209,41 @@ def test_a_function_lists_the_pins_that_can_carry_it(self): uart0 = layout_to_dict(layout_pins("MSPM0G3507SPMR"))["peripherals"]["UART0"] self.assertEqual(sorted(uart0["signals"]["TX"]), ["PA0", "PA10", "PA28", "PB0"]) + def test_plain_gpio_is_listed_by_port_and_line(self): + for model, pin in (("STM32H723VGT6", "PA9"), ("MSPM0G3507SPMR", "PA9")): + with self.subTest(model=model): + gpio_a = layout_to_dict(layout_pins(model))["peripherals"]["GPIOA"] + self.assertEqual(gpio_a["kind"], "GPIO") + self.assertEqual(gpio_a["signals"]["P9"], [pin]) + + def test_external_interrupt_lines_list_the_pins_that_can_use_them(self): + # 线号等于引脚号:LINE9 可以来自任一端口的第 9 脚(ST 数据中 GPIO 带 EXTI 模式)。 + # The line number is the pin number: LINE9 can come from pin 9 of any port (the GPIO has + # the EXTI mode in ST's data). + peripherals = layout_to_dict(layout_pins("STM32H723VGT6"))["peripherals"] + self.assertEqual( + sorted(peripherals["EXTI"]["signals"]["LINE9"]), ["PA9", "PB9", "PC9", "PD9", "PE9"] + ) + info = layout_to_dict(layout_pins("STM32H723VGT6")) + modes = {pin["name"]: pin.get("gpio_modes") for pin in info["pins"]} + self.assertIn("EXTI", modes["PE2"]) + self.assertIsNone(modes["NRST"]) + + def test_the_ti_data_does_not_say_which_pins_have_interrupts(self): + # TI 的器件数据没有这一项,所以不列出 EXTI,而不是猜测。 + # TI's device data has no such field, so EXTI is not listed rather than guessed. + peripherals = layout_to_dict(layout_pins("MSPM0G3507SPMR"))["peripherals"] + self.assertNotIn("EXTI", peripherals) + + def test_timers_with_output_channels_are_marked_pwm(self): + peripherals = layout_to_dict(layout_pins("STM32H723VGT6"))["peripherals"] + self.assertEqual(peripherals["TIM1"]["capabilities"], ["pwm"]) + self.assertEqual(peripherals["LPTIM1"]["capabilities"], ["pwm"]) + self.assertNotIn("capabilities", peripherals["USART1"]) + ti = layout_to_dict(layout_pins("MSPM0G3507SPMR"))["peripherals"] + self.assertEqual(ti["TIMA0"]["capabilities"], ["pwm"]) + self.assertNotIn("capabilities", ti["UART0"]) + def test_peripherals_sort_naturally(self): names = list(layout_to_dict(layout_pins("STM32H723VGT6"))["peripherals"]) self.assertLess(names.index("USART2"), names.index("USART10")) @@ -220,7 +255,7 @@ def test_every_signal_in_the_data_is_recognized_except_plain_gpio(self): st = pin_layout.load_data("stm32")["parts"] for shard in {shard for shard, _ in st.values()}: for pin_set in pin_layout.load_stm32_shard(shard).values(): - for _, _, _, signals in pin_set["pins"]: + for _, _, _, signals, _ in pin_set["pins"]: for signal in signals: if signal != "GPIO": self.assertIsNotNone(pin_layout.recognize_stm32(signal), signal) From fcb0e4f98dc03ca2eb62624688240427a96830da Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Mon, 5 Oct 2026 16:19:08 +0100 Subject: [PATCH 07/34] Overlay the signals of a project in libxr pins -d libxr pins -d reads what the project has selected and adds a project section to the layout: for each pin the signal, the peripheral, the function and the GPIO label, and for each peripheral its pins. An STM32 comes from the CubeMX .ioc (model, Pxn.Signal, Mcu.IPn); the forms CubeMX writes that differ from ST's names are resolved (GPIO_Output, GPXTIn, S_TIM2_CH1_ETR, ADCx_INP19 with the enabled ADC, FMC_D2_DA2, ETH_TXD1, SharedAnalog_*). An MSPM0 comes from the ti_msp_dl_config.h of SysConfig (CONFIG_MSPM0..., the IOMUX_PINCMn_PF_ macros and the _IOMUX GPIO labels); its package is given with --package. An STM32 peripheral is also tied to its section and key in libxr_config.yaml, with the current parameters (-c chooses the file). The model is optional with -d. All 18723 selected signals of 5111 CubeMX example projects resolve to a signal of their pin. The package data test found pyproject.toml from the installed package, which CI runs the tests on; it now finds it from the test file. Co-Authored-By: Claude Sonnet 5.5 --- README.md | 2 + src/libxr/cli.py | 33 +++- src/libxr/pin_layout.py | 35 +++- src/libxr/pin_project.py | 375 ++++++++++++++++++++++++++++++++++++++ tests/test_cli.py | 23 ++- tests/test_pin_layout.py | 16 +- tests/test_pin_project.py | 332 +++++++++++++++++++++++++++++++++ 7 files changed, 796 insertions(+), 20 deletions(-) create mode 100644 src/libxr/pin_project.py create mode 100644 tests/test_pin_project.py diff --git a/README.md b/README.md index 358ec8b..41807d1 100644 --- a/README.md +++ b/README.md @@ -674,12 +674,14 @@ pin_count: 64 # ... ``` +- `libxr pins -d <工程目录>` 叠加工程已选的信号:STM32 读 CubeMX 的 `.ioc`,MSPM0 读 SysConfig 生成的 `ti_msp_dl_config.h`(型号取自工程,MSPM0 的封装用 `--package` 给出)。输出多一个 `project` 段:`assignments` 是每个引脚选了什么(信号、外设、功能、GPIO 标签),`peripherals` 是每个外设用到的引脚;STM32 的外设还给出它在 `libxr_config.yaml` 中的段和键(如 `USART.usart1`)和当前参数,文件默认为 `User/libxr_config.yaml`,可用 `-c` 指定。 - STM32 的封装由型号决定(`STM32H723VGT6` 为 LQFP100);MSPM0 的封装取自型号后缀中的代码(`MSPM0G3507SPMR` 的 `PM`),型号中没有时用 `--package` 给出(`LQFP-64`、`PM` 或 `LQFP-64(PM)`)。 - `pin_count` 是封装上的位置数。一个位置可以有多个条目:STM32G0 的 PA9 和 PA11 可以互换,共用一个位置。 - `peripherals` 列出从信号名识别出的全部外设和每个功能可选的引脚(`USART1` 的 `TX` 可以接 `PA9`、`PB6`、`PB14`)。识别只看信号名,ETH、FMC、OctoSPI 这些 LibXR 没有对应抽象的外设也会列出。普通 GPIO 按端口列出(`GPIOA` 的 `P9` 是 `PA9`);STM32 的外部中断列为 `EXTI`,`LINE9` 可以来自任一端口的第 9 脚,STM32 的引脚另有 `gpio_modes`(Input、Output、Analog、EXTI 等);有输出通道的定时器带 `capabilities: [pwm]`。TI 的器件数据没有中断信息,所以 MSPM0 不列 `EXTI`。 - MSPM0 的引脚还有 `iomux_pincm` 和每个信号的模式号 `modes`。 - 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件)。数据文件和两份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 +- `libxr pins -d ` overlays the signals a project has selected: the CubeMX `.ioc` for an STM32, the `ti_msp_dl_config.h` SysConfig generates for an MSPM0 (the model comes from the project; give the package of an MSPM0 with `--package`). The output gets a `project` section: `assignments` is what each pin selected (signal, peripheral, function, GPIO label) and `peripherals` the pins each peripheral uses; an STM32 peripheral also gets its section and key in `libxr_config.yaml` (such as `USART.usart1`) and its current parameters, from `User/libxr_config.yaml` by default or the file given with `-c`. - The package of an STM32 is part of the model (`STM32H723VGT6` is LQFP100); that of an MSPM0 comes from the code in the model suffix (`PM` of `MSPM0G3507SPMR`), or from `--package` when the model has none (`LQFP-64`, `PM` or `LQFP-64(PM)`). - `pin_count` is the number of positions on the package. A position can have several entries: PA9 and PA11 of an STM32G0 can be swapped and share one position. - `peripherals` lists every peripheral recognized from the signal names, with the pins that can carry each function (`TX` of `USART1` can use `PA9`, `PB6` or `PB14`). Recognition looks at the signal names only, so peripherals LibXR has no abstraction for, such as ETH, FMC and OctoSPI, are listed too. Plain GPIO is listed by port (`P9` of `GPIOA` is `PA9`); the external interrupts of an STM32 are listed as `EXTI`, where `LINE9` can come from pin 9 of any port, and an STM32 pin also has `gpio_modes` (Input, Output, Analog, EXTI, ...); a timer with output channels carries `capabilities: [pwm]`. TI's device data has no interrupt information, so an MSPM0 lists no `EXTI`. diff --git a/src/libxr/cli.py b/src/libxr/cli.py index 7173604..e1ca987 100644 --- a/src/libxr/cli.py +++ b/src/libxr/cli.py @@ -261,7 +261,7 @@ def cmd_pins(args: argparse.Namespace) -> None: """ from libxr.pin_layout import print_pin_layout - print_pin_layout(args.model, args.package, args.format) + print_pin_layout(args.model, args.package, args.format, args.directory, args.libxr_config) def cmd_stm32_toolchain(args: argparse.Namespace) -> None: @@ -626,10 +626,37 @@ def _add_pins(commands) -> None: cmd_pins, epilog=tr("examples:", "示例:") + "\n libxr pins STM32H723VGT6\n libxr pins MSPM0G3507SPMR" - + "\n libxr pins MSPM0G3507 --package LQFP-64 --format json", + + "\n libxr pins MSPM0G3507 --package LQFP-64 --format json" + + "\n libxr pins -d path/to/project", formatter_class=argparse.RawDescriptionHelpFormatter, ) - parser.add_argument("model", help=tr("chip model", "芯片型号")) + parser.add_argument( + "model", + nargs="?", + help=tr( + "chip model (default: the one of the project given with -d)", + "芯片型号(默认:-d 给出的工程的型号)", + ), + ) + parser.add_argument( + "-d", + "--directory", + help=tr( + "project directory: overlay the signals it has selected (an STM32CubeMX .ioc, or a " + "SysConfig ti_msp_dl_config.h) and their libxr_config.yaml settings", + "工程目录:叠加其中已选的信号(STM32CubeMX 的 .ioc 或 SysConfig 的 " + "ti_msp_dl_config.h)和它们在 libxr_config.yaml 中的设置", + ), + ) + parser.add_argument( + "-c", + "--libxr-config", + help=tr( + "libxr_config.yaml to read the settings from (default: User/libxr_config.yaml in " + "the project)", + "读取设置的 libxr_config.yaml(默认:工程中的 User/libxr_config.yaml)", + ), + ) parser.add_argument( "-p", "--package", diff --git a/src/libxr/pin_layout.py b/src/libxr/pin_layout.py index c99999b..d1b83d6 100644 --- a/src/libxr/pin_layout.py +++ b/src/libxr/pin_layout.py @@ -393,16 +393,35 @@ def layout_to_dict(layout: PinLayout) -> dict: } -def print_pin_layout(model: str, package: str | None, output_format: str) -> None: - """以 YAML 或 JSON 向标准输出打印型号的引脚布局。 - Print the pin layout of a model as YAML or JSON to standard output. - - 型号或封装无法识别时记录错误(写到标准错误)并以状态 1 退出;输出不会混入报错。 - A model or package that is not recognized logs an error, on standard error, and exits with - status 1; the output never mixes with the error. +def print_pin_layout( + model: str | None, + package: str | None, + output_format: str, + directory: str | None = None, + libxr_config: str | None = None, +) -> None: + """以 YAML 或 JSON 向标准输出打印型号的引脚布局;给出 directory 时叠加工程已选的信号。 + Print the pin layout of a model as YAML or JSON to standard output; with directory, the + signals the project has selected are overlaid. + + 型号、封装或工程无法识别时记录错误(写到标准错误)并以状态 1 退出;输出不会混入报错。 + A model, package or project that is not recognized logs an error, on standard error, and + exits with status 1; the output never mixes with the error. """ try: - info = layout_to_dict(layout_pins(model, package)) + if directory is not None: + from libxr.pin_project import layout_with_project + + info = layout_with_project(directory, model, package, libxr_config) + elif model is None: + raise ValueError( + tr( + "Give a chip model, or a project directory with -d", + "请给出芯片型号,或用 -d 给出工程目录", + ) + ) + else: + info = layout_to_dict(layout_pins(model, package)) except ValueError as error: logging.error(str(error)) sys.exit(1) diff --git a/src/libxr/pin_project.py b/src/libxr/pin_project.py new file mode 100644 index 0000000..9b30ab1 --- /dev/null +++ b/src/libxr/pin_project.py @@ -0,0 +1,375 @@ +"""libxr pins -d:把工程里已选的引脚信号叠加到布局上,并对应到 libxr_config.yaml 的外设设置。 +libxr pins -d: overlay the pin signals a project has selected on the layout, and tie them to the +peripheral settings of libxr_config.yaml. + +STM32 的已选信号来自 CubeMX 的 .ioc(Pxn.Signal),MSPM0 的来自 SysConfig 生成的 +ti_msp_dl_config.h(IOMUX_PINCMn_PF_ 宏)。信号按布局中该引脚的可选信号核对;核对不上的原样 +给出,matched 为 false。 +The selected signals of an STM32 come from the CubeMX .ioc (Pxn.Signal), those of an MSPM0 from +the ti_msp_dl_config.h SysConfig generates (the IOMUX_PINCMn_PF_ macros). A signal is checked +against the selectable signals of its pin in the layout; one that does not match is given as it +is, with matched false. +""" + +import re +from pathlib import Path + +import yaml +from xr_syntax.i18n import tr + +from libxr import pin_layout +from libxr.pin_layout import Pin, PinLayout + +# 外设类型到 libxr_config.yaml 的段:libxr gen 为这些类型生成对象。 +# Peripheral kind to the section of libxr_config.yaml: libxr gen generates objects for these. +STM32_SECTIONS = { + "USART": "USART", + "UART": "USART", + "SPI": "SPI", + "I2C": "I2C", + "ADC": "ADC", + "DAC": "DAC", + "TIM": "TIM", + "CAN": "CAN", + "FDCAN": "FDCAN", + "USB_OTG": "USB", + "USB_DRD": "USB", +} +# USB 实例在 libxr_config.yaml 中的键;USB_DRD_FS 和 USB 都叫 usb_fs。 +# The key of a USB instance in libxr_config.yaml; USB_DRD_FS and USB are both usb_fs. +USB_KEYS = {"USB_DRD_FS": "usb_fs", "USB": "usb_fs"} + + +def read_ioc(path: Path) -> tuple[str, dict[str, dict], set[str]]: + """读取 .ioc:返回芯片型号(Mcu.UserName)、引脚键 -> {signal, label} 和启用的外设(Mcu.IPn)。 + Read an .ioc: return the chip model (Mcu.UserName), pin key -> {signal, label} and the + enabled peripherals (Mcu.IPn). + + 引脚键可以带后缀,如 PH0-OSC_IN\\ (PH0);转义的空格还原为空格。 + A pin key may carry a suffix such as PH0-OSC_IN\\ (PH0); an escaped space is restored. + """ + model = "" + pins: dict[str, dict] = {} + enabled: set[str] = set() + for line in path.read_text(encoding="utf-8", errors="replace").splitlines(): + match = re.match(r"^(P[A-Z]\d+[^=]*?)\.(Signal|GPIO_Label)=(.*)$", line) + if match: + key = match.group(1).replace("\\ ", " ") + field = "signal" if match.group(2) == "Signal" else "label" + pins.setdefault(key, {})[field] = match.group(3).strip() + elif line.startswith("Mcu.UserName="): + model = line.split("=", 1)[1].strip() + elif re.match(r"Mcu\.IP\d+=", line): + enabled.add(line.split("=", 1)[1].strip()) + return model, {key: value for key, value in pins.items() if "signal" in value}, enabled + + +def find_pin(layout: PinLayout, key: str) -> Pin | None: + """布局中与 .ioc 引脚键对应的引脚:先按名字,再按 P<字母><数字> 开头(PH0-OSC_IN (PH0))。 + The pin of the layout that an .ioc pin key stands for: by name first, then by the leading + P (PH0-OSC_IN (PH0)). + """ + for pin in layout.pins: + if pin.name == key: + return pin + base = re.match(r"P[A-Z]\d+", key) + if base is None: + return None + for pin in layout.pins: + if re.match(rf"{base.group(0)}(?!\d)", pin.name): + return pin + return None + + +def resolve_stm32(pin: Pin, signal: str, enabled: set[str]) -> dict: + """一个 .ioc 信号对应的外设、类型和功能。 + The peripheral, kind and function an .ioc signal stands for. + + CubeMX 在 .ioc 里有几种写法与 ST 的信号名不同:GPIO_Output、GPIO_Input 和 GPXTIn(GPIO、 + 外部中断)、S_TIM2_CH1_ETR(共享引脚)、ADCx_INP19(不带实例的 ADC 通道)、FMC_D2_DA2( + 共用前缀的两个功能)、ETH_TXD1(省掉 MII 或 RMII)、SharedAnalog_PA4 和 COMP_DAC11_group + (模拟)。 + CubeMX writes several forms in the .ioc that differ from ST's signal names: GPIO_Output, + GPIO_Input and GPXTIn (GPIO, external interrupt), S_TIM2_CH1_ETR (shared pin), ADCx_INP19 (an + ADC channel without its instance), FMC_D2_DA2 (two functions that share a prefix), ETH_TXD1 + (MII or RMII left out), SharedAnalog_PA4 and COMP_DAC11_group (analog). + """ + port_line = pin_layout.gpio_port_and_line(pin.name) + gpio = f"GPIO{port_line[0]}" if port_line else "GPIO" + function = f"P{port_line[1]}" if port_line else "GPIO" + if re.fullmatch(r"GPIO_(Input|Output|Analog)", signal): + return {"peripheral": gpio, "kind": "GPIO", "function": function, "matched": True} + external = re.fullmatch(r"GPXTI(\d+)", signal) + if external: + return { + "peripheral": "EXTI", + "kind": "EXTI", + "function": f"LINE{external.group(1)}", + "matched": True, + } + if signal.startswith(("SharedAnalog_", "COMP_DAC")): + return {"peripheral": "ANALOG", "kind": "ANALOG", "function": signal, "matched": True} + vendor = set(pin.signals) + inner = signal[2:] if signal.startswith("S_") else signal + shared = re.fullmatch(r"([A-Z]+)(\d*)(DFSDM\d)", inner) if signal.startswith("S_") else None + if shared: + # S_DATAIN1DFSDM1 是 DFSDM1_DATIN1。 + # S_DATAIN1DFSDM1 is DFSDM1_DATIN1. + inner = f"{shared.group(3)}_{shared.group(1).replace('DATAIN', 'DATIN')}{shared.group(2)}" + adc = re.fullmatch(r"ADCx_(.+)", inner) + if adc: + instances = sorted( + { + pin_layout.recognize_stm32(s)[0] + for s in vendor + if re.fullmatch(rf"ADC\d*_{re.escape(adc.group(1))}", s) + }, + key=pin_layout.natural_key, + ) + # 有多个 ADC 可选时,取工程里启用的那个。 + # With several ADCs to choose from, take the one the project enables. + if len(instances) > 1 and len([i for i in instances if i in enabled]) == 1: + instances = [i for i in instances if i in enabled] + found = { + "peripheral": "ADC", + "kind": "ADC", + "function": adc.group(1), + "matched": bool(instances), + } + if len(instances) == 1: + found["peripheral"] = instances[0] + elif instances: + found["candidates"] = instances + return found + if inner in vendor: + peripheral, kind, function = pin_layout.recognize_stm32(inner) + return {"peripheral": peripheral, "kind": kind, "function": function, "matched": True} + for known in sorted(vendor, key=len, reverse=True): + # FMC_D2_DA2:前一个信号 FMC_D2 加上共用前缀的 FMC_DA2。 + # FMC_D2_DA2: the signal FMC_D2 plus FMC_DA2, which shares its prefix. + prefix = inner.split("_")[0] + "_" + if inner.startswith(known + "_") and prefix + inner[len(known) + 1 :] in vendor: + first = pin_layout.recognize_stm32(known) + second = pin_layout.recognize_stm32(prefix + inner[len(known) + 1 :]) + return { + "peripheral": first[0], + "kind": first[1], + "function": f"{first[2]}/{second[2]}", + "matched": True, + } + for known in vendor: + # ETH_TXD1:ST 写成 ETH_MII_TXD1 或 ETH_RMII_TXD1。 + # ETH_TXD1: ST writes ETH_MII_TXD1 or ETH_RMII_TXD1. + if known.replace("_RMII_", "_", 1).replace("_MII_", "_", 1) == inner and inner.startswith( + "ETH_" + ): + peripheral, kind, _ = pin_layout.recognize_stm32(known) + return { + "peripheral": peripheral, + "kind": kind, + "function": inner.split("_", 1)[1], + "matched": True, + } + recognized = pin_layout.recognize_stm32(inner) + if recognized is None: + return {"peripheral": gpio, "kind": "GPIO", "function": function, "matched": False} + return { + "peripheral": recognized[0], + "kind": recognized[1], + "function": recognized[2], + "matched": False, + } + + +def stm32_assignments(directory: Path, layout_for) -> tuple[str, str, PinLayout, dict[str, dict]]: + """工程里 STM32 的已选信号:型号、来源文件、布局和 引脚名 -> 信号及其识别结果。 + The selected signals of an STM32 in a project: the model, the source file, the layout and + pin name -> signal and what it was recognized as. + + layout_for 由型号给出布局,使调用者可以自行决定封装。 + layout_for gives the layout of a model, so the caller decides the package. + """ + iocs = sorted(directory.glob("*.ioc")) + model, signals, enabled = read_ioc(iocs[0]) + layout = layout_for(model) + assigned: dict[str, dict] = {} + for key, value in signals.items(): + pin = find_pin(layout, key) + if pin is None: + continue + entry = {"signal": value["signal"], **resolve_stm32(pin, value["signal"], enabled)} + if "label" in value: + entry["label"] = value["label"] + assigned[pin.name] = entry + return model, iocs[0].name, layout, assigned + + +def find_ti_header(directory: Path) -> Path | None: + """工程里 SysConfig 生成的 ti_msp_dl_config.h:先看根目录和 sysconfig/,再找三层以内。 + The ti_msp_dl_config.h SysConfig generated in a project: the root and sysconfig/ first, then + up to three levels down. + """ + for candidate in ( + directory / "ti_msp_dl_config.h", + directory / "sysconfig" / "ti_msp_dl_config.h", + ): + if candidate.is_file(): + return candidate + for path in sorted(directory.glob("*/*/ti_msp_dl_config.h")) + sorted( + directory.glob("*/*/*/ti_msp_dl_config.h") + ): + if not {"build", "cmake-build"} & set(path.parts): + return path + return None + + +def mspm0_model(header: Path) -> str: + """ti_msp_dl_config.h 中的器件名:#define CONFIG_MSPM0G3507。 + The device name in ti_msp_dl_config.h: #define CONFIG_MSPM0G3507. + """ + match = re.search( + r"^#define\s+CONFIG_(MSPM0[A-Z]\d{4})\s*$", header.read_text(encoding="utf-8"), re.M + ) + if match is None: + raise ValueError( + tr( + f"{header} does not name the MSPM0 device (no CONFIG_MSPM0... line)", + f"{header} 中没有器件名(没有 CONFIG_MSPM0... 行)", + ) + ) + return match.group(1) + + +def mspm0_assignments(header: Path, layout: PinLayout) -> dict[str, dict]: + """ti_msp_dl_config.h 中 MSPM0 的已选信号:引脚名 -> 信号及其识别结果。 + The selected signals of an MSPM0 in ti_msp_dl_config.h: pin name -> signal and what it was + recognized as. + + 外设引脚是 IOMUX_PINCMn_PF_<外设>_<功能> 宏;普通 GPIO 是 <名字>_IOMUX (IOMUX_PINCMn), + 名字作为标签。 + A peripheral pin is an IOMUX_PINCMn_PF__ macro; a plain GPIO is + _IOMUX (IOMUX_PINCMn), with the name as its label. + """ + text = header.read_text(encoding="utf-8") + by_pincm = { + pin.extra["iomux_pincm"]: pin for pin in layout.pins if pin.extra.get("iomux_pincm") + } + assigned: dict[str, dict] = {} + for match in re.finditer(r"^#define\s+\w+_FUNC\s+IOMUX_PINCM(\d+)_PF_(\w+)\s*$", text, re.M): + pin = by_pincm.get(int(match.group(1))) + if pin is None or "_" not in match.group(2): + continue + instance, function = match.group(2).split("_", 1) + signal = f"{instance}.{function}" + kind = re.sub(r"\d+$", "", instance) + assigned[pin.name] = { + "signal": signal, + "peripheral": instance, + "kind": kind, + "function": function, + "matched": signal in pin.signals, + } + for match in re.finditer(r"^#define\s+(\w+?)_IOMUX\s+\(IOMUX_PINCM(\d+)\)\s*$", text, re.M): + pin = by_pincm.get(int(match.group(2))) + if pin is None or pin.name in assigned: + continue + port_line = pin_layout.gpio_port_and_line(pin.name) + assigned[pin.name] = { + "signal": pin.name, + "peripheral": f"GPIO{port_line[0]}" if port_line else "GPIO", + "kind": "GPIO", + "function": f"P{port_line[1]}" if port_line else "GPIO", + "matched": pin.name in pin.signals, + "label": match.group(1), + } + return assigned + + +def config_key(platform: str, entry: dict) -> tuple[str, str] | None: + """一个已选外设在 libxr_config.yaml 中的段和键;libxr gen 不生成它时为 None。 + The section and key of a selected peripheral in libxr_config.yaml; None when libxr gen does + not generate it. + """ + if platform != "stm32": + return None + section = STM32_SECTIONS.get(entry["kind"]) + if section is None: + return None + instance = entry["peripheral"] + return section, USB_KEYS.get(instance, instance.lower()) + + +def project_overlay(layout: PinLayout, assigned: dict[str, dict], config_path: Path | None) -> dict: + """工程叠加结果:每个引脚的已选信号,以及每个已选外设用到的引脚和它在 libxr_config.yaml + 中的设置。 + The project overlay: the selected signal of each pin, and for each selected peripheral the + pins it uses and its settings in libxr_config.yaml. + """ + settings = {} + if config_path is not None and config_path.is_file(): + loaded = yaml.safe_load(config_path.read_text(encoding="utf-8")) + settings = loaded if isinstance(loaded, dict) else {} + peripherals: dict[str, dict] = {} + for pin_name, entry in assigned.items(): + used = peripherals.setdefault(entry["peripheral"], {"kind": entry["kind"], "pins": {}}) + used["pins"][entry["function"]] = pin_name + for instance, used in peripherals.items(): + key = config_key(layout.platform, {"peripheral": instance, "kind": used["kind"]}) + if key is None: + continue + section, name = key + params = ( + settings.get(section, {}).get(name) if isinstance(settings.get(section), dict) else None + ) + used["config"] = {"section": section, "key": name, "present": params is not None} + if params is not None: + used["config"]["params"] = params + return { + "assignments": dict( + sorted(assigned.items(), key=lambda item: pin_layout.natural_key(item[0])) + ), + "peripherals": dict( + sorted(peripherals.items(), key=lambda item: pin_layout.natural_key(item[0])) + ), + } + + +def layout_with_project( + directory: str, model: str | None, package: str | None, libxr_config: str | None +) -> dict: + """工程目录中的布局和叠加:识别平台,读出已选信号,给出带 project 段的布局字典。 + The layout and overlay of a project directory: recognize the platform, read the selected + signals and return the layout dict with a project section. + + 给出 model 时以它为准,否则取自工程(STM32 的 .ioc,MSPM0 的 ti_msp_dl_config.h)。 + libxr_config 默认为目录下的 User/libxr_config.yaml。 + A given model wins; otherwise it comes from the project (the .ioc of an STM32, the + ti_msp_dl_config.h of an MSPM0). libxr_config defaults to User/libxr_config.yaml in the + directory. + """ + root = Path(directory) + config_path = Path(libxr_config) if libxr_config else root / "User" / "libxr_config.yaml" + if sorted(root.glob("*.ioc")): + chip, source, layout, assigned = stm32_assignments( + root, lambda chip: pin_layout.layout_pins(model or chip, package) + ) + else: + header = find_ti_header(root) + if header is None: + raise ValueError( + tr( + f"{root}: no STM32CubeMX .ioc or SysConfig ti_msp_dl_config.h found", + f"{root}:没有找到 STM32CubeMX 的 .ioc 或 SysConfig 的 ti_msp_dl_config.h", + ) + ) + layout = pin_layout.layout_pins(model or mspm0_model(header), package) + assigned = mspm0_assignments(header, layout) + source = header.relative_to(root).as_posix() + info = pin_layout.layout_to_dict(layout) + info["project"] = { + "directory": str(root), + "source": source, + "libxr_config": str(config_path) if config_path.is_file() else None, + **project_overlay(layout, assigned, config_path), + } + return info diff --git a/tests/test_cli.py b/tests/test_cli.py index 07c47c3..146617b 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -176,6 +176,7 @@ def test_every_option_reaches_its_argument(self): setup = {"terminal": "", "commit": "", "git_source": "auto", "git_mirrors": ""} toolchain = {"run": "cmd_stm32_toolchain"} pins = {"run": "cmd_pins"} + pins_default = {"package": None, "format": "yaml", "directory": None, "libxr_config": None} for argv, expected in ( (["parse"], {"directory": ".", "output": None, **quiet, "run": "cmd_parse"}), ( @@ -282,11 +283,29 @@ def test_every_option_reaches_its_argument(self): ), ( ["pins", "STM32H723VGT6"], - {"model": "STM32H723VGT6", "package": None, "format": "yaml", **quiet, **pins}, + {**pins_default, "model": "STM32H723VGT6", **quiet, **pins}, ), ( ["pins", "MSPM0G3507", "-p", "PM", "-f", "json", "--verbose"], - {"model": "MSPM0G3507", "package": "PM", "format": "json", **loud, **pins}, + { + **pins_default, + "model": "MSPM0G3507", + "package": "PM", + "format": "json", + **loud, + **pins, + }, + ), + ( + ["pins", "-d", "p", "-c", "c.yaml"], + { + **pins_default, + "model": None, + "directory": "p", + "libxr_config": "c.yaml", + **quiet, + **pins, + }, ), ( ["stm32", "toolchain", "gcc"], diff --git a/tests/test_pin_layout.py b/tests/test_pin_layout.py index 98ec298..74f01d2 100644 --- a/tests/test_pin_layout.py +++ b/tests/test_pin_layout.py @@ -5,6 +5,7 @@ import json import re import unittest +from pathlib import Path import yaml from fixtures import TestCase, run_libxr @@ -303,7 +304,12 @@ def test_a_layout_reads_only_the_shard_of_its_series(self): self.assertEqual(pin_layout.load_stm32_shard.cache_info().currsize, 1) def test_the_data_files_are_declared_as_package_data(self): - project = (pin_layout.DATA.parents[2] / "pyproject.toml").read_text(encoding="utf-8") + # CI 在装好的包上运行测试,所以仓库的位置取自测试文件,不取自包。 + # CI runs the tests on the installed package, so the repository is found from the test + # file, not from the package. + project = (Path(__file__).resolve().parents[1] / "pyproject.toml").read_text( + encoding="utf-8" + ) self.assertIn('"pin_data/*"', project) @@ -340,15 +346,11 @@ def test_the_package_can_be_given(self): self.assertEqual(code, 0) self.assertEqual(yaml.safe_load(out)["package"], "VQFN-48(RGZ)") - def test_help_and_wrong_usage(self): + def test_help(self): code, out, err = self.run_pins("--help") self.assertEqual((code, err), (0, "")) - usage = "usage: libxr pins [-h] [-p PACKAGE] [-f {yaml,json}] [--verbose] model\n" - self.assertTrue(out.startswith(usage), out) + self.assertTrue(out.startswith("usage: libxr pins [-h] [-d DIRECTORY]"), out) self.assertIn("libxr pins STM32H723VGT6", out) - code, out, err = self.run_pins() - self.assertEqual((code, out), (2, "")) - self.assertTrue(err.startswith(usage), err) def test_errors_are_logged(self): for argv, reason in ( diff --git a/tests/test_pin_project.py b/tests/test_pin_project.py new file mode 100644 index 0000000..0f13aba --- /dev/null +++ b/tests/test_pin_project.py @@ -0,0 +1,332 @@ +"""libxr pins -d(libxr.pin_project):把工程已选的引脚信号叠加到布局上。 +libxr pins -d (libxr.pin_project): overlay the pin signals a project has selected on the layout. +""" + +import tempfile +import textwrap +import unittest +from pathlib import Path + +import yaml +from fixtures import IOC, TestCase, run_libxr + +from libxr.pin_project import layout_with_project + +# 一个 MSPM0G3507 工程的 ti_msp_dl_config.h 片段:UART0 的两个引脚和一个 GPIO 组。 +# An excerpt of the ti_msp_dl_config.h of an MSPM0G3507 project: two pins of UART0 and a GPIO +# group. +TI_HEADER = textwrap.dedent("""\ + #define CONFIG_LP_MSPM0G3507 + #define CONFIG_MSPM0G3507 + #define GPIO_UART_0_IOMUX_RX (IOMUX_PINCM2) + #define GPIO_UART_0_IOMUX_TX (IOMUX_PINCM1) + #define GPIO_UART_0_IOMUX_RX_FUNC IOMUX_PINCM2_PF_UART0_RX + #define GPIO_UART_0_IOMUX_TX_FUNC IOMUX_PINCM1_PF_UART0_TX + #define GPIO_GRP_0_PORT (GPIOB) + #define GPIO_GRP_0_PIN_0_IOMUX (IOMUX_PINCM50) +""") + +CONFIG = textwrap.dedent("""\ + USART: + usart1: + tx_buffer_size: 128 + rx_buffer_size: 64 + SPI: + spi1: + dma_section: .axi_ram +""") + + +def write(directory: Path, name: str, text: str) -> Path: + """在 directory 下写出文本文件 name(必要时建目录),返回其路径。 + Write the text file name under directory, creating the folders it needs; return its path. + """ + path = directory / name + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text, encoding="utf-8") + return path + + +def ioc(model: str, enabled: list[str], pins: dict[str, str]) -> str: + """一个最小的 .ioc:型号、启用的外设和 引脚 -> 信号。 + A minimal .ioc: the model, the enabled peripherals and pin -> signal. + """ + lines = [f"Mcu.UserName={model}"] + lines += [f"Mcu.IP{index}={name}" for index, name in enumerate(enabled)] + lines += [f"{pin}.Signal={signal}" for pin, signal in pins.items()] + return "\n".join(lines) + "\n" + + +class Stm32Projects(TestCase): + """STM32 工程:已选信号取自 .ioc,设置取自 libxr_config.yaml。 + An STM32 project: the selected signals come from the .ioc, the settings from + libxr_config.yaml. + """ + + def project(self, directory, config=CONFIG, model=None, config_path=None): + """工程目录中的叠加结果(工程 .ioc 为共用的样例,config 是 User/libxr_config.yaml 的内容)。 + The overlay of the project directory (its .ioc is the shared sample, config is the + content of User/libxr_config.yaml). + """ + write(Path(directory), "Project.ioc", IOC) + if config is not None: + write(Path(directory), "User/libxr_config.yaml", config) + return layout_with_project(directory, model, None, config_path) + + def test_the_model_and_the_signals_come_from_the_ioc(self): + with tempfile.TemporaryDirectory() as directory: + info = self.project(directory) + self.assertEqual((info["part"], info["package"]), ("STM32F407IGHx", "UFBGA176")) + self.assertEqual(info["project"]["source"], "Project.ioc") + assignments = info["project"]["assignments"] + self.assertEqual( + assignments["PA9"], + { + "signal": "USART1_TX", + "peripheral": "USART1", + "kind": "USART", + "function": "TX", + "matched": True, + }, + ) + self.assertTrue(all(entry["matched"] for entry in assignments.values())) + + def test_gpio_labels_and_external_interrupts(self): + with tempfile.TemporaryDirectory() as directory: + info = self.project(directory) + assignments = info["project"]["assignments"] + # ST 给 PC13 的名字带功能后缀(PC13-ANTI_TAMP);叠加结果用布局中的名字。 + # ST names PC13 with its function (PC13-ANTI_TAMP); the overlay uses the name in the + # layout. + led = next(entry for name, entry in assignments.items() if name.startswith("PC13")) + self.assertEqual( + (led["label"], led["peripheral"], led["function"]), ("LED", "GPIOC", "P13") + ) + self.assertEqual( + (assignments["PE12"]["peripheral"], assignments["PE12"]["function"]), + ("EXTI", "LINE12"), + ) + self.assertEqual(info["project"]["peripherals"]["EXTI"]["pins"], {"LINE12": "PE12"}) + + def test_shared_pin_signals_are_resolved(self): + with tempfile.TemporaryDirectory() as directory: + info = self.project(directory) + tim1 = info["project"]["peripherals"]["TIM1"] + self.assertEqual((tim1["kind"], tim1["pins"]), ("TIM", {"CH1": "PE9"})) + + def test_a_peripheral_is_tied_to_its_libxr_config_settings(self): + with tempfile.TemporaryDirectory() as directory: + info = self.project(directory) + peripherals = info["project"]["peripherals"] + self.assertEqual( + peripherals["USART1"]["config"], + { + "section": "USART", + "key": "usart1", + "present": True, + "params": {"tx_buffer_size": 128, "rx_buffer_size": 64}, + }, + ) + self.assertEqual( + peripherals["USART6"]["config"], {"section": "USART", "key": "usart6", "present": False} + ) + self.assertEqual(peripherals["SPI1"]["config"]["params"], {"dma_section": ".axi_ram"}) + self.assertNotIn("config", peripherals["GPIOC"]) + + def test_a_missing_configuration_file_is_not_an_error(self): + with tempfile.TemporaryDirectory() as directory: + info = self.project(directory, config=None) + self.assertIsNone(info["project"]["libxr_config"]) + self.assertFalse(info["project"]["peripherals"]["USART1"]["config"]["present"]) + + def test_another_configuration_file_can_be_given(self): + with tempfile.TemporaryDirectory() as directory: + other = write( + Path(directory), "other.yaml", "SPI:\n spi1:\n dma_enable_min_size: 8\n" + ) + info = self.project(directory, config_path=str(other)) + self.assertEqual( + info["project"]["peripherals"]["SPI1"]["config"]["params"], {"dma_enable_min_size": 8} + ) + self.assertFalse(info["project"]["peripherals"]["USART1"]["config"]["present"]) + + def test_a_given_model_wins_over_the_ioc(self): + with tempfile.TemporaryDirectory() as directory: + info = self.project(directory, model="STM32F407IGT6") + self.assertEqual((info["part"], info["package"]), ("STM32F407IGTx", "LQFP176")) + + +class CubeMxSpellings(TestCase): + """CubeMX 在 .ioc 里的几种写法,都对应到 ST 的信号。 + The forms CubeMX writes in an .ioc, each tied to ST's signals. + """ + + def overlay(self, model, enabled, pins): + """这个 .ioc 的已选信号。 + The selected signals of this .ioc. + """ + with tempfile.TemporaryDirectory() as directory: + write(Path(directory), "a.ioc", ioc(model, enabled, pins)) + info = layout_with_project(directory, None, None, None) + return info["project"]["assignments"] + + def test_an_adc_channel_takes_the_adc_the_project_enables(self): + found = self.overlay("STM32H723VGTx", ["ADC1"], {"PA5": "ADCx_INP19"})["PA5"] + self.assertEqual((found["peripheral"], found["function"]), ("ADC1", "INP19")) + self.assertTrue(found["matched"]) + + def test_an_adc_channel_with_several_candidates_lists_them(self): + found = self.overlay("STM32H723VGTx", [], {"PA5": "ADCx_INP19"})["PA5"] + self.assertEqual(found["peripheral"], "ADC") + self.assertEqual(found["candidates"], ["ADC1", "ADC2"]) + + def test_two_functions_that_share_a_prefix(self): + found = self.overlay("STM32H563ZITx", [], {"PD0": "FMC_D2_DA2"})["PD0"] + self.assertEqual((found["peripheral"], found["function"]), ("FMC", "D2/DA2")) + self.assertTrue(found["matched"]) + + def test_the_mii_or_rmii_infix_may_be_left_out(self): + found = self.overlay("STM32H563ZITx", [], {"PB15": "ETH_TXD1"})["PB15"] + self.assertEqual((found["peripheral"], found["function"]), ("ETH", "TXD1")) + + def test_analog_pins(self): + found = self.overlay("STM32G071RBTx", [], {"PA4": "SharedAnalog_PA4"})["PA4"] + self.assertEqual((found["peripheral"], found["kind"]), ("ANALOG", "ANALOG")) + + def test_a_signal_the_pin_does_not_have_is_given_as_it_is(self): + found = self.overlay("STM32H723VGTx", [], {"PA9": "USART3_TX"})["PA9"] + self.assertEqual((found["peripheral"], found["function"]), ("USART3", "TX")) + self.assertFalse(found["matched"]) + + def test_a_pin_with_a_suffix_in_its_name(self): + # .ioc 里的键写成 PH0-OSC_IN\ (PH0)(空格转义);布局里的引脚叫 PH0-OSC_IN。 + # The .ioc key reads PH0-OSC_IN\ (PH0), the space escaped; the pin is PH0-OSC_IN in the + # layout. + found = self.overlay("STM32H723VGTx", [], {r"PH0-OSC_IN\ (PH0)": "RCC_OSC_IN"}) + self.assertEqual(list(found), ["PH0-OSC_IN"]) + self.assertEqual(found["PH0-OSC_IN"]["peripheral"], "RCC") + + +class Mspm0Projects(TestCase): + """MSPM0 工程:已选信号取自 SysConfig 生成的 ti_msp_dl_config.h。 + An MSPM0 project: the selected signals come from the ti_msp_dl_config.h SysConfig + generates. + """ + + def overlay(self, package="PM", header=TI_HEADER): + """这个头文件的叠加结果。 + The overlay of this header. + """ + with tempfile.TemporaryDirectory() as directory: + write(Path(directory), "sysconfig/ti_msp_dl_config.h", header) + return layout_with_project(directory, None, package, None) + + def test_the_device_and_the_pins_come_from_the_header(self): + info = self.overlay() + self.assertEqual((info["part"], info["package"]), ("MSPM0G3507", "LQFP-64(PM)")) + self.assertEqual(info["project"]["source"], "sysconfig/ti_msp_dl_config.h") + assignments = info["project"]["assignments"] + self.assertEqual( + assignments["PA0"], + { + "signal": "UART0.TX", + "peripheral": "UART0", + "kind": "UART", + "function": "TX", + "matched": True, + }, + ) + self.assertEqual(assignments["PA1"]["signal"], "UART0.RX") + self.assertEqual( + info["project"]["peripherals"]["UART0"]["pins"], {"TX": "PA0", "RX": "PA1"} + ) + + def test_a_gpio_is_named_by_its_label(self): + gpio = self.overlay()["project"]["assignments"]["PB22"] + self.assertEqual( + (gpio["peripheral"], gpio["function"], gpio["label"]), + ("GPIOB", "P22", "GPIO_GRP_0_PIN_0"), + ) + + def test_libxr_gen_has_no_section_for_an_mspm0(self): + peripherals = self.overlay()["project"]["peripherals"] + self.assertNotIn("config", peripherals["UART0"]) + + def test_the_package_is_asked_for(self): + with self.assertRaises(ValueError) as caught: + self.overlay(package=None) + self.assertTrue( + str(caught.exception).startswith("Cannot tell the package of MSPM0G3507"), + str(caught.exception), + ) + + def test_a_header_without_the_device_is_an_error(self): + with self.assertRaises(ValueError) as caught: + self.overlay(header="#define SOMETHING\n") + self.assertTrue( + str(caught.exception).endswith( + "does not name the MSPM0 device (no CONFIG_MSPM0... line)" + ), + str(caught.exception), + ) + + +class NoProject(TestCase): + """没有可识别的工程时报错。 + A directory without a recognizable project is an error. + """ + + def test_an_empty_directory_is_an_error(self): + with tempfile.TemporaryDirectory() as directory, self.assertRaises(ValueError) as caught: + layout_with_project(directory, None, None, None) + self.assertTrue( + str(caught.exception).endswith( + ": no STM32CubeMX .ioc or SysConfig ti_msp_dl_config.h found" + ), + str(caught.exception), + ) + + +class CommandLine(TestCase): + """libxr pins 的 -d 和 -c 选项。 + The -d and -c options of libxr pins. + """ + + def test_a_project_directory_replaces_the_model(self): + with tempfile.TemporaryDirectory() as directory: + write(Path(directory), "Project.ioc", IOC) + write(Path(directory), "User/libxr_config.yaml", CONFIG) + code, out, err = run_libxr("pins", "-d", directory) + self.assertEqual((code, err), (0, "")) + info = yaml.safe_load(out) + self.assertEqual(info["part"], "STM32F407IGHx") + self.assertEqual(info["project"]["peripherals"]["USART1"]["config"]["present"], True) + + def test_the_configuration_file_can_be_given_with_c(self): + with tempfile.TemporaryDirectory() as directory: + write(Path(directory), "Project.ioc", IOC) + other = write(Path(directory), "x.yaml", "SPI:\n spi1:\n tx_buffer_size: 7\n") + code, out, _ = run_libxr("pins", "-d", directory, "-c", str(other), "-f", "yaml") + info = yaml.safe_load(out) + self.assertEqual(code, 0) + self.assertEqual( + info["project"]["peripherals"]["SPI1"]["config"]["params"], {"tx_buffer_size": 7} + ) + + def test_errors_are_logged(self): + with tempfile.TemporaryDirectory() as directory: + for argv, reason in ( + (("pins",), "Give a chip model, or a project directory with -d"), + ( + ("pins", "-d", directory), + f"{directory}: no STM32CubeMX .ioc or SysConfig ti_msp_dl_config.h found", + ), + ): + with self.subTest(argv=argv), self.assertLogs(level="ERROR") as logs: + code, out, _ = run_libxr(*argv) + self.assertEqual((code, out), (1, "")) + self.assertEqual(logs.output, [f"ERROR:root:{reason}"]) + + +if __name__ == "__main__": + unittest.main() From 63278d48af1e1531e31875f5cdc160a71dc6f3c1 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Mon, 5 Oct 2026 16:26:20 +0100 Subject: [PATCH 08/34] Find the settings of a peripheral whatever the case of its key libxr pins -d looked for fdcan1 in libxr_config.yaml, and the MC02 BSP writes FDCAN1, so the peripheral showed as not configured. The key is now matched without regard to case and given as the file writes it. Co-Authored-By: Claude Sonnet 5.5 --- src/libxr/pin_project.py | 13 +++++++------ tests/test_pin_project.py | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/libxr/pin_project.py b/src/libxr/pin_project.py index 9b30ab1..7be7495 100644 --- a/src/libxr/pin_project.py +++ b/src/libxr/pin_project.py @@ -318,12 +318,13 @@ def project_overlay(layout: PinLayout, assigned: dict[str, dict], config_path: P if key is None: continue section, name = key - params = ( - settings.get(section, {}).get(name) if isinstance(settings.get(section), dict) else None - ) - used["config"] = {"section": section, "key": name, "present": params is not None} - if params is not None: - used["config"]["params"] = params + # 键的大小写以文件为准:同一个文件里有 fdcan1,也有 FDCAN1。 + # The case of the key is the file's: one file has fdcan1, another FDCAN1. + entries = settings.get(section) if isinstance(settings.get(section), dict) else {} + actual = next((key for key in entries if str(key).lower() == name), None) + used["config"] = {"section": section, "key": actual or name, "present": actual is not None} + if actual is not None: + used["config"]["params"] = entries[actual] return { "assignments": dict( sorted(assigned.items(), key=lambda item: pin_layout.natural_key(item[0])) diff --git a/tests/test_pin_project.py b/tests/test_pin_project.py index 0f13aba..d091158 100644 --- a/tests/test_pin_project.py +++ b/tests/test_pin_project.py @@ -133,6 +133,20 @@ def test_a_peripheral_is_tied_to_its_libxr_config_settings(self): self.assertEqual(peripherals["SPI1"]["config"]["params"], {"dma_section": ".axi_ram"}) self.assertNotIn("config", peripherals["GPIOC"]) + def test_the_case_of_a_key_in_the_file_is_kept(self): + # 有的 libxr_config.yaml 写 fdcan1,有的写 FDCAN1,两种都要找得到。 + # One libxr_config.yaml writes fdcan1 and another FDCAN1; both have to be found. + with tempfile.TemporaryDirectory() as directory: + write(Path(directory), "a.ioc", ioc("STM32H723VGTx", [], {"PD0": "FDCAN1_RX"})) + write( + Path(directory), "User/libxr_config.yaml", "FDCAN:\n FDCAN1:\n queue_size: 5\n" + ) + info = layout_with_project(directory, None, None, None) + self.assertEqual( + info["project"]["peripherals"]["FDCAN1"]["config"], + {"section": "FDCAN", "key": "FDCAN1", "present": True, "params": {"queue_size": 5}}, + ) + def test_a_missing_configuration_file_is_not_an_error(self): with tempfile.TemporaryDirectory() as directory: info = self.project(directory, config=None) From 1e45149d1427f8cd0b25d5b5ce19f7529048393f Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Mon, 5 Oct 2026 17:30:35 +0100 Subject: [PATCH 09/34] Take the package of an MSPM0 from its SysConfig project libxr pins -d asked for --package when the model did not name one, but SysConfig already says it: the @cliArgs of the .syscfg carry either --device and --package (device based) or only --board (a LaunchPad). The package is now read from the .syscfg (the @v2CliArgs line, which comes last, wins), or, for a board, from the board definitions of the MSPM0 SDK (source/ti/boards/.meta: gpn and pkg), which scripts/build_pin_data.py writes to pin_data/mspm0_boards.json with the license text of those files (BSD-3-Clause). The .syscfg is looked for in the root, next to the header, one level above it and one level down, never in a build folder (a CCS project keeps it in the root and the header in Debug/syscfg). A given --package still wins; without any, the error still asks for one. Co-Authored-By: Claude Sonnet 5.5 --- README.md | 8 +-- scripts/build_pin_data.py | 59 ++++++++++++++- src/libxr/cli.py | 6 +- src/libxr/pin_data/LICENSE-TI-BOARDS.txt | 29 ++++++++ src/libxr/pin_data/mspm0_boards.json | 54 ++++++++++++++ src/libxr/pin_project.py | 91 +++++++++++++++++++++++- tests/test_pin_project.py | 79 ++++++++++++++++++++ 7 files changed, 314 insertions(+), 12 deletions(-) create mode 100644 src/libxr/pin_data/LICENSE-TI-BOARDS.txt create mode 100644 src/libxr/pin_data/mspm0_boards.json diff --git a/README.md b/README.md index 41807d1..3c5a9e3 100644 --- a/README.md +++ b/README.md @@ -674,19 +674,19 @@ pin_count: 64 # ... ``` -- `libxr pins -d <工程目录>` 叠加工程已选的信号:STM32 读 CubeMX 的 `.ioc`,MSPM0 读 SysConfig 生成的 `ti_msp_dl_config.h`(型号取自工程,MSPM0 的封装用 `--package` 给出)。输出多一个 `project` 段:`assignments` 是每个引脚选了什么(信号、外设、功能、GPIO 标签),`peripherals` 是每个外设用到的引脚;STM32 的外设还给出它在 `libxr_config.yaml` 中的段和键(如 `USART.usart1`)和当前参数,文件默认为 `User/libxr_config.yaml`,可用 `-c` 指定。 +- `libxr pins -d <工程目录>` 叠加工程已选的信号:STM32 读 CubeMX 的 `.ioc`,MSPM0 读 SysConfig 生成的 `ti_msp_dl_config.h`(型号取自工程;MSPM0 的封装取自 `.syscfg` 的 `--package`,或其 `--board` 对应的 LaunchPad,也可以用 `--package` 指定)。输出多一个 `project` 段:`assignments` 是每个引脚选了什么(信号、外设、功能、GPIO 标签),`peripherals` 是每个外设用到的引脚;STM32 的外设还给出它在 `libxr_config.yaml` 中的段和键(如 `USART.usart1`)和当前参数,文件默认为 `User/libxr_config.yaml`,可用 `-c` 指定。 - STM32 的封装由型号决定(`STM32H723VGT6` 为 LQFP100);MSPM0 的封装取自型号后缀中的代码(`MSPM0G3507SPMR` 的 `PM`),型号中没有时用 `--package` 给出(`LQFP-64`、`PM` 或 `LQFP-64(PM)`)。 - `pin_count` 是封装上的位置数。一个位置可以有多个条目:STM32G0 的 PA9 和 PA11 可以互换,共用一个位置。 - `peripherals` 列出从信号名识别出的全部外设和每个功能可选的引脚(`USART1` 的 `TX` 可以接 `PA9`、`PB6`、`PB14`)。识别只看信号名,ETH、FMC、OctoSPI 这些 LibXR 没有对应抽象的外设也会列出。普通 GPIO 按端口列出(`GPIOA` 的 `P9` 是 `PA9`);STM32 的外部中断列为 `EXTI`,`LINE9` 可以来自任一端口的第 9 脚,STM32 的引脚另有 `gpio_modes`(Input、Output、Analog、EXTI 等);有输出通道的定时器带 `capabilities: [pwm]`。TI 的器件数据没有中断信息,所以 MSPM0 不列 `EXTI`。 - MSPM0 的引脚还有 `iomux_pincm` 和每个信号的模式号 `modes`。 -- 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件)。数据文件和两份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 +- 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件)。数据文件和两份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 MSPM0 的 `.syscfg` 里可能只写了 `--board`(LaunchPad),封装由 MSPM0 SDK 的板子定义得到(`mspm0_boards.json`,BSD-3-Clause,许可证文本为 `LICENSE-TI-BOARDS.txt`)。 -- `libxr pins -d ` overlays the signals a project has selected: the CubeMX `.ioc` for an STM32, the `ti_msp_dl_config.h` SysConfig generates for an MSPM0 (the model comes from the project; give the package of an MSPM0 with `--package`). The output gets a `project` section: `assignments` is what each pin selected (signal, peripheral, function, GPIO label) and `peripherals` the pins each peripheral uses; an STM32 peripheral also gets its section and key in `libxr_config.yaml` (such as `USART.usart1`) and its current parameters, from `User/libxr_config.yaml` by default or the file given with `-c`. +- `libxr pins -d ` overlays the signals a project has selected: the CubeMX `.ioc` for an STM32, the `ti_msp_dl_config.h` SysConfig generates for an MSPM0 (the model comes from the project; the package of an MSPM0 comes from the `.syscfg`, or from `--package`). The output gets a `project` section: `assignments` is what each pin selected (signal, peripheral, function, GPIO label) and `peripherals` the pins each peripheral uses; an STM32 peripheral also gets its section and key in `libxr_config.yaml` (such as `USART.usart1`) and its current parameters, from `User/libxr_config.yaml` by default or the file given with `-c`. - The package of an STM32 is part of the model (`STM32H723VGT6` is LQFP100); that of an MSPM0 comes from the code in the model suffix (`PM` of `MSPM0G3507SPMR`), or from `--package` when the model has none (`LQFP-64`, `PM` or `LQFP-64(PM)`). - `pin_count` is the number of positions on the package. A position can have several entries: PA9 and PA11 of an STM32G0 can be swapped and share one position. - `peripherals` lists every peripheral recognized from the signal names, with the pins that can carry each function (`TX` of `USART1` can use `PA9`, `PB6` or `PB14`). Recognition looks at the signal names only, so peripherals LibXR has no abstraction for, such as ETH, FMC and OctoSPI, are listed too. Plain GPIO is listed by port (`P9` of `GPIOA` is `PA9`); the external interrupts of an STM32 are listed as `EXTI`, where `LINE9` can come from pin 9 of any port, and an STM32 pin also has `gpio_modes` (Input, Output, Analog, EXTI, ...); a timer with output channels carries `capabilities: [pwm]`. TI's device data has no interrupt information, so an MSPM0 lists no `EXTI`. - An MSPM0 pin also has `iomux_pincm` and `modes`, the mode of each signal. -- The data comes from the vendors: STM32 from ST's [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data) (BSD-3-Clause), MSPM0 from the device data of TI SysConfig (TI limited license, for TI devices only). The data files and both license texts are in `src/libxr/pin_data/` and are distributed with the package; `scripts/build_pin_data.py` rebuilds them. +- The data comes from the vendors: STM32 from ST's [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data) (BSD-3-Clause), MSPM0 from the device data of TI SysConfig (TI limited license, for TI devices only). The data files and both license texts are in `src/libxr/pin_data/` and are distributed with the package; `scripts/build_pin_data.py` rebuilds them. A `.syscfg` of an MSPM0 may name only a `--board` (a LaunchPad); the package then comes from the board definitions of the MSPM0 SDK (`mspm0_boards.json`, BSD-3-Clause, license text in `LICENSE-TI-BOARDS.txt`). --- diff --git a/scripts/build_pin_data.py b/scripts/build_pin_data.py index e16681c..ce16e15 100644 --- a/scripts/build_pin_data.py +++ b/scripts/build_pin_data.py @@ -7,12 +7,16 @@ - STM32:ST 公开的 STM32_open_pin_data 仓库(BSD-3-Clause)的 mcu/*.xml。 STM32: mcu/*.xml of ST's public STM32_open_pin_data repository (BSD-3-Clause). - MSPM0:TI SysConfig 安装目录下 dist/deviceData/MSPM0*/ 中的器件 JSON(TI 有限许可,只可用于 - TI 器件)。 + TI 器件);以及 MSPM0 SDK 中 source/ti/boards/.meta/ 的板子定义(每块 LaunchPad 的器件和封装, + BSD-3-Clause),用于由 .syscfg 中的 --board 得到封装。 MSPM0: the device JSON in dist/deviceData/MSPM0*/ of a TI SysConfig installation (TI limited - license, for TI devices only). + license, for TI devices only); and the board definitions in source/ti/boards/.meta/ of the MSPM0 + SDK (the device and package of each LaunchPad, BSD-3-Clause), which give the package of a + .syscfg that names a --board. 用法 / Usage: - python scripts/build_pin_data.py --st-data --sysconfig + python scripts/build_pin_data.py --st-data --sysconfig \\ + --mspm0-sdk """ import argparse @@ -195,6 +199,39 @@ def build_mspm0(sysconfig: Path) -> dict: } +def read_boards(sdk: Path) -> dict: + """MSPM0 SDK 的板子定义:板名(文件名)到器件和封装。 + The board definitions of the MSPM0 SDK: the board name (the file name) to its device and + package. + + 定义文件是带注释的 JSON,这里只取 gpn(器件)和 pkg(封装)两个字段。 + The definition files are JSON with comments; only gpn (the device) and pkg (the package) are + read. + """ + boards = {} + for path in sorted((sdk / "source" / "ti" / "boards" / ".meta").glob("*.syscfg.json")): + text = path.read_text(encoding="utf-8") + device = re.search(r'"gpn":\s*"([^"]+)"', text) + package = re.search(r'"pkg":\s*"([^"]+)"', text) + if device and package: + boards[path.name.removesuffix(".syscfg.json")] = { + "device": device.group(1), + "package": package.group(1), + } + return boards + + +def board_license(sdk: Path) -> str: + """板子定义文件开头的版权和 BSD-3-Clause 许可证注释。 + The copyright and BSD-3-Clause license comment at the top of a board definition file. + """ + path = next((sdk / "source" / "ti" / "boards" / ".meta").glob("*.syscfg.json")) + text = path.read_text(encoding="utf-8") + comment = text[: text.index("*/")] + lines = [re.sub(r"^\s*/?\*+\$?\s?", "", line) for line in comment.splitlines()] + return "\n".join(lines).strip() + "\n" + + def write_gzip_json(path: Path, data: dict) -> None: """把 data 写成压缩的 JSON;不写时间戳,同样的数据得到同样的文件。 Write data as compressed JSON; no timestamp is written, so the same @@ -215,6 +252,7 @@ def main() -> None: parser = argparse.ArgumentParser(description=__doc__.split("\n")[0]) parser.add_argument("--st-data", type=Path, required=True, help="STM32_open_pin_data checkout") parser.add_argument("--sysconfig", type=Path, required=True, help="TI SysConfig installation") + parser.add_argument("--mspm0-sdk", type=Path, required=True, help="TI MSPM0 SDK checkout") parser.add_argument( "--output", type=Path, default=REPOSITORY / "src" / "libxr" / "pin_data", help="output dir" ) @@ -229,6 +267,21 @@ def main() -> None: for shard, sets in shards.items(): write_gzip_json(args.output / f"stm32-{shard}.json.gz", sets) write_gzip_json(args.output / "mspm0.json.gz", build_mspm0(args.sysconfig)) + boards = { + "source": { + "vendor": "Texas Instruments", + "dataset": "MSPM0 SDK source/ti/boards/.meta", + "commit": git_commit(args.mspm0_sdk), + "license": "BSD-3-Clause", + }, + "boards": read_boards(args.mspm0_sdk), + } + (args.output / "mspm0_boards.json").write_text( + json.dumps(boards, indent=1, sort_keys=True) + "\n", encoding="utf-8", newline="\n" + ) + (args.output / "LICENSE-TI-BOARDS.txt").write_text( + board_license(args.mspm0_sdk), encoding="utf-8", newline="\n" + ) # 许可证原文随数据分发。TI 的文件不是 UTF-8,转成 UTF-8 写出。 # The license texts are distributed with the data. TI's file is not UTF-8; it is written as # UTF-8. diff --git a/src/libxr/cli.py b/src/libxr/cli.py index e1ca987..83358e8 100644 --- a/src/libxr/cli.py +++ b/src/libxr/cli.py @@ -661,8 +661,10 @@ def _add_pins(commands) -> None: "-p", "--package", help=tr( - "package, for a model that does not name it (MSPM0: LQFP-64, PM, ...)", - "封装,用于型号中没有封装的情况(MSPM0:LQFP-64、PM 等)", + "package, for a model that does not name it (MSPM0: LQFP-64, PM, ...); with -d an " + "MSPM0 takes it from the SysConfig project", + "封装,用于型号中没有封装的情况(MSPM0:LQFP-64、PM 等);用 -d 时 MSPM0 取自 " + "SysConfig 工程", ), ) parser.add_argument( diff --git a/src/libxr/pin_data/LICENSE-TI-BOARDS.txt b/src/libxr/pin_data/LICENSE-TI-BOARDS.txt new file mode 100644 index 0000000..f98672a --- /dev/null +++ b/src/libxr/pin_data/LICENSE-TI-BOARDS.txt @@ -0,0 +1,29 @@ +Copyright (c) 2022 Texas Instruments Incorporated - http://www.ti.com +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +* Neither the name of Texas Instruments Incorporated nor the names of + its contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/src/libxr/pin_data/mspm0_boards.json b/src/libxr/pin_data/mspm0_boards.json new file mode 100644 index 0000000..0164fb9 --- /dev/null +++ b/src/libxr/pin_data/mspm0_boards.json @@ -0,0 +1,54 @@ +{ + "boards": { + "LP_MSPM0C1104": { + "device": "MSPM0C1104", + "package": "VSSOP-20(DGS20)" + }, + "LP_MSPM0C1106": { + "device": "MSPM0C1106", + "package": "VQFN-48(RGZ)" + }, + "LP_MSPM0G3218": { + "device": "MSPM0G3218", + "package": "LQFP-64(PM)" + }, + "LP_MSPM0G3507": { + "device": "MSPM0G3507", + "package": "LQFP-64(PM)" + }, + "LP_MSPM0G3519": { + "device": "MSPM0G3519", + "package": "LQFP-100(PZ)" + }, + "LP_MSPM0G5187": { + "device": "MSPM0G5187", + "package": "LQFP-64(PM)" + }, + "LP_MSPM0H3216": { + "device": "MSPM0H3216", + "package": "LQFP-48(PT)" + }, + "LP_MSPM0L1117": { + "device": "MSPM0L1117", + "package": "LQFP-48(PT)" + }, + "LP_MSPM0L1306": { + "device": "MSPM0L1306", + "package": "VQFN-32(RHB)" + }, + "LP_MSPM0L2117": { + "device": "MSPM0L2117", + "package": "LQFP-64(PM)" + }, + "LP_MSPM0L2228": { + "device": "MSPM0L2228", + "package": "LQFP-80(PN)" + } + }, + "source": { + "commit": "20807db79aa17b49f87ab8ec87f6b6d63ee2cb32", + "dataset": "MSPM0 SDK source/ti/boards/.meta", + "license": "BSD-3-Clause", + "vendor": "Texas Instruments" + } +} diff --git a/src/libxr/pin_project.py b/src/libxr/pin_project.py index 7be7495..3b00295 100644 --- a/src/libxr/pin_project.py +++ b/src/libxr/pin_project.py @@ -11,7 +11,10 @@ is, with matched false. """ +import json import re +from dataclasses import dataclass +from functools import cache from pathlib import Path import yaml @@ -223,6 +226,82 @@ def find_ti_header(directory: Path) -> Path | None: return None +SYSCFG_ARGS = re.compile(r"^[ \t]*(?://|\*)?[ \t]*@(v2)?[Cc]li[Aa]rgs[ \t]+(.*)$", re.M) + + +@dataclass +class Syscfg: + """一个 .syscfg 的 @cliArgs 里的封装和板子;没有的为 None。 + The package and board in the @cliArgs of a .syscfg; None for what it does not give. + """ + + package: str | None = None + board: str | None = None + + +def cli_option(arguments: str, name: str) -> str | None: + """@cliArgs 的参数串中 --name 的值(带引号或不带)。 + The value of --name in the argument string of an @cliArgs, quoted or not. + """ + match = re.search(rf'--{name}[ \t]+(?:"([^"]*)"|(\S+))', arguments) + return (match.group(1) if match.group(1) is not None else match.group(2)) if match else None + + +def read_syscfg(path: Path) -> Syscfg: + """读 .syscfg 开头的 @cliArgs 和 @v2CliArgs(后者在后,覆盖前者)。 + Read the @cliArgs and @v2CliArgs at the top of a .syscfg (the latter comes last and overrides + the former). + """ + info = Syscfg() + text = path.read_text(encoding="utf-8", errors="replace") + for _, arguments in sorted(SYSCFG_ARGS.findall(text), key=lambda found: found[0] == "v2"): + info.package = cli_option(arguments, "package") or info.package + board = cli_option(arguments, "board") + info.board = board.rsplit("/", 1)[-1] if board else info.board + return info + + +def find_syscfg(root: Path, header: Path) -> list[Path]: + """工程里的 .syscfg:根目录,头文件所在目录及其上一级,再往下一级的子目录;不进构建目录。 + The .syscfg files of a project: the root, the folder of the header and the one above it, then + the folders one level down; never a build folder. + """ + folders = [root, header.parent, header.parent.parent] + folders += [folder for folder in sorted(root.iterdir()) if folder.is_dir()] + found: list[Path] = [] + for folder in folders: + if folder.name in {"build", "cmake-build"}: + continue + for path in sorted(folder.glob("*.syscfg")): + if path not in found: + found.append(path) + return found + + +@cache +def load_boards() -> dict: + """MSPM0 SDK 的板子(LP_MSPM0G3507 等)到器件和封装。 + The boards of the MSPM0 SDK (LP_MSPM0G3507, ...) to their device and package. + """ + path = pin_layout.DATA / "mspm0_boards.json" + return json.loads(path.read_text(encoding="utf-8"))["boards"] + + +def syscfg_package(root: Path, header: Path) -> str | None: + """SysConfig 工程给出的封装:.syscfg 的 --package,或它的 --board 对应的板子的封装。 + The package the SysConfig project gives: the --package of a .syscfg, or the package of the + board its --board names. + """ + for path in find_syscfg(root, header): + info = read_syscfg(path) + if info.package: + return info.package + board = load_boards().get(info.board or "") + if board: + return board["package"] + return None + + def mspm0_model(header: Path) -> str: """ti_msp_dl_config.h 中的器件名:#define CONFIG_MSPM0G3507。 The device name in ti_msp_dl_config.h: #define CONFIG_MSPM0G3507. @@ -342,10 +421,12 @@ def layout_with_project( The layout and overlay of a project directory: recognize the platform, read the selected signals and return the layout dict with a project section. - 给出 model 时以它为准,否则取自工程(STM32 的 .ioc,MSPM0 的 ti_msp_dl_config.h)。 + 给出 model 时以它为准,否则取自工程(STM32 的 .ioc,MSPM0 的 ti_msp_dl_config.h)。MSPM0 的 + 封装取自 .syscfg,package 给出时以它为准。 libxr_config 默认为目录下的 User/libxr_config.yaml。 A given model wins; otherwise it comes from the project (the .ioc of an STM32, the - ti_msp_dl_config.h of an MSPM0). libxr_config defaults to User/libxr_config.yaml in the + ti_msp_dl_config.h of an MSPM0). The package of an MSPM0 comes from the .syscfg, and a given + package wins. libxr_config defaults to User/libxr_config.yaml in the directory. """ root = Path(directory) @@ -363,7 +444,11 @@ def layout_with_project( f"{root}:没有找到 STM32CubeMX 的 .ioc 或 SysConfig 的 ti_msp_dl_config.h", ) ) - layout = pin_layout.layout_pins(model or mspm0_model(header), package) + # 封装:-p 优先,否则取 SysConfig 工程(.syscfg)给出的。 + # The package: -p first, otherwise the one the SysConfig project (.syscfg) gives. + layout = pin_layout.layout_pins( + model or mspm0_model(header), package or syscfg_package(root, header) + ) assigned = mspm0_assignments(header, layout) source = header.relative_to(root).as_posix() info = pin_layout.layout_to_dict(layout) diff --git a/tests/test_pin_project.py b/tests/test_pin_project.py index d091158..49a7c45 100644 --- a/tests/test_pin_project.py +++ b/tests/test_pin_project.py @@ -2,6 +2,7 @@ libxr pins -d (libxr.pin_project): overlay the pin signals a project has selected on the layout. """ +import json import tempfile import textwrap import unittest @@ -10,6 +11,7 @@ import yaml from fixtures import IOC, TestCase, run_libxr +from libxr import pin_layout, pin_project from libxr.pin_project import layout_with_project # 一个 MSPM0G3507 工程的 ti_msp_dl_config.h 片段:UART0 的两个引脚和一个 GPIO 组。 @@ -285,6 +287,83 @@ def test_a_header_without_the_device_is_an_error(self): ) +class SyscfgPackage(TestCase): + """MSPM0 的封装取自 SysConfig 工程的 .syscfg:--package,或 --board 对应的 LaunchPad。 + The package of an MSPM0 comes from the .syscfg of the SysConfig project: its --package, or the + LaunchPad its --board names. + """ + + def package(self, syscfg: str | None, option=None, header_folder="sysconfig", syscfg_path=None): + """给出的 .syscfg 内容下,叠加结果里的封装(syscfg 为 None 时没有 .syscfg)。 + The package in the overlay for this .syscfg content (no .syscfg when it is None). + """ + with tempfile.TemporaryDirectory() as directory: + write(Path(directory), f"{header_folder}/ti_msp_dl_config.h", TI_HEADER) + if syscfg is not None: + write(Path(directory), syscfg_path or "sysconfig/project.syscfg", syscfg) + return layout_with_project(directory, None, option, None)["package"] + + def test_a_device_based_project_names_its_package(self): + for line in ( + '//@cliArgs --device "MSPM0G350X" --package "LQFP-64(PM)" --part "Default"', + ' * @cliArgs --device "MSPM0G3507" --package "LQFP-64(PM)"', + ): + with self.subTest(line=line): + self.assertEqual(self.package(line + "\n"), "LQFP-64(PM)") + + def test_a_board_based_project_gets_the_package_of_the_board(self): + for line in ( + "// @cliArgs --board /ti/boards/LP_MSPM0G3507 --rtos nortos", + ' * @cliArgs --board "/ti/boards/LP_MSPM0G3507" --product "mspm0_sdk@2.09.00.00"', + ): + with self.subTest(line=line): + self.assertEqual(self.package(line + "\n"), "LQFP-64(PM)") + + def test_the_v2_line_comes_last_and_wins(self): + text = ( + '//@cliArgs --device "MSPM0G350X" --package "VQFN-48(RGZ)" --part "Default"\n' + '//@v2CliArgs --device "MSPM0G3507" --package "LQFP-64(PM)"\n' + ) + self.assertEqual(self.package(text), "LQFP-64(PM)") + + def test_a_given_package_wins_over_the_project(self): + text = '//@cliArgs --device "MSPM0G350X" --package "LQFP-64(PM)"\n' + self.assertEqual(self.package(text, option="VQFN-48"), "VQFN-48(RGZ)") + + def test_the_syscfg_may_sit_in_the_root_while_the_header_is_in_a_build_output(self): + # CCS 的工程:.syscfg 在根目录,生成的头文件在 Debug/syscfg/。 + # A CCS project: the .syscfg in the root, the generated header in Debug/syscfg/. + text = '//@cliArgs --device "MSPM0G350X" --package "LQFP-48(PT)"\n' + self.assertEqual( + self.package(text, header_folder="Debug/syscfg", syscfg_path="empty.syscfg"), + "LQFP-48(PT)", + ) + + def test_without_a_package_the_error_asks_for_one(self): + for text in (None, "// nothing here\n", "// @cliArgs --board /ti/boards/LP_UNKNOWN\n"): + with self.subTest(text=text), self.assertRaises(ValueError) as caught: + self.package(text) + self.assertTrue( + str(caught.exception).startswith("Cannot tell the package of MSPM0G3507"), + str(caught.exception), + ) + + def test_the_board_table_has_the_launchpads_with_their_devices(self): + boards = pin_project.load_boards() + self.assertEqual( + boards["LP_MSPM0G3507"], {"device": "MSPM0G3507", "package": "LQFP-64(PM)"} + ) + self.assertEqual(boards["LP_MSPM0C1106"]["device"], "MSPM0C1106") + self.assertTrue(all(board["package"] for board in boards.values())) + + def test_the_board_table_ships_with_its_license(self): + text = (pin_layout.DATA / "LICENSE-TI-BOARDS.txt").read_text(encoding="utf-8") + self.assertIn("Texas Instruments Incorporated", text) + self.assertIn("Redistribution and use in source and binary forms", text) + source = json.loads((pin_layout.DATA / "mspm0_boards.json").read_text(encoding="utf-8")) + self.assertRegex(source["source"]["commit"], r"^[0-9a-f]{40}$") + + class NoProject(TestCase): """没有可识别的工程时报错。 A directory without a recognizable project is an error. From 72f9af099a8ce998fcfcdd3740de2edae85d4fae Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Mon, 5 Oct 2026 17:36:17 +0100 Subject: [PATCH 10/34] Give the SysConfig settings of an MSPM0 peripheral in libxr pins -d An MSPM0 has no libxr_config.yaml, but its peripherals are configured in the .syscfg (UART1.targetBaudRate = 2000000; UART1.peripheral.$assign = "UART0";). Each selected peripheral now carries a sysconfig entry (the module, the name such as UART_0 and the parameters) and project.sysconfig_file names the file. The script is read as it is written: strings, numbers (hex too), booleans and arrays by type, an expression as a string; pin assignments, the solver's $ items, comments, and what has no peripheral of its own (a GPIO group) are left out. A .syscfg outside the project is not read. The settings are read-only: SysConfig edits them. Co-Authored-By: Claude Sonnet 5.5 --- README.md | 2 + src/libxr/pin_project.py | 109 +++++++++++++++++++++++++++++++++- tests/test_pin_project.py | 120 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 228 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3c5a9e3..98f6050 100644 --- a/README.md +++ b/README.md @@ -679,6 +679,7 @@ pin_count: 64 - `pin_count` 是封装上的位置数。一个位置可以有多个条目:STM32G0 的 PA9 和 PA11 可以互换,共用一个位置。 - `peripherals` 列出从信号名识别出的全部外设和每个功能可选的引脚(`USART1` 的 `TX` 可以接 `PA9`、`PB6`、`PB14`)。识别只看信号名,ETH、FMC、OctoSPI 这些 LibXR 没有对应抽象的外设也会列出。普通 GPIO 按端口列出(`GPIOA` 的 `P9` 是 `PA9`);STM32 的外部中断列为 `EXTI`,`LINE9` 可以来自任一端口的第 9 脚,STM32 的引脚另有 `gpio_modes`(Input、Output、Analog、EXTI 等);有输出通道的定时器带 `capabilities: [pwm]`。TI 的器件数据没有中断信息,所以 MSPM0 不列 `EXTI`。 - MSPM0 的引脚还有 `iomux_pincm` 和每个信号的模式号 `modes`。 +- MSPM0 外设的设置取自 `.syscfg`(SysConfig 的配置脚本):每个已选外设的 `sysconfig` 有它的模块、名字(`UART_0`)和参数(`targetBaudRate`、`enabledInterrupts` 等),`project.sysconfig_file` 是读取的文件。只读,修改在 SysConfig 里进行;表达式原样保留为字符串,引脚的指定和求解器内部的项不收。 - 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件)。数据文件和两份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 MSPM0 的 `.syscfg` 里可能只写了 `--board`(LaunchPad),封装由 MSPM0 SDK 的板子定义得到(`mspm0_boards.json`,BSD-3-Clause,许可证文本为 `LICENSE-TI-BOARDS.txt`)。 - `libxr pins -d ` overlays the signals a project has selected: the CubeMX `.ioc` for an STM32, the `ti_msp_dl_config.h` SysConfig generates for an MSPM0 (the model comes from the project; the package of an MSPM0 comes from the `.syscfg`, or from `--package`). The output gets a `project` section: `assignments` is what each pin selected (signal, peripheral, function, GPIO label) and `peripherals` the pins each peripheral uses; an STM32 peripheral also gets its section and key in `libxr_config.yaml` (such as `USART.usart1`) and its current parameters, from `User/libxr_config.yaml` by default or the file given with `-c`. @@ -686,6 +687,7 @@ pin_count: 64 - `pin_count` is the number of positions on the package. A position can have several entries: PA9 and PA11 of an STM32G0 can be swapped and share one position. - `peripherals` lists every peripheral recognized from the signal names, with the pins that can carry each function (`TX` of `USART1` can use `PA9`, `PB6` or `PB14`). Recognition looks at the signal names only, so peripherals LibXR has no abstraction for, such as ETH, FMC and OctoSPI, are listed too. Plain GPIO is listed by port (`P9` of `GPIOA` is `PA9`); the external interrupts of an STM32 are listed as `EXTI`, where `LINE9` can come from pin 9 of any port, and an STM32 pin also has `gpio_modes` (Input, Output, Analog, EXTI, ...); a timer with output channels carries `capabilities: [pwm]`. TI's device data has no interrupt information, so an MSPM0 lists no `EXTI`. - An MSPM0 pin also has `iomux_pincm` and `modes`, the mode of each signal. +- The settings of an MSPM0 peripheral come from the `.syscfg`, the configuration script of SysConfig: each selected peripheral has a `sysconfig` with its module, its name (`UART_0`) and its parameters (`targetBaudRate`, `enabledInterrupts`, ...), and `project.sysconfig_file` is the file read. They are read-only, edited in SysConfig; an expression is kept as written, as a string, and pin assignments and the solver's own items are left out. - The data comes from the vendors: STM32 from ST's [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data) (BSD-3-Clause), MSPM0 from the device data of TI SysConfig (TI limited license, for TI devices only). The data files and both license texts are in `src/libxr/pin_data/` and are distributed with the package; `scripts/build_pin_data.py` rebuilds them. A `.syscfg` of an MSPM0 may name only a `--board` (a LaunchPad); the package then comes from the board definitions of the MSPM0 SDK (`mspm0_boards.json`, BSD-3-Clause, license text in `LICENSE-TI-BOARDS.txt`). --- diff --git a/src/libxr/pin_project.py b/src/libxr/pin_project.py index 3b00295..e1efa66 100644 --- a/src/libxr/pin_project.py +++ b/src/libxr/pin_project.py @@ -270,7 +270,10 @@ def find_syscfg(root: Path, header: Path) -> list[Path]: folders += [folder for folder in sorted(root.iterdir()) if folder.is_dir()] found: list[Path] = [] for folder in folders: - if folder.name in {"build", "cmake-build"}: + # Only inside the project: the folder above the header may be the root's parent. + if folder.name in {"build", "cmake-build"} or ( + folder != root and root not in folder.parents + ): continue for path in sorted(folder.glob("*.syscfg")): if path not in found: @@ -287,6 +290,94 @@ def load_boards() -> dict: return json.loads(path.read_text(encoding="utf-8"))["boards"] +SYSCFG_MODULE = re.compile( + r'^const\s+(\w+)\s*=\s*scripting\.addModule\(\s*"/ti/driverlib/(\w+)"', re.M +) +SYSCFG_INSTANCE = re.compile(r"^const\s+(\w+)\s*=\s*(\w+)\.addInstance\(\)", re.M) +SYSCFG_ASSIGNMENT = re.compile(r"^(\w+)((?:\.[$\w]+|\[\d+\])+)\s*=\s*(.+?);\s*$", re.M) + + +def syscfg_value(text: str): + """.syscfg 中赋值的右边:字符串、数字、布尔值和数组按其类型,表达式原样保留为字符串。 + The right side of an assignment in a .syscfg: strings, numbers, booleans and arrays as what + they are; an expression is kept as written, as a string. + """ + text = text.strip() + try: + return json.loads(text) + except ValueError: + pass + if re.fullmatch(r"0[xX][0-9a-fA-F]+", text): + return int(text, 16) + return text + + +def read_syscfg_settings(path: Path) -> dict[str, dict]: + """.syscfg 中每个外设的设置:外设实例(UART0)-> 模块、名字(UART_0)和参数。 + The settings of each peripheral in a .syscfg: the peripheral instance (UART0) -> its module, + its name (UART_0) and its parameters. + + SysConfig 的配置是脚本:UART1.targetBaudRate = 9600; 和 UART1.peripheral.$assign = "UART0";。 + 变量 UART1 是模块 UART 的一个实例,peripheral.$assign(用户指定)或 $suggestSolution(求解器 + 给出)说明它用的外设。引脚的指定和求解器内部的 $ 项不是设置,不收。 + The configuration of SysConfig is a script: UART1.targetBaudRate = 9600; and + UART1.peripheral.$assign = "UART0";. The variable UART1 is an instance of the module UART, and + peripheral.$assign (the user's) or $suggestSolution (the solver's) names the peripheral it + uses. The assignment of pins and the solver's own $ items are not settings and are left out. + """ + text = path.read_text(encoding="utf-8", errors="replace") + text = re.sub(r"/\*.*?\*/", "", text, flags=re.S) + text = re.sub(r"^[ \t]*//.*$", "", text, flags=re.M) + modules = {var: module for var, module in SYSCFG_MODULE.findall(text)} + instances = { + var: modules[module] for var, module in SYSCFG_INSTANCE.findall(text) if module in modules + } + found: dict[str, dict] = {} + for var, tail, value in SYSCFG_ASSIGNMENT.findall(text): + if var not in instances: + continue + entry = found.setdefault( + var, + { + "module": instances[var], + "name": None, + "assigned": None, + "suggested": None, + "params": {}, + }, + ) + if tail == ".$name": + entry["name"] = syscfg_value(value) + elif tail == ".peripheral.$assign": + entry["assigned"] = syscfg_value(value) + elif tail == ".peripheral.$suggestSolution": + entry["suggested"] = syscfg_value(value) + elif not tail.startswith(".peripheral.") and "$" not in tail: + entry["params"][tail.lstrip(".")] = syscfg_value(value) + settings = {} + for entry in found.values(): + peripheral = entry["assigned"] or entry["suggested"] + if peripheral: + settings[peripheral] = { + "module": entry["module"], + "name": entry["name"], + "params": entry["params"], + } + return settings + + +def syscfg_settings(root: Path, header: Path) -> tuple[Path | None, dict[str, dict]]: + """工程里第一个给出外设设置的 .syscfg 和其中的设置;没有时为 (None, {})。 + The first .syscfg of the project that gives peripheral settings, and the settings; (None, {}) + when none does. + """ + for path in find_syscfg(root, header): + settings = read_syscfg_settings(path) + if settings: + return path, settings + return None, {} + + def syscfg_package(root: Path, header: Path) -> str | None: """SysConfig 工程给出的封装:.syscfg 的 --package,或它的 --board 对应的板子的封装。 The package the SysConfig project gives: the --package of a .syscfg, or the package of the @@ -378,7 +469,12 @@ def config_key(platform: str, entry: dict) -> tuple[str, str] | None: return section, USB_KEYS.get(instance, instance.lower()) -def project_overlay(layout: PinLayout, assigned: dict[str, dict], config_path: Path | None) -> dict: +def project_overlay( + layout: PinLayout, + assigned: dict[str, dict], + config_path: Path | None, + sysconfig: dict[str, dict] | None = None, +) -> dict: """工程叠加结果:每个引脚的已选信号,以及每个已选外设用到的引脚和它在 libxr_config.yaml 中的设置。 The project overlay: the selected signal of each pin, and for each selected peripheral the @@ -393,6 +489,10 @@ def project_overlay(layout: PinLayout, assigned: dict[str, dict], config_path: P used = peripherals.setdefault(entry["peripheral"], {"kind": entry["kind"], "pins": {}}) used["pins"][entry["function"]] = pin_name for instance, used in peripherals.items(): + # MSPM0:外设的设置在 SysConfig 工程(.syscfg)里,只读给出。 + # MSPM0: the settings of a peripheral are in the SysConfig project (.syscfg), given read-only. + if sysconfig and instance in sysconfig: + used["sysconfig"] = sysconfig[instance] key = config_key(layout.platform, {"peripheral": instance, "kind": used["kind"]}) if key is None: continue @@ -431,6 +531,7 @@ def layout_with_project( """ root = Path(directory) config_path = Path(libxr_config) if libxr_config else root / "User" / "libxr_config.yaml" + syscfg_file, sysconfig = None, {} if sorted(root.glob("*.ioc")): chip, source, layout, assigned = stm32_assignments( root, lambda chip: pin_layout.layout_pins(model or chip, package) @@ -451,11 +552,13 @@ def layout_with_project( ) assigned = mspm0_assignments(header, layout) source = header.relative_to(root).as_posix() + syscfg_file, sysconfig = syscfg_settings(root, header) info = pin_layout.layout_to_dict(layout) info["project"] = { "directory": str(root), "source": source, "libxr_config": str(config_path) if config_path.is_file() else None, - **project_overlay(layout, assigned, config_path), + "sysconfig_file": syscfg_file.relative_to(root).as_posix() if syscfg_file else None, + **project_overlay(layout, assigned, config_path, sysconfig), } return info diff --git a/tests/test_pin_project.py b/tests/test_pin_project.py index 49a7c45..f6e7a29 100644 --- a/tests/test_pin_project.py +++ b/tests/test_pin_project.py @@ -364,6 +364,126 @@ def test_the_board_table_ships_with_its_license(self): self.assertRegex(source["source"]["commit"], r"^[0-9a-f]{40}$") +SYSCFG = textwrap.dedent("""\ + /** + * These arguments were used when this file was generated. + */ + // @cliArgs --board /ti/boards/LP_MSPM0G3507 --rtos nortos + const GPIO = scripting.addModule("/ti/driverlib/GPIO", {}, false); + const GPIO1 = GPIO.addInstance(); + const UART = scripting.addModule("/ti/driverlib/UART", {}, false); + const UART1 = UART.addInstance(); + const SPI = scripting.addModule("/ti/driverlib/SPI", {}, false); + const SPI1 = SPI.addInstance(); + const SYSCTL = system.modules["/ti/driverlib/SYSCTL"].$static; + + GPIO1.$name = "GPIO_GRP_0"; + GPIO1.associatedPins[0].assignedPin = "22"; + + UART1.$name = "UART_0"; + UART1.enabledInterrupts = ["RX","TX"]; + UART1.targetBaudRate = 2000000; + UART1.enableFIFO = false; + UART1.ovsRate = "3"; + UART1.txPinConfig.$name = "ti_driverlib_gpio_GPIOPinGeneric0"; + UART1.peripheral.$assign = "UART0"; + UART1.peripheral.txPin.$assign = "PA0"; + + SPI1.$name = "SPI_0"; + SPI1.targetBitRate = 0x100000; + SPI1.peripheral.$suggestSolution = "SPI1"; + + SYSCTL.powerPolicy = "STANDBY0"; + // UART1.targetBaudRate = 9600; +""") + + +class SysconfigSettings(TestCase): + """MSPM0 外设的设置取自 .syscfg,只读。 + The settings of an MSPM0 peripheral come from the .syscfg, read-only. + """ + + def test_the_settings_of_each_peripheral_are_read(self): + with tempfile.TemporaryDirectory() as directory: + path = write(Path(directory), "a.syscfg", SYSCFG) + settings = pin_project.read_syscfg_settings(path) + self.assertEqual( + settings["UART0"], + { + "module": "UART", + "name": "UART_0", + "params": { + "enabledInterrupts": ["RX", "TX"], + "targetBaudRate": 2000000, + "enableFIFO": False, + "ovsRate": "3", + }, + }, + ) + + def test_a_solver_suggestion_names_the_peripheral_and_a_hex_number_is_a_number(self): + with tempfile.TemporaryDirectory() as directory: + path = write(Path(directory), "a.syscfg", SYSCFG) + settings = pin_project.read_syscfg_settings(path) + self.assertEqual(settings["SPI1"]["params"], {"targetBitRate": 0x100000}) + + def test_what_is_not_a_setting_is_left_out(self): + with tempfile.TemporaryDirectory() as directory: + path = write(Path(directory), "a.syscfg", SYSCFG) + settings = pin_project.read_syscfg_settings(path) + # Pin assignments, the solver's $ items, comments, and what has no peripheral of its own + # (a GPIO group, a static module). + self.assertNotIn("txPinConfig.$name", settings["UART0"]["params"]) + self.assertEqual(sorted(settings), ["SPI1", "UART0"]) + self.assertEqual(settings["UART0"]["params"]["targetBaudRate"], 2000000) + + def test_an_expression_is_kept_as_written(self): + text = ( + 'const UART = scripting.addModule("/ti/driverlib/UART", {}, false);\n' + "const UART1 = UART.addInstance();\n" + "UART1.targetBaudRate = 2 * 1000000;\n" + 'UART1.peripheral.$assign = "UART0";\n' + ) + with tempfile.TemporaryDirectory() as directory: + path = write(Path(directory), "a.syscfg", text) + settings = pin_project.read_syscfg_settings(path) + self.assertEqual(settings["UART0"]["params"], {"targetBaudRate": "2 * 1000000"}) + + def overlay(self, files): + """给定文件的 MSPM0 工程的叠加结果。 + The overlay of an MSPM0 project with these files. + """ + with tempfile.TemporaryDirectory() as directory: + for name, text in files.items(): + write(Path(directory), name, text) + return layout_with_project(directory, None, "PM", None)["project"] + + def test_a_used_peripheral_carries_its_sysconfig_settings(self): + project = self.overlay( + {"sysconfig/ti_msp_dl_config.h": TI_HEADER, "sysconfig/p.syscfg": SYSCFG} + ) + self.assertEqual(project["sysconfig_file"], "sysconfig/p.syscfg") + uart = project["peripherals"]["UART0"]["sysconfig"] + self.assertEqual((uart["module"], uart["name"]), ("UART", "UART_0")) + self.assertEqual(uart["params"]["targetBaudRate"], 2000000) + # A peripheral the project does not use is not listed, and a GPIO has no settings. + self.assertNotIn("SPI1", project["peripherals"]) + self.assertNotIn("sysconfig", project["peripherals"]["GPIOB"]) + + def test_without_a_syscfg_there_are_no_settings(self): + project = self.overlay({"sysconfig/ti_msp_dl_config.h": TI_HEADER}) + self.assertIsNone(project["sysconfig_file"]) + self.assertNotIn("sysconfig", project["peripherals"]["UART0"]) + + def test_a_syscfg_outside_the_project_is_not_read(self): + with tempfile.TemporaryDirectory() as directory: + root = Path(directory) / "project" + write(root, "ti_msp_dl_config.h", TI_HEADER) + write(Path(directory), "other.syscfg", SYSCFG) + project = layout_with_project(str(root), None, "PM", None)["project"] + self.assertIsNone(project["sysconfig_file"]) + + class NoProject(TestCase): """没有可识别的工程时报错。 A directory without a recognizable project is an error. From 69e49edf05f7531620ed3b00f9d0f6675fdc369c Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Tue, 6 Oct 2026 15:33:33 +0100 Subject: [PATCH 11/34] Read the pin layout of MSPM0 and HPM projects from their tool projects libxr pins -d reads the root .syscfg of an MSPM0 project (device, package, signals and labels, with the solver's $suggestSolution and the board table as fallbacks); the ti_msp_dl_config.h fallback is gone. The MSPM0 data is rebuilt with SysConfig 1.28.1 and carries the power domain of 108 peripheral instances. HPM projects are new: the layout comes from the .hpmpc and the pinmux functions that User/main.cpp calls outside any #if. The HPM data (HPM5301/5361/53M1, four packages, analog functions included) is built from hpm_iomux.h and the ball tables of the datasheets. --- scripts/build_pin_data.py | 232 +++++++++++++--- src/libxr/pin_data/LICENSE-HPM.txt | 31 +++ src/libxr/pin_data/hpm.json.gz | Bin 0 -> 5125 bytes src/libxr/pin_data/mspm0.json.gz | Bin 52593 -> 61188 bytes src/libxr/pin_layout.py | 66 ++++- src/libxr/pin_project.py | 410 ++++++++++++++++++--------- tests/test_pin_layout.py | 41 ++- tests/test_pin_project.py | 427 +++++++++++++++++++++-------- 8 files changed, 906 insertions(+), 301 deletions(-) create mode 100644 src/libxr/pin_data/LICENSE-HPM.txt create mode 100644 src/libxr/pin_data/hpm.json.gz diff --git a/scripts/build_pin_data.py b/scripts/build_pin_data.py index ce16e15..f4d2048 100644 --- a/scripts/build_pin_data.py +++ b/scripts/build_pin_data.py @@ -139,11 +139,13 @@ def family_prefixes(family: str) -> list[str]: return [first] + [first[: len(first) - len(other)] + other for other in others] -def read_mspm0_family(path: Path) -> dict: +def read_mspm0_family(path: Path) -> tuple[dict, dict[str, int]]: """读取一个 MSPM0 器件族的 JSON,返回其每个封装的引脚: - [位置, 名称, 类型, PINCM, [[信号, 模式]...]]。 + [位置, 名称, 类型, PINCM, [[信号, 模式]...]];以及每个外设实例的电源域编号(0 为 PD0, + 总线时钟是 ULPCLK;1 为 PD1,是 MCLK),UART0 -> 1。 Read the JSON of one MSPM0 family; return the pins of each of its packages as - [position, name, type, PINCM, [[signal, mode]...]]. + [position, name, type, PINCM, [[signal, mode]...]], and the power domain number of each + peripheral instance (0 is PD0, whose bus clock is ULPCLK; 1 is PD1, on MCLK), UART0 -> 1. """ data = json.loads(path.read_text(encoding="utf-8")) muxes = {mux["devicePinID"]: mux["muxSetting"] for mux in data["muxes"]} @@ -173,19 +175,28 @@ def read_mspm0_family(path: Path) -> dict: ) pins.sort(key=lambda pin: (len(pin[0]), pin[0])) packages[package["name"]] = pins - return packages + power_domains = { + peripheral["name"]: attributes["POWER_DOMAIN_NUMBER"] + for peripheral in data["peripherals"].values() + if isinstance(attributes := peripheral.get("attributes", {}), dict) + and isinstance(attributes.get("POWER_DOMAIN_NUMBER"), int) + } + return packages, power_domains def build_mspm0(sysconfig: Path) -> dict: - """MSPM0 数据:每个器件族的型号前缀和各封装的引脚。 - The MSPM0 data: the model prefixes of each family and the pins of its packages. + """MSPM0 数据:每个器件族的型号前缀、各封装的引脚和外设实例的电源域。 + The MSPM0 data: the model prefixes of each family, the pins of its packages and the power + domain of each peripheral instance. """ root = sysconfig / "dist" / "deviceData" families = {} for directory in sorted(root.glob("MSPM0*")): + packages, power_domains = read_mspm0_family(directory / f"{directory.name}.json") families[directory.name] = { "prefixes": family_prefixes(directory.name), - "packages": read_mspm0_family(directory / f"{directory.name}.json"), + "packages": packages, + "power_domains": power_domains, } version = (sysconfig / "dist" / "version.txt").read_text(encoding="utf-8").strip() return { @@ -199,6 +210,119 @@ def build_mspm0(sysconfig: Path) -> dict: } +HPM_IOMUX = re.compile( + r"^#define\s+IOC_(P[A-Z]\d+)_FUNC_CTL_(\w+)\s+IOC_PAD_FUNC_CTL_ALT_SELECT_SET\((\d+)\)", re.M +) +HPM_PAD = re.compile(r"P[A-Z]\d+") + + +def read_hpm_signals(soc_dir: Path) -> dict[str, list[list]]: + """一个 HPM SoC 的 hpm_iomux.h:焊盘 -> [[信号名, ALT 编号]...],信号名与头文件的宏一致 + (UART0_TXD、GPTMR1_COMP_0、GPIO_A_00)。 + The hpm_iomux.h of one HPM SoC: pad -> [[signal name, ALT number]...], the names as the + header's macros spell them (UART0_TXD, GPTMR1_COMP_0, GPIO_A_00). + """ + signals: dict[str, list[list]] = {} + for pad, name, alt in HPM_IOMUX.findall((soc_dir / "hpm_iomux.h").read_text(encoding="utf-8")): + signals.setdefault(pad, []).append([name, int(alt)]) + return signals + + +def read_hpm_balls(datasheet: Path) -> tuple[dict[str, dict[str, str]], dict[str, list[str]]]: + """数据手册 PINMUX 表里的焊盘封装映射:焊盘 -> 封装 -> 球号;以及每个焊盘的模拟功能 + (ADC0_IN2 等,数字的 hpm_iomux.h 里没有它们;单元格里折行的名字拼回去)。 + The pad-package map from the PINMUX table of a datasheet: pad -> package -> ball; and the + analog functions of each pad (ADC0_IN2, ...; the digital hpm_iomux.h does not have them, + names wrapped inside a cell are joined back). + """ + import pdfplumber + + balls: dict[str, dict[str, str]] = {} + analog: dict[str, list[str]] = {} + with pdfplumber.open(datasheet) as pdf: + for page in pdf.pages: + for table in page.extract_tables(): + if ( + len(table) < 3 + or len(table[1]) < 5 + or not table[1][4] + or table[1][4] != "PINNAME" + ): + continue + packages = [re.sub(r"[^A-Z0-9]", "", str(name).upper()) for name in table[1][:4]] + for row in table[2:]: + pad = str(row[4]).strip() if row[4] else "" + if not HPM_PAD.fullmatch(pad): + continue + for index, package in enumerate(packages): + ball = str(row[index]).strip() if row[index] else "" + if not ball or ball == "-": + continue + balls.setdefault(pad, {})[package] = ball + names: list[str] = [] + for part in str(row[6] or "").split("\n"): + if part in ("", "-"): + continue + # 名字在单元格里折行:下半段以下划线开头,拼回上一个名字。 + # A name wraps inside the cell: the second half starts with an + # underscore and continues the previous name. + if part.startswith("_") and names: + names[-1] += part + else: + names.append(part) + if names: + known = analog.setdefault(pad, []) + known.extend(name for name in names if name not in known) + return balls, analog + + +def build_hpm(sdk: Path, datasheet: Path, series: str) -> dict: + """HPM 数据:一个系列(HPM5300)里每个 SoC 的各封装引脚;信号取自 SDK 的 hpm_iomux.h + (BSD-3-Clause),球号取自该系列的数据手册 PINMUX 表(hpmicro.com)。 + The HPM data: the pins of each package of every SoC of one series (HPM5300); the signals + come from the SDK's hpm_iomux.h (BSD-3-Clause), the balls from that series' datasheet PINMUX + table (hpmicro.com). + """ + balls, analog = read_hpm_balls(datasheet) + socs = {} + for soc_dir in sorted((sdk / "soc" / series).glob("*")): + if not (soc_dir / "hpm_iomux.h").is_file(): + continue + signals = read_hpm_signals(soc_dir) + # 模拟功能(ADC、ACMP、OPA 的输入输出)补进信号表;数字头文件里没有它们。 + # The analog functions (the inputs and outputs of ADC, ACMP and OPA) join the signal + # lists; the digital header does not have them. + for pad, names in analog.items(): + known = {name for name, _ in signals.get(pad, [])} + signals.setdefault(pad, []).extend([name, None] for name in names if name not in known) + packages = {} + for package in balls[next(iter(balls))]: + pins = [ + [ + ball, + pad, + "GPIO", + None, + signals.get(pad, []), + ] + for pad, package_balls in sorted(balls.items()) + for ball in [package_balls.get(package)] + if ball and pad in signals + ] + pins.sort(key=lambda pin: (len(pin[0]), pin[0])) + packages[package] = pins + socs[soc_dir.name] = {"packages": packages} + return { + "source": { + "vendor": "HPMicro", + "dataset": f"hpm_sdk soc/{series}/*/hpm_iomux.h; {datasheet.stem} pin tables", + "commit": git_commit(sdk), + "license": "BSD-3-Clause", + }, + "socs": socs, + } + + def read_boards(sdk: Path) -> dict: """MSPM0 SDK 的板子定义:板名(文件名)到器件和封装。 The board definitions of the MSPM0 SDK: the board name (the file name) to its device and @@ -250,45 +374,71 @@ def main() -> None: Parse the arguments and write the data files and the license texts. """ parser = argparse.ArgumentParser(description=__doc__.split("\n")[0]) - parser.add_argument("--st-data", type=Path, required=True, help="STM32_open_pin_data checkout") - parser.add_argument("--sysconfig", type=Path, required=True, help="TI SysConfig installation") - parser.add_argument("--mspm0-sdk", type=Path, required=True, help="TI MSPM0 SDK checkout") + parser.add_argument("--st-data", type=Path, help="STM32_open_pin_data checkout") + parser.add_argument("--sysconfig", type=Path, help="TI SysConfig installation") + parser.add_argument("--mspm0-sdk", type=Path, help="TI MSPM0 SDK checkout") + parser.add_argument("--hpm-sdk", type=Path, help="HPM SDK checkout") + parser.add_argument("--hpm-datasheet", type=Path, help="HPM series datasheet PDF") + parser.add_argument("--hpm-series", help="the HPM series the datasheet covers (HPM5300)") parser.add_argument( "--output", type=Path, default=REPOSITORY / "src" / "libxr" / "pin_data", help="output dir" ) args = parser.parse_args() args.output.mkdir(parents=True, exist_ok=True) - # 先清掉旧的数据文件,不留下已经不存在的分片。 - # Remove the old data files first, so no shard that no longer exists stays. - for old in args.output.glob("*.json.gz"): - old.unlink() - index, shards = build_stm32(args.st_data) - write_gzip_json(args.output / "stm32.json.gz", index) - for shard, sets in shards.items(): - write_gzip_json(args.output / f"stm32-{shard}.json.gz", sets) - write_gzip_json(args.output / "mspm0.json.gz", build_mspm0(args.sysconfig)) - boards = { - "source": { - "vendor": "Texas Instruments", - "dataset": "MSPM0 SDK source/ti/boards/.meta", - "commit": git_commit(args.mspm0_sdk), - "license": "BSD-3-Clause", - }, - "boards": read_boards(args.mspm0_sdk), - } - (args.output / "mspm0_boards.json").write_text( - json.dumps(boards, indent=1, sort_keys=True) + "\n", encoding="utf-8", newline="\n" - ) - (args.output / "LICENSE-TI-BOARDS.txt").write_text( - board_license(args.mspm0_sdk), encoding="utf-8", newline="\n" - ) - # 许可证原文随数据分发。TI 的文件不是 UTF-8,转成 UTF-8 写出。 - # The license texts are distributed with the data. TI's file is not UTF-8; it is written as - # UTF-8. - (args.output / "LICENSE-ST.txt").write_bytes((args.st_data / "LICENSE").read_bytes()) - ti_bytes = (args.sysconfig / "dist" / "license.txt").read_bytes() - ti_text = ti_bytes.decode("cp1252").replace("\r\n", "\n") - (args.output / "LICENSE-TI.txt").write_text(ti_text, encoding="utf-8", newline="\n") + if (args.sysconfig is None) != (args.mspm0_sdk is None): + parser.error("--sysconfig and --mspm0-sdk go together") + if (args.hpm_sdk is None) != (args.hpm_datasheet is None): + parser.error("--hpm-sdk and --hpm-datasheet go together") + if args.hpm_sdk is not None and not args.hpm_series: + parser.error("--hpm-series names the series the datasheet covers (HPM5300)") + if args.st_data is None and args.sysconfig is None and args.hpm_sdk is None: + parser.error( + "give --st-data, --sysconfig with --mspm0-sdk, or --hpm-datasheet with --hpm-sdk" + ) + if args.st_data is not None: + # 先清掉旧的分片,不留下已经不存在的系列。 + # Remove the old shards first, so no series that no longer exists stays. + for old in args.output.glob("stm32*.json.gz"): + old.unlink() + index, shards = build_stm32(args.st_data) + write_gzip_json(args.output / "stm32.json.gz", index) + for shard, sets in shards.items(): + write_gzip_json(args.output / f"stm32-{shard}.json.gz", sets) + (args.output / "LICENSE-ST.txt").write_bytes((args.st_data / "LICENSE").read_bytes()) + if args.sysconfig is not None: + for old in ("mspm0.json.gz", "mspm0_boards.json", "LICENSE-TI-BOARDS.txt"): + (args.output / old).unlink(missing_ok=True) + write_gzip_json(args.output / "mspm0.json.gz", build_mspm0(args.sysconfig)) + boards = { + "source": { + "vendor": "Texas Instruments", + "dataset": "MSPM0 SDK source/ti/boards/.meta", + "commit": git_commit(args.mspm0_sdk), + "license": "BSD-3-Clause", + }, + "boards": read_boards(args.mspm0_sdk), + } + (args.output / "mspm0_boards.json").write_text( + json.dumps(boards, indent=1, sort_keys=True) + "\n", encoding="utf-8", newline="\n" + ) + (args.output / "LICENSE-TI-BOARDS.txt").write_text( + board_license(args.mspm0_sdk), encoding="utf-8", newline="\n" + ) + # 许可证原文随数据分发。TI 的文件不是 UTF-8,转成 UTF-8 写出。 + # The license texts are distributed with the data. TI's file is not UTF-8; it is written + # as UTF-8. + ti_bytes = (args.sysconfig / "dist" / "license.txt").read_bytes() + ti_text = ti_bytes.decode("cp1252").replace("\r\n", "\n") + (args.output / "LICENSE-TI.txt").write_text(ti_text, encoding="utf-8", newline="\n") + if args.hpm_sdk is not None: + (args.output / "hpm.json.gz").unlink(missing_ok=True) + write_gzip_json( + args.output / "hpm.json.gz", + build_hpm(args.hpm_sdk, args.hpm_datasheet, args.hpm_series), + ) + # SDK 的许可证原文随数据分发。 + # The SDK's license text is distributed with the data. + (args.output / "LICENSE-HPM.txt").write_bytes((args.hpm_sdk / "LICENSE").read_bytes()) if __name__ == "__main__": diff --git a/src/libxr/pin_data/LICENSE-HPM.txt b/src/libxr/pin_data/LICENSE-HPM.txt new file mode 100644 index 0000000..fcbba7d --- /dev/null +++ b/src/libxr/pin_data/LICENSE-HPM.txt @@ -0,0 +1,31 @@ +BSD 3-Clause "New" or "Revised" License +https://spdx.org/licenses/BSD-3-Clause.html + +Copyright (c) 2021-2023, HPMicro. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors +may be used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + diff --git a/src/libxr/pin_data/hpm.json.gz b/src/libxr/pin_data/hpm.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..bc5373a693dba1ff402a718d90c210339171bd8d GIT binary patch literal 5125 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

#+pO!RM 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 literal 52593 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 diff --git a/src/libxr/pin_layout.py b/src/libxr/pin_layout.py index d1b83d6..4052968 100644 --- a/src/libxr/pin_layout.py +++ b/src/libxr/pin_layout.py @@ -201,6 +201,55 @@ def layout_mspm0(model: str, package: str | None) -> PinLayout: return PinLayout("mspm0", model, part.group(0) if part else model, chosen, data["source"], pins) +def layout_hpm(model: str, package: str | None) -> PinLayout: + """HPM SoC 的布局:型号即 SoC 名(HPM5301),封装名与数据一致(QFN48)。 + The layout of an HPM SoC: the model is the SoC name (HPM5301), and the package name matches + the data (QFN48). + """ + data = load_data("hpm") + socs = data["socs"] + soc = socs.get(model) + if soc is None: + raise ValueError( + tr( + f"Unknown HPM SoC: {model}; this data has {', '.join(socs)}", + f"未知的 HPM SoC:{model};数据里有 {'、'.join(socs)}", + ) + ) + packages = soc["packages"] + chosen = None + if package is not None: + chosen = next((name for name in packages if package.upper() == name.upper()), None) + if chosen is None: + raise ValueError( + tr( + f"{model} has no package {package}; this SoC has {', '.join(packages)}", + f"{model} 没有封装 {package};该 SoC 有 {'、'.join(packages)}", + ) + ) + elif len(packages) == 1: + chosen = next(iter(packages)) + if chosen is None: + raise ValueError( + tr( + f"Cannot tell the package of {model}; give it with --package" + f" ({', '.join(packages)})", + f"无法从 {model} 判断封装;请用 --package 给出({'、'.join(packages)})", + ) + ) + pins = [ + Pin( + position, + name, + kind, + [signal for signal, _ in signals], + {"modes": {signal: mode for signal, mode in signals}}, + ) + for position, name, kind, _, signals in packages[chosen] + ] + return PinLayout("hpm", model, model, chosen, data["source"], pins) + + def recognize_stm32(signal: str) -> tuple[str, str, str] | None: """识别 ST 的信号名:返回外设实例、外设类型和功能,不是外设信号(GPIO)时返回 None。 Recognize an ST signal name: return the peripheral instance, the peripheral kind and the @@ -243,9 +292,23 @@ def recognize_mspm0(signal: str) -> tuple[str, str, str] | None: return match.group(1), re.sub(r"\d+$", "", match.group(1)), match.group(2) +def recognize_hpm(signal: str) -> tuple[str, str, str] | None: + """识别 HPM 的信号名(hpm_iomux.h 的宏名):UART0_TXD 为 UART0、UART、TXD;GPIO 的复用 + (GPIO_A_00)是引脚自己的普通用法,返回 None。 + Recognize an HPM signal name (the macro name of hpm_iomux.h): UART0_TXD is UART0, UART, TXD; + the GPIO mux (GPIO_A_00) is the pin's own plain use, so None. + """ + if signal.startswith("GPIO_"): + return None + match = re.fullmatch(r"([A-Za-z0-9]+)_(.+)", signal) + if match is None: + return None + return match.group(1), re.sub(r"\d+$", "", match.group(1)), match.group(2) + + # 各平台识别信号名的函数。 # The function of each platform that recognizes a signal name. -RECOGNIZERS = {"stm32": recognize_stm32, "mspm0": recognize_mspm0} +RECOGNIZERS = {"stm32": recognize_stm32, "mspm0": recognize_mspm0, "hpm": recognize_hpm} def natural_key(name: str) -> list: @@ -335,6 +398,7 @@ def add(instance: str, kind: str, function: str, pin: Pin) -> None: PLATFORMS = ( ("stm32", "STM32", layout_stm32), ("mspm0", "MSPM0", layout_mspm0), + ("hpm", "HPM", layout_hpm), ) diff --git a/src/libxr/pin_project.py b/src/libxr/pin_project.py index e1efa66..1d9f271 100644 --- a/src/libxr/pin_project.py +++ b/src/libxr/pin_project.py @@ -2,13 +2,15 @@ libxr pins -d: overlay the pin signals a project has selected on the layout, and tie them to the peripheral settings of libxr_config.yaml. -STM32 的已选信号来自 CubeMX 的 .ioc(Pxn.Signal),MSPM0 的来自 SysConfig 生成的 -ti_msp_dl_config.h(IOMUX_PINCMn_PF_ 宏)。信号按布局中该引脚的可选信号核对;核对不上的原样 -给出,matched 为 false。 +STM32 的已选信号来自 CubeMX 的 .ioc(Pxn.Signal),MSPM0 的来自根目录 SysConfig 工程 +(.syscfg)的 $assign 行(求解器选的 $suggestSolution 作兜底),HPM 的来自 boards/ 下 .hpmpc +里 main.cpp 调用的 pinmux 函数。信号按布局中该引脚的可选信号核对;核对不上的原样给出, +matched 为 false。 The selected signals of an STM32 come from the CubeMX .ioc (Pxn.Signal), those of an MSPM0 from -the ti_msp_dl_config.h SysConfig generates (the IOMUX_PINCMn_PF_ macros). A signal is checked -against the selectable signals of its pin in the layout; one that does not match is given as it -is, with matched false. +the $assign lines of a SysConfig project (.syscfg) in the root (the solver's $suggestSolution +as the fallback), and those of an HPM from the pinmux functions of the .hpmpc under boards/ +that main.cpp calls. A signal is checked against the selectable signals of its pin in the +layout; one that does not match is given as it is, with matched false. """ import json @@ -207,34 +209,16 @@ def stm32_assignments(directory: Path, layout_for) -> tuple[str, str, PinLayout, return model, iocs[0].name, layout, assigned -def find_ti_header(directory: Path) -> Path | None: - """工程里 SysConfig 生成的 ti_msp_dl_config.h:先看根目录和 sysconfig/,再找三层以内。 - The ti_msp_dl_config.h SysConfig generated in a project: the root and sysconfig/ first, then - up to three levels down. - """ - for candidate in ( - directory / "ti_msp_dl_config.h", - directory / "sysconfig" / "ti_msp_dl_config.h", - ): - if candidate.is_file(): - return candidate - for path in sorted(directory.glob("*/*/ti_msp_dl_config.h")) + sorted( - directory.glob("*/*/*/ti_msp_dl_config.h") - ): - if not {"build", "cmake-build"} & set(path.parts): - return path - return None - - SYSCFG_ARGS = re.compile(r"^[ \t]*(?://|\*)?[ \t]*@(v2)?[Cc]li[Aa]rgs[ \t]+(.*)$", re.M) @dataclass class Syscfg: - """一个 .syscfg 的 @cliArgs 里的封装和板子;没有的为 None。 - The package and board in the @cliArgs of a .syscfg; None for what it does not give. + """一个 .syscfg 的 @cliArgs 里的器件、封装和板子;没有的为 None。 + The device, package and board in the @cliArgs of a .syscfg; None for what it does not give. """ + device: str | None = None package: str | None = None board: str | None = None @@ -255,32 +239,13 @@ def read_syscfg(path: Path) -> Syscfg: info = Syscfg() text = path.read_text(encoding="utf-8", errors="replace") for _, arguments in sorted(SYSCFG_ARGS.findall(text), key=lambda found: found[0] == "v2"): + info.device = cli_option(arguments, "device") or info.device info.package = cli_option(arguments, "package") or info.package board = cli_option(arguments, "board") info.board = board.rsplit("/", 1)[-1] if board else info.board return info -def find_syscfg(root: Path, header: Path) -> list[Path]: - """工程里的 .syscfg:根目录,头文件所在目录及其上一级,再往下一级的子目录;不进构建目录。 - The .syscfg files of a project: the root, the folder of the header and the one above it, then - the folders one level down; never a build folder. - """ - folders = [root, header.parent, header.parent.parent] - folders += [folder for folder in sorted(root.iterdir()) if folder.is_dir()] - found: list[Path] = [] - for folder in folders: - # Only inside the project: the folder above the header may be the root's parent. - if folder.name in {"build", "cmake-build"} or ( - folder != root and root not in folder.parents - ): - continue - for path in sorted(folder.glob("*.syscfg")): - if path not in found: - found.append(path) - return found - - @cache def load_boards() -> dict: """MSPM0 SDK 的板子(LP_MSPM0G3507 等)到器件和封装。 @@ -295,6 +260,12 @@ def load_boards() -> dict: ) SYSCFG_INSTANCE = re.compile(r"^const\s+(\w+)\s*=\s*(\w+)\.addInstance\(\)", re.M) SYSCFG_ASSIGNMENT = re.compile(r"^(\w+)((?:\.[$\w]+|\[\d+\])+)\s*=\s*(.+?);\s*$", re.M) +SYSCFG_GPIO_PIN = re.compile(r"^\.associatedPins\[(\d+)\]\.pin\.\$assign$") +SYSCFG_GPIO_PIN_SUGGESTED = re.compile(r"^\.associatedPins\[(\d+)\]\.pin\.\$suggestSolution$") +SYSCFG_GPIO_NAME = re.compile(r"^\.associatedPins\[(\d+)\]\.\$name$") +SYSCFG_PERIPH_PIN = re.compile(r"^\.peripheral\.(\w*Pin\w*)\.\$assign$") +SYSCFG_PERIPH_PIN_SUGGESTED = re.compile(r"^\.peripheral\.(\w*Pin\w*)\.\$suggestSolution$") +SYSCFG_ADC_PIN = re.compile(r"^[Aa][Dd][Cc]Pin(\d+)$") def syscfg_value(text: str): @@ -366,92 +337,208 @@ def read_syscfg_settings(path: Path) -> dict[str, dict]: return settings -def syscfg_settings(root: Path, header: Path) -> tuple[Path | None, dict[str, dict]]: - """工程里第一个给出外设设置的 .syscfg 和其中的设置;没有时为 (None, {})。 - The first .syscfg of the project that gives peripheral settings, and the settings; (None, {}) - when none does. - """ - for path in find_syscfg(root, header): - settings = read_syscfg_settings(path) - if settings: - return path, settings - return None, {} +def peripheral_entry(pin: Pin, instance: str, member: str) -> dict: + """外设引脚的叠加项:在引脚的信号表中认出 <外设>.<功能>;认不出时按成员名原样给出。 + The overlay entry of a peripheral pin: recognize . among the signals of + the pin; without a match the signal is given from the member name as it is. + 成员名是 SysConfig 的引脚成员:rxPin、cs0Pin、OutPin、adcPin3(数字是 ADC 的通道)。 + The member is a pin member of SysConfig: rxPin, cs0Pin, OutPin, adcPin3 (the digit is the + channel of the ADC). -def syscfg_package(root: Path, header: Path) -> str | None: - """SysConfig 工程给出的封装:.syscfg 的 --package,或它的 --board 对应的板子的封装。 - The package the SysConfig project gives: the --package of a .syscfg, or the package of the - board its --board names. + TI 对 CANFD 的功能名带 CAN 前缀(CANRX、CANTX),成员名没有,按后缀核对。 + TI names the functions of a CANFD with the CAN prefix (CANRX, CANTX) that the member names + leave out, so the check also accepts the suffix. """ - for path in find_syscfg(root, header): - info = read_syscfg(path) - if info.package: - return info.package - board = load_boards().get(info.board or "") - if board: - return board["package"] - return None + adc = SYSCFG_ADC_PIN.match(member) + target = adc.group(1) if adc else member.replace("Pin", "").upper() + candidates = [s for s in pin.signals if "." in s and s.split(".", 1)[0] == instance] + chosen = None + if len(candidates) == 1: + chosen = candidates[0] + else: + for signal in candidates: + function = signal.split(".", 1)[1] + if function.upper() == target or (target and function.upper().endswith(target)): + chosen = signal + break + return { + "signal": chosen or f"{instance}.{target}", + "peripheral": instance, + "kind": re.sub(r"\d+$", "", instance), + "function": chosen.split(".", 1)[1] if chosen else target, + "matched": chosen is not None, + } -def mspm0_model(header: Path) -> str: - """ti_msp_dl_config.h 中的器件名:#define CONFIG_MSPM0G3507。 - The device name in ti_msp_dl_config.h: #define CONFIG_MSPM0G3507. +def syscfg_assignments(path: Path, layout: PinLayout) -> dict[str, dict]: + """.syscfg 中 MSPM0 的已选信号:引脚名 -> 信号及其识别结果。 + The selected signals of an MSPM0 in a .syscfg: pin name -> signal and what it was recognized + as. + + 外设引脚是 <实例>.peripheral.<功能>Pin.$assign(<实例> 取 peripheral.$assign 指定的外设, + 功能按引脚的信号表核对),GPIO 是 <变量>.associatedPins[i].pin.$assign,标签取引脚的 + $name。求解器选的 $suggestSolution 兜底,$assign 优先;DMA 通道和 clockTree 的晶振引脚 + 不收。 + A peripheral pin is .peripheral.Pin.$assign (the instance is the + peripheral peripheral.$assign names, and the function is checked against the signals of the + pin), a GPIO one is .associatedPins[i].pin.$assign, with the label from the $name + of the pin. The solver's $suggestSolution is the fallback, and $assign wins; the DMA + channels and the oscillator pins of the clock tree are left out. """ - match = re.search( - r"^#define\s+CONFIG_(MSPM0[A-Z]\d{4})\s*$", header.read_text(encoding="utf-8"), re.M + text = path.read_text(encoding="utf-8", errors="replace") + text = re.sub(r"/\*.*?\*/", "", text, flags=re.S) + text = re.sub(r"^[ \t]*//.*$", "", text, flags=re.M) + modules = {var: module for var, module in SYSCFG_MODULE.findall(text)} + # 单例外设(DAC12 等)没有 addInstance,直接配在模块变量上。 + # A singleton peripheral (DAC12, ...) has no addInstance; the module variable is configured + # directly. + instances = dict(modules) + instances.update( + {var: modules[module] for var, module in SYSCFG_INSTANCE.findall(text) if module in modules} ) - if match is None: - raise ValueError( - tr( - f"{header} does not name the MSPM0 device (no CONFIG_MSPM0... line)", - f"{header} 中没有器件名(没有 CONFIG_MSPM0... 行)", - ) - ) - return match.group(1) - - -def mspm0_assignments(header: Path, layout: PinLayout) -> dict[str, dict]: - """ti_msp_dl_config.h 中 MSPM0 的已选信号:引脚名 -> 信号及其识别结果。 - The selected signals of an MSPM0 in ti_msp_dl_config.h: pin name -> signal and what it was - recognized as. - - 外设引脚是 IOMUX_PINCMn_PF_<外设>_<功能> 宏;普通 GPIO 是 <名字>_IOMUX (IOMUX_PINCMn), - 名字作为标签。 - A peripheral pin is an IOMUX_PINCMn_PF__ macro; a plain GPIO is - _IOMUX (IOMUX_PINCMn), with the name as its label. - """ - text = header.read_text(encoding="utf-8") - by_pincm = { - pin.extra["iomux_pincm"]: pin for pin in layout.pins if pin.extra.get("iomux_pincm") - } - assigned: dict[str, dict] = {} - for match in re.finditer(r"^#define\s+\w+_FUNC\s+IOMUX_PINCM(\d+)_PF_(\w+)\s*$", text, re.M): - pin = by_pincm.get(int(match.group(1))) - if pin is None or "_" not in match.group(2): + peripheral_of: dict[str, str] = {} + periph_pin: dict[tuple[str, str], str] = {} + gpio_pin: dict[tuple[str, int], str] = {} + gpio_label: dict[tuple[str, int], str] = {} + for var, tail, value in SYSCFG_ASSIGNMENT.findall(text): + if var not in instances: continue - instance, function = match.group(2).split("_", 1) - signal = f"{instance}.{function}" - kind = re.sub(r"\d+$", "", instance) - assigned[pin.name] = { - "signal": signal, - "peripheral": instance, - "kind": kind, - "function": function, - "matched": signal in pin.signals, - } - for match in re.finditer(r"^#define\s+(\w+?)_IOMUX\s+\(IOMUX_PINCM(\d+)\)\s*$", text, re.M): - pin = by_pincm.get(int(match.group(2))) - if pin is None or pin.name in assigned: + if tail == ".peripheral.$assign": + peripheral_of[var] = syscfg_value(value) + elif tail == ".peripheral.$suggestSolution": + peripheral_of.setdefault(var, syscfg_value(value)) + elif tail == ".$name" and instances[var] == "GPIO": + # 组的 $name 是没有引脚 $name 时的标签。 + # The $name of the group is the label when a pin has no $name of its own. + gpio_label[(var, -1)] = syscfg_value(value) + continue + index = SYSCFG_GPIO_NAME.match(tail) + if index: + gpio_label[(var, int(index.group(1)))] = syscfg_value(value) + continue + member = SYSCFG_PERIPH_PIN.match(tail) or SYSCFG_PERIPH_PIN_SUGGESTED.match(tail) + if member: + key = (var, member.group(1)) + # $assign 覆盖同名的 $suggestSolution。 + # $assign overrides a $suggestSolution of the same member. + if member.re is SYSCFG_PERIPH_PIN or key not in periph_pin: + periph_pin[key] = syscfg_value(value) + continue + gpio = SYSCFG_GPIO_PIN.match(tail) or SYSCFG_GPIO_PIN_SUGGESTED.match(tail) + if gpio: + key = (var, int(gpio.group(1))) + if gpio.re is SYSCFG_GPIO_PIN or key not in gpio_pin: + gpio_pin[key] = syscfg_value(value) + by_name = {pin.name: pin for pin in layout.pins} + assigned: dict[str, dict] = {} + for (var, member), pin_name in periph_pin.items(): + instance = peripheral_of.get(var) + pin = by_name.get(pin_name) if instance else None + if pin is not None: + assigned[pin.name] = peripheral_entry(pin, instance, member) + for (var, index), pin_name in gpio_pin.items(): + pin = by_name.get(pin_name) + if pin is None: continue port_line = pin_layout.gpio_port_and_line(pin.name) - assigned[pin.name] = { + entry = { "signal": pin.name, "peripheral": f"GPIO{port_line[0]}" if port_line else "GPIO", "kind": "GPIO", "function": f"P{port_line[1]}" if port_line else "GPIO", "matched": pin.name in pin.signals, - "label": match.group(1), } + label = gpio_label.get((var, index)) or gpio_label.get((var, -1)) + if label: + entry["label"] = label + assigned[pin.name] = entry + return assigned + + +def hpm_canonical(signal: str) -> str: + """.hpmpc 的信号(UART0.A.TXD、GPIO.A.A[10])到 hpm_iomux.h 的宏名(UART0_TXD、GPIO_A_10): + 去掉中间的 IOC 通道字母,方括号换成下划线。 + The signal of a .hpmpc (UART0.A.TXD, GPIO.A.A[10]) to the macro name of hpm_iomux.h + (UART0_TXD, GPIO_A_10): the IOC channel letter in the middle goes, and brackets become + underscores. + """ + parts = signal.split(".") + if len(parts) == 3: + parts = [parts[0], parts[2]] + return "_".join(parts).replace("[", "_").replace("]", "") + + +HPM_DIRECTIVE = re.compile(r"^\s*#\s*(if|ifdef|ifndef|elif|else|endif)\b") +HPM_CALL = re.compile(r"^\s*(\w+)\(\);\s*$") + + +def hpm_active_functions(main_cpp: Path, functions: dict) -> list[str]: + """main.cpp 在预处理条件外调用的、.hpmpc 里存在的 pinmux 函数;main.cpp 不存在或没有调用 + 时退回 init_bsp_pins。条件编译里的调用不算(rmcs 的 JTAG 共用引脚在 #if 里,O2 的决定)。 + The pinmux functions of the .hpmpc that main.cpp calls outside preprocessor conditions; the + fallback is init_bsp_pins when main.cpp does not exist or calls none. A call inside a + conditional does not count (rmcs' JTAG shared pins sit in an #if, the decision of O2). + """ + if not main_cpp.is_file(): + return ["init_bsp_pins"] if "init_bsp_pins" in functions else [] + active: list[str] = [] + depth = 0 + for line in main_cpp.read_text(encoding="utf-8", errors="replace").splitlines(): + directive = HPM_DIRECTIVE.match(line) + if directive: + if directive.group(1) in ("if", "ifdef", "ifndef"): + depth += 1 + elif directive.group(1) == "endif": + depth = max(0, depth - 1) + continue + call = HPM_CALL.match(line) + if call and depth == 0 and call.group(1) in functions and call.group(1) not in active: + active.append(call.group(1)) + if not active and "init_bsp_pins" in functions: + active = ["init_bsp_pins"] + return active + + +def hpm_assignments(hpmpc: Path, main_cpp: Path, layout: PinLayout) -> dict[str, dict]: + """.hpmpc 里 main.cpp 调用的 pinmux 函数的已选信号:引脚名 -> 信号及其识别结果。 + The selected signals of the pinmux functions of the .hpmpc that main.cpp calls: pin name -> + signal and what it was recognized as. + + 信号是工具的三段式(UART0.A.TXD),化成 hpm_iomux.h 的宏名(UART0_TXD)后按引脚的信号表 + 核对;GPIO 的(GPIO.A.A[10])与 MSPM0 一样算普通用法。.hpmpc 不带名字,没有标签。 + A signal is the tool's three-part form (UART0.A.TXD), checked against the signals of the pin + as the macro name of hpm_iomux.h (UART0_TXD); a GPIO one (GPIO.A.A[10]) counts as the plain + use like MSPM0. The .hpmpc carries no names, so there is no label. + """ + functions = json.loads(hpmpc.read_text(encoding="utf-8"))["content"]["pinmux"]["functions"] + by_name = {pin.name: pin for pin in layout.pins} + assigned: dict[str, dict] = {} + for function in hpm_active_functions(main_cpp, functions): + for pad, selection in functions[function].get("selectPins", {}).items(): + pin = by_name.get(pad) + if pin is None or not selection.get("signal"): + continue + canonical = hpm_canonical(selection["signal"]) + if canonical.startswith("GPIO_"): + port_line = pin_layout.gpio_port_and_line(pin.name) + assigned[pin.name] = { + "signal": canonical, + "peripheral": f"GPIO{port_line[0]}" if port_line else "GPIO", + "kind": "GPIO", + "function": f"P{port_line[1]}" if port_line else "GPIO", + "matched": canonical in pin.signals, + } + continue + recognized = pin_layout.recognize_hpm(canonical) + instance, kind, function = recognized or (canonical, "", "") + assigned[pin.name] = { + "signal": canonical, + "peripheral": instance, + "kind": kind, + "function": function, + "matched": canonical in pin.signals, + } return assigned @@ -521,38 +608,91 @@ def layout_with_project( The layout and overlay of a project directory: recognize the platform, read the selected signals and return the layout dict with a project section. - 给出 model 时以它为准,否则取自工程(STM32 的 .ioc,MSPM0 的 ti_msp_dl_config.h)。MSPM0 的 - 封装取自 .syscfg,package 给出时以它为准。 + 给出 model 时以它为准,否则取自工程(STM32 的 .ioc,MSPM0 的根目录 .syscfg,HPM 的 + boards/ 下 .hpmpc 的 SoC 名)。MSPM0 的封装取自 .syscfg 的 --package 或 --board,HPM 的取 + 自 .hpmpc 的 packageName,package 给出时以它为准。 libxr_config 默认为目录下的 User/libxr_config.yaml。 - A given model wins; otherwise it comes from the project (the .ioc of an STM32, the - ti_msp_dl_config.h of an MSPM0). The package of an MSPM0 comes from the .syscfg, and a given - package wins. libxr_config defaults to User/libxr_config.yaml in the - directory. + A given model wins; otherwise it comes from the project (the .ioc of an STM32, the root + .syscfg of an MSPM0, the SoC name of the .hpmpc under boards/ of an HPM). The package of an + MSPM0 comes from the --package or --board of the .syscfg, that of an HPM from the + packageName of the .hpmpc, and a given package wins. libxr_config defaults to + User/libxr_config.yaml in the directory. """ root = Path(directory) config_path = Path(libxr_config) if libxr_config else root / "User" / "libxr_config.yaml" syscfg_file, sysconfig = None, {} + hpmpcs = sorted(root.glob("boards/*/*.hpmpc")) if (root / "app.yaml").is_file() else [] if sorted(root.glob("*.ioc")): chip, source, layout, assigned = stm32_assignments( root, lambda chip: pin_layout.layout_pins(model or chip, package) ) + elif hpmpcs: + if len(hpmpcs) > 1: + raise ValueError( + tr( + f"{root}: several .hpmpc files under boards/; keep one", + f"{root}:boards/ 下有多个 .hpmpc;请只保留一个", + ) + ) + # HPM 的工程:SoC 和封装在 .hpmpc 的 info 里,已选信号取 main.cpp 无条件调用的 pinmux + # 函数(O2:条件编译里的不算)。 + # An HPM project: the SoC and the package are in the info of the .hpmpc, and the selected + # signals come from the pinmux functions main.cpp calls without a condition (O2: a call + # inside a conditional does not count). + info = json.loads(hpmpcs[0].read_text(encoding="utf-8"))["content"]["info"] + soc = model or info.get("socName") + if soc is None: + raise ValueError( + tr( + f"{hpmpcs[0]} does not name a SoC; give the model", + f"{hpmpcs[0]} 没有给出 SoC;请给出型号", + ) + ) + layout = pin_layout.layout_pins(soc, package or info.get("packageName")) + assigned = hpm_assignments(hpmpcs[0], root / "User" / "main.cpp", layout) + source = hpmpcs[0].relative_to(root).as_posix() + # sysconfig_file 对 HPM 是 .hpmpc 本身:外设配置就住在里面。 + # sysconfig_file is the .hpmpc itself for an HPM: the peripheral configuration lives in + # it. + syscfg_file, sysconfig = hpmpcs[0], {} else: - header = find_ti_header(root) - if header is None: + syscfgs = sorted(root.glob("*.syscfg")) + if len(syscfgs) > 1: raise ValueError( tr( - f"{root}: no STM32CubeMX .ioc or SysConfig ti_msp_dl_config.h found", - f"{root}:没有找到 STM32CubeMX 的 .ioc 或 SysConfig 的 ti_msp_dl_config.h", + f"{root}: several .syscfg files in the root; keep one", + f"{root}:根目录里有多个 .syscfg;请只保留一个", ) ) - # 封装:-p 优先,否则取 SysConfig 工程(.syscfg)给出的。 - # The package: -p first, otherwise the one the SysConfig project (.syscfg) gives. - layout = pin_layout.layout_pins( - model or mspm0_model(header), package or syscfg_package(root, header) - ) - assigned = mspm0_assignments(header, layout) - source = header.relative_to(root).as_posix() - syscfg_file, sysconfig = syscfg_settings(root, header) + if not syscfgs: + raise ValueError( + tr( + f"{root}: no STM32CubeMX .ioc, HPM .hpmpc or root SysConfig .syscfg found", + f"{root}:没有找到 STM32CubeMX 的 .ioc、HPM 的 .hpmpc 或根目录的 SysConfig" + " .syscfg", + ) + ) + # SysConfig 工程在根目录:器件、封装、已选信号和设置都直接取自它,不需要跑 SysConfig。 + # A SysConfig project in the root: device, package, selected signals and settings all + # come from it directly; SysConfig does not have to run. + meta = read_syscfg(syscfgs[0]) + board = load_boards().get(meta.board or "") + # 板子型工程(--board)的器件和封装由板子表给出。 + # A board-based project (--board) takes its device and package from the board table. + device = model or meta.device or (board or {}).get("device") + if device is None: + raise ValueError( + tr( + f"{syscfgs[0]} does not name a device; give the model", + f"{syscfgs[0]} 没有给出器件;请给出型号", + ) + ) + if package is None: + package = meta.package or (board or {}).get("package") + layout = pin_layout.layout_pins(device, package) + assigned = syscfg_assignments(syscfgs[0], layout) + source = syscfgs[0].name + syscfg_file, sysconfig = syscfgs[0], read_syscfg_settings(syscfgs[0]) info = pin_layout.layout_to_dict(layout) info["project"] = { "directory": str(root), diff --git a/tests/test_pin_layout.py b/tests/test_pin_layout.py index 74f01d2..7517267 100644 --- a/tests/test_pin_layout.py +++ b/tests/test_pin_layout.py @@ -71,6 +71,39 @@ def test_an_unknown_model_names_similar_ones(self): self.assertEqual(str(caught.exception), "Unknown STM32 model: STM32Q999RGT6") +class HpmModels(TestCase): + """HPM 的型号即 SoC 名,封装名与 .hpmpc 的 packageName 一致;信号是 hpm_iomux.h 的宏名。 + The model of an HPM is its SoC name, the package name matches the packageName of a + .hpmpc; the signals are the macro names of hpm_iomux.h. + """ + + def test_the_soc_chooses_the_data_and_the_pin_carries_its_signals(self): + layout = layout_pins("HPM5301", "QFN48") + self.assertEqual( + (layout.platform, layout.part, layout.package), ("hpm", "HPM5301", "QFN48") + ) + self.assertEqual(layout_to_dict(layout)["pin_count"], 29) + pin = next(pin for pin in layout.pins if pin.name == "PA00") + self.assertEqual(pin.position, "12") + self.assertEqual(pin.extra["modes"]["UART0_TXD"], 2) + + def test_a_gpio_mux_is_not_a_peripheral_signal(self): + self.assertIsNone(pin_layout.recognize_hpm("GPIO_A_00")) + self.assertEqual(pin_layout.recognize_hpm("UART0_TXD"), ("UART0", "UART", "TXD")) + + def test_an_unknown_soc_or_package_is_an_error(self): + with self.assertRaises(ValueError) as caught: + layout_pins("HPM9999", "QFN48") + self.assertTrue( + str(caught.exception).startswith("Unknown HPM SoC: HPM9999"), str(caught.exception) + ) + with self.assertRaises(ValueError) as caught: + layout_pins("HPM5301", "BGA") + self.assertTrue( + str(caught.exception).startswith("HPM5301 has no package BGA"), str(caught.exception) + ) + + class Mspm0Models(TestCase): """MSPM0 型号按器件族和封装代码解析,每个引脚带 PINCM 和各信号的模式号。 MSPM0 models resolve by family and package code; every pin carries its PINCM and the mode of @@ -98,7 +131,7 @@ def test_a_model_without_a_package_asks_for_one(self): self.assertEqual( str(caught.exception), "Cannot tell the package of MSPM0G3507; give it with --package " - "(LQFP-64(PM), VQFN-48(RGZ), LQFP-48(PT), VSSOP-28(DGS28), VQFN-32(RHB))", + "(VQFN-48(RGZ), VSSOP-32(DGS32), LQFP-48(PT), LQFP-64(PM), VSSOP-28(DGS28), VQFN-32(RHB))", ) with self.assertRaises(ValueError) as caught: layout_pins("MSPM0G3507", "BGA") @@ -134,7 +167,7 @@ def test_an_unsupported_model_lists_the_platforms(self): layout_pins("CH32V203C8T6") self.assertEqual( str(caught.exception), - "No supported platform for the model CH32V203C8T6 (supported: STM32, MSPM0)", + "No supported platform for the model CH32V203C8T6 (supported: STM32, MSPM0, HPM)", ) def test_the_output_fields_are_the_same_for_every_platform(self): @@ -264,7 +297,7 @@ def test_every_signal_in_the_data_is_recognized_except_plain_gpio(self): for pins in family["packages"].values(): for _, _, _, _, signals in pins: for signal, _ in signals: - if not re.fullmatch(r"P[A-C]\d+(/P[A-C]\d+)?", signal): + if not re.fullmatch(r"P[A-C]\d+(/P[A-C]\d+)*", signal): self.assertIsNotNone(pin_layout.recognize_mspm0(signal), signal) @@ -372,7 +405,7 @@ def pin_layout_error(model): """没有支持的平台时的报错。 The error for a model without a supported platform. """ - return f"No supported platform for the model {model} (supported: STM32, MSPM0)" + return f"No supported platform for the model {model} (supported: STM32, MSPM0, HPM)" if __name__ == "__main__": diff --git a/tests/test_pin_project.py b/tests/test_pin_project.py index f6e7a29..e9a86eb 100644 --- a/tests/test_pin_project.py +++ b/tests/test_pin_project.py @@ -14,20 +14,6 @@ from libxr import pin_layout, pin_project from libxr.pin_project import layout_with_project -# 一个 MSPM0G3507 工程的 ti_msp_dl_config.h 片段:UART0 的两个引脚和一个 GPIO 组。 -# An excerpt of the ti_msp_dl_config.h of an MSPM0G3507 project: two pins of UART0 and a GPIO -# group. -TI_HEADER = textwrap.dedent("""\ - #define CONFIG_LP_MSPM0G3507 - #define CONFIG_MSPM0G3507 - #define GPIO_UART_0_IOMUX_RX (IOMUX_PINCM2) - #define GPIO_UART_0_IOMUX_TX (IOMUX_PINCM1) - #define GPIO_UART_0_IOMUX_RX_FUNC IOMUX_PINCM2_PF_UART0_RX - #define GPIO_UART_0_IOMUX_TX_FUNC IOMUX_PINCM1_PF_UART0_TX - #define GPIO_GRP_0_PORT (GPIOB) - #define GPIO_GRP_0_PIN_0_IOMUX (IOMUX_PINCM50) -""") - CONFIG = textwrap.dedent("""\ USART: usart1: @@ -223,84 +209,18 @@ def test_a_pin_with_a_suffix_in_its_name(self): self.assertEqual(found["PH0-OSC_IN"]["peripheral"], "RCC") -class Mspm0Projects(TestCase): - """MSPM0 工程:已选信号取自 SysConfig 生成的 ti_msp_dl_config.h。 - An MSPM0 project: the selected signals come from the ti_msp_dl_config.h SysConfig - generates. - """ - - def overlay(self, package="PM", header=TI_HEADER): - """这个头文件的叠加结果。 - The overlay of this header. - """ - with tempfile.TemporaryDirectory() as directory: - write(Path(directory), "sysconfig/ti_msp_dl_config.h", header) - return layout_with_project(directory, None, package, None) - - def test_the_device_and_the_pins_come_from_the_header(self): - info = self.overlay() - self.assertEqual((info["part"], info["package"]), ("MSPM0G3507", "LQFP-64(PM)")) - self.assertEqual(info["project"]["source"], "sysconfig/ti_msp_dl_config.h") - assignments = info["project"]["assignments"] - self.assertEqual( - assignments["PA0"], - { - "signal": "UART0.TX", - "peripheral": "UART0", - "kind": "UART", - "function": "TX", - "matched": True, - }, - ) - self.assertEqual(assignments["PA1"]["signal"], "UART0.RX") - self.assertEqual( - info["project"]["peripherals"]["UART0"]["pins"], {"TX": "PA0", "RX": "PA1"} - ) - - def test_a_gpio_is_named_by_its_label(self): - gpio = self.overlay()["project"]["assignments"]["PB22"] - self.assertEqual( - (gpio["peripheral"], gpio["function"], gpio["label"]), - ("GPIOB", "P22", "GPIO_GRP_0_PIN_0"), - ) - - def test_libxr_gen_has_no_section_for_an_mspm0(self): - peripherals = self.overlay()["project"]["peripherals"] - self.assertNotIn("config", peripherals["UART0"]) - - def test_the_package_is_asked_for(self): - with self.assertRaises(ValueError) as caught: - self.overlay(package=None) - self.assertTrue( - str(caught.exception).startswith("Cannot tell the package of MSPM0G3507"), - str(caught.exception), - ) - - def test_a_header_without_the_device_is_an_error(self): - with self.assertRaises(ValueError) as caught: - self.overlay(header="#define SOMETHING\n") - self.assertTrue( - str(caught.exception).endswith( - "does not name the MSPM0 device (no CONFIG_MSPM0... line)" - ), - str(caught.exception), - ) - - class SyscfgPackage(TestCase): """MSPM0 的封装取自 SysConfig 工程的 .syscfg:--package,或 --board 对应的 LaunchPad。 The package of an MSPM0 comes from the .syscfg of the SysConfig project: its --package, or the LaunchPad its --board names. """ - def package(self, syscfg: str | None, option=None, header_folder="sysconfig", syscfg_path=None): - """给出的 .syscfg 内容下,叠加结果里的封装(syscfg 为 None 时没有 .syscfg)。 - The package in the overlay for this .syscfg content (no .syscfg when it is None). + def package(self, syscfg: str, option=None): + """给出的根目录 .syscfg 内容下,叠加结果里的封装。 + The package in the overlay for this root .syscfg content. """ with tempfile.TemporaryDirectory() as directory: - write(Path(directory), f"{header_folder}/ti_msp_dl_config.h", TI_HEADER) - if syscfg is not None: - write(Path(directory), syscfg_path or "sysconfig/project.syscfg", syscfg) + write(Path(directory), "a.syscfg", syscfg) return layout_with_project(directory, None, option, None)["package"] def test_a_device_based_project_names_its_package(self): @@ -330,23 +250,23 @@ def test_a_given_package_wins_over_the_project(self): text = '//@cliArgs --device "MSPM0G350X" --package "LQFP-64(PM)"\n' self.assertEqual(self.package(text, option="VQFN-48"), "VQFN-48(RGZ)") - def test_the_syscfg_may_sit_in_the_root_while_the_header_is_in_a_build_output(self): - # CCS 的工程:.syscfg 在根目录,生成的头文件在 Debug/syscfg/。 - # A CCS project: the .syscfg in the root, the generated header in Debug/syscfg/. - text = '//@cliArgs --device "MSPM0G350X" --package "LQFP-48(PT)"\n' - self.assertEqual( - self.package(text, header_folder="Debug/syscfg", syscfg_path="empty.syscfg"), - "LQFP-48(PT)", + def test_without_a_package_the_error_asks_for_one(self): + with self.assertRaises(ValueError) as caught: + self.package('//@cliArgs --device "MSPM0G3507"\n') + self.assertTrue( + str(caught.exception).startswith("Cannot tell the package of MSPM0G3507"), + str(caught.exception), ) - def test_without_a_package_the_error_asks_for_one(self): - for text in (None, "// nothing here\n", "// @cliArgs --board /ti/boards/LP_UNKNOWN\n"): - with self.subTest(text=text), self.assertRaises(ValueError) as caught: - self.package(text) - self.assertTrue( - str(caught.exception).startswith("Cannot tell the package of MSPM0G3507"), - str(caught.exception), - ) + def test_a_syscfg_without_a_device_or_a_known_board_needs_the_model(self): + # 板子不在表里,器件也就无从得知。 + # The board is not in the table, so the device cannot be known either. + with self.assertRaises(ValueError) as caught: + self.package("// @cliArgs --board /ti/boards/LP_UNKNOWN\n") + self.assertTrue( + str(caught.exception).endswith("does not name a device; give the model"), + str(caught.exception), + ) def test_the_board_table_has_the_launchpads_with_their_devices(self): boards = pin_project.load_boards() @@ -364,6 +284,172 @@ def test_the_board_table_ships_with_its_license(self): self.assertRegex(source["source"]["commit"], r"^[0-9a-f]{40}$") +class SyscfgProjects(TestCase): + """MSPM0 工程:根目录的 .syscfg 直接给出器件、封装和已选信号,不需要跑 SysConfig。 + An MSPM0 project: a root .syscfg gives the device, the package and the selected signals + directly; SysConfig does not have to run. + """ + + PROJECT = textwrap.dedent("""\ + //@cliArgs --device "MSPM0G350X" --part "Default" --package "LQFP-64(PM)" + //@v2CliArgs --device "MSPM0G3507" --package "LQFP-64(PM)" + + const Board = scripting.addModule("/ti/driverlib/Board", {}, false); + Board.peripheral.$assign = "DEBUGSS"; + Board.peripheral.swdioPin.$assign = "PA19"; + + const pinFunction1 = system.clockTree["HFXT"]; + pinFunction1.peripheral.hfxInPin.$assign = "PA5"; + + const GPIO = scripting.addModule("/ti/driverlib/GPIO", {}, false); + const GPIO1 = GPIO.addInstance(); + GPIO1.$name = "GPIO_KEYS"; + GPIO1.associatedPins.create(1); + GPIO1.associatedPins[0].$name = "PIN_KEY1"; + GPIO1.associatedPins[0].pin.$assign = "PB22"; + + const UART = scripting.addModule("/ti/driverlib/UART", {}, false); + const UART1 = UART.addInstance(); + UART1.$name = "UART_0"; + UART1.peripheral.$assign = "UART0"; + UART1.peripheral.txPin.$assign = "PA0"; + UART1.peripheral.rxPin.$assign = "PA1"; + + const DAC12 = scripting.addModule("/ti/driverlib/DAC12"); + DAC12.peripheral.$assign = "DAC0"; + DAC12.peripheral.OutPin.$assign = "PA15"; + """) + + def project(self, syscfg=PROJECT, model=None): + """这个根目录 .syscfg 的叠加结果。 + The overlay of this root .syscfg. + """ + with tempfile.TemporaryDirectory() as directory: + write(Path(directory), "a.syscfg", syscfg) + return layout_with_project(directory, model, None, None) + + def test_the_device_the_package_and_the_assignments_come_from_the_syscfg(self): + info = self.project() + self.assertEqual((info["part"], info["package"]), ("MSPM0G3507", "LQFP-64(PM)")) + self.assertEqual(info["project"]["source"], "a.syscfg") + assignments = info["project"]["assignments"] + self.assertEqual(assignments["PA0"]["signal"], "UART0.TX") + self.assertTrue(assignments["PA0"]["matched"]) + self.assertEqual(assignments["PA1"]["signal"], "UART0.RX") + gpio = assignments["PB22"] + self.assertEqual( + (gpio["peripheral"], gpio["function"], gpio["label"]), + ("GPIOB", "P22", "PIN_KEY1"), + ) + + def test_a_singleton_module_is_its_own_instance(self): + # DAC12 没有 addInstance,直接配在模块变量上。 + # DAC12 has no addInstance; the module variable is configured directly. + self.assertEqual(self.project()["project"]["assignments"]["PA15"]["signal"], "DAC0.OUT") + + def test_the_swd_pins_of_the_board_are_shown(self): + self.assertEqual(self.project()["project"]["assignments"]["PA19"]["peripheral"], "DEBUGSS") + + def test_the_pins_of_the_clock_tree_are_left_out(self): + self.assertNotIn("PA5", self.project()["project"]["assignments"]) + + def test_a_canfd_member_matches_by_its_suffix(self): + # TI 的功能名是 CANRX、CANTX,成员名是 rxPin、txPin。 + # TI names the functions CANRX and CANTX; the members are rxPin and txPin. + syscfg = ( + '//@v2CliArgs --device "MSPM0G3507" --package "LQFP-64(PM)"\n' + 'const MCAN = scripting.addModule("/ti/driverlib/MCAN", {}, false);\n' + "const MCAN1 = MCAN.addInstance();\n" + 'MCAN1.peripheral.$assign = "CANFD0";\n' + 'MCAN1.peripheral.rxPin.$assign = "PA13";\n' + 'MCAN1.peripheral.txPin.$assign = "PA12";\n' + ) + assignments = self.project(syscfg)["project"]["assignments"] + self.assertEqual(assignments["PA13"]["signal"], "CANFD0.CANRX") + self.assertEqual(assignments["PA12"]["signal"], "CANFD0.CANTX") + + def test_a_member_the_pin_does_not_have_is_given_as_it_is(self): + syscfg = ( + '//@v2CliArgs --device "MSPM0G3507" --package "LQFP-64(PM)"\n' + 'const UART = scripting.addModule("/ti/driverlib/UART", {}, false);\n' + "const UART1 = UART.addInstance();\n" + 'UART1.peripheral.$assign = "UART9";\n' + 'UART1.peripheral.rxPin.$assign = "PA0";\n' + ) + found = self.project(syscfg)["project"]["assignments"]["PA0"] + self.assertEqual((found["signal"], found["matched"]), ("UART9.RX", False)) + + def test_the_suggested_peripheral_is_used_without_an_assignment(self): + syscfg = ( + '//@v2CliArgs --device "MSPM0G3507" --package "LQFP-64(PM)"\n' + 'const UART = scripting.addModule("/ti/driverlib/UART", {}, false);\n' + "const UART1 = UART.addInstance();\n" + 'UART1.peripheral.$suggestSolution = "UART0";\n' + 'UART1.peripheral.txPin.$assign = "PA0";\n' + ) + found = self.project(syscfg)["project"]["assignments"]["PA0"] + self.assertEqual(found["peripheral"], "UART0") + + def test_dma_channels_are_not_pins(self): + syscfg = self.PROJECT + 'UART1.DMA_CHANNEL_TX.peripheral.$assign = "DMA_CH3";\n' + peripherals = self.project(syscfg)["project"]["peripherals"] + self.assertNotIn("DMA_CH3", peripherals) + + def test_two_syscfg_files_in_the_root_are_an_error(self): + with tempfile.TemporaryDirectory() as directory, self.assertRaises(ValueError) as caught: + write(Path(directory), "a.syscfg", '//@cliArgs --device "MSPM0G3507"\n') + write(Path(directory), "b.syscfg", '//@cliArgs --device "MSPM0G3507"\n') + layout_with_project(directory, None, None, None) + self.assertTrue( + str(caught.exception).endswith("several .syscfg files in the root; keep one"), + str(caught.exception), + ) + + def test_a_syscfg_without_a_device_needs_the_model(self): + with tempfile.TemporaryDirectory() as directory, self.assertRaises(ValueError) as caught: + write(Path(directory), "a.syscfg", '// @cliArgs --package "LQFP-64(PM)"\n') + layout_with_project(directory, None, None, None) + self.assertTrue( + str(caught.exception).endswith("does not name a device; give the model"), + str(caught.exception), + ) + info = self.project('//@cliArgs --package "LQFP-64(PM)"\n', model="MSPM0G3507") + self.assertEqual(info["part"], "MSPM0G3507") + + def test_libxr_gen_has_no_section_for_an_mspm0(self): + peripherals = self.project()["project"]["peripherals"] + self.assertNotIn("config", peripherals["UART0"]) + + def test_the_pins_the_solver_picked_are_a_fallback(self): + # 求解器选的引脚($suggestSolution)也算数;测试用的 PA0 是 UART0.TX。 + # The pins the solver picked ($suggestSolution) count; PA0 is UART0.TX in the layout. + syscfg = ( + '//@v2CliArgs --device "MSPM0G3507" --package "LQFP-64(PM)"\n' + 'const UART = scripting.addModule("/ti/driverlib/UART", {}, false);\n' + "const UART1 = UART.addInstance();\n" + 'UART1.peripheral.$assign = "UART0";\n' + 'UART1.peripheral.txPin.$suggestSolution = "PA0";\n' + ) + self.assertEqual( + self.project(syscfg)["project"]["assignments"]["PA0"]["signal"], "UART0.TX" + ) + + def test_an_assignment_wins_over_the_suggestion(self): + # 同一个成员既有 $assign 又有 $suggestSolution 时,$assign 赢(PA0 被换成 PA28)。 + # When a member has both $assign and $suggestSolution, $assign wins (PA0 becomes PA28). + syscfg = ( + '//@v2CliArgs --device "MSPM0G3507" --package "LQFP-64(PM)"\n' + 'const UART = scripting.addModule("/ti/driverlib/UART", {}, false);\n' + "const UART1 = UART.addInstance();\n" + 'UART1.peripheral.$assign = "UART0";\n' + 'UART1.peripheral.txPin.$suggestSolution = "PA0";\n' + 'UART1.peripheral.txPin.$assign = "PA28";\n' + ) + assignments = self.project(syscfg)["project"]["assignments"] + self.assertEqual(assignments["PA28"]["signal"], "UART0.TX") + self.assertNotIn("PA0", assignments) + + SYSCFG = textwrap.dedent("""\ /** * These arguments were used when this file was generated. @@ -398,6 +484,123 @@ def test_the_board_table_ships_with_its_license(self): """) +class HpmProjects(TestCase): + """HPM 工程:SoC 和封装取自 boards/ 下的 .hpmpc,已选信号取 main.cpp 无条件调用的 pinmux + 函数。 + An HPM project: the SoC and the package come from the .hpmpc under boards/, and the selected + signals from the pinmux functions main.cpp calls without a condition. + """ + + HPMPC = json.dumps( + { + "content": { + "info": {"socName": "HPM5301", "packageName": "QFN48"}, + "pinmux": { + "functions": { + "init_bsp_pins": { + "selectPins": { + "PA00": {"signal": "UART0.A.TXD", "padCtls": {}}, + "PA03": {"signal": "I2C0.A.SCL", "padCtls": {}}, + "PA10": {"signal": "GPIO.A.A[10]", "padCtls": {}}, + } + }, + "init_uart0_pins": { + "selectPins": { + "PA00": {"signal": "UART0.A.TXD", "padCtls": {}}, + "PA01": {"signal": "UART0.A.RXD", "padCtls": {}}, + } + }, + "init_jtag_pins": { + "selectPins": {"PA04": {"signal": "GPIO.A.A[04]", "padCtls": {}}} + }, + } + }, + } + } + ) + MAIN = textwrap.dedent( + """\ + int main() + { + board_init(); + init_bsp_pins(); + init_uart0_pins(); + #if !RMCS_KEEP_JTAG + init_jtag_pins(); + #endif + } + """ + ) + + def project(self, files): + """给定文件的 HPM 工程的叠加结果。 + The overlay of an HPM project with these files. + """ + with tempfile.TemporaryDirectory() as directory: + for name, text in files.items(): + write(Path(directory), name, text) + return layout_with_project(directory, None, None, None) + + def project_files(self, main=MAIN): + """一个最小 HPM 工程的文件。 + The files of a minimal HPM project. + """ + return { + "app.yaml": "dependency: []\n", + "boards/board/tool_config.hpmpc": self.HPMPC, + "User/main.cpp": main, + } + + def test_the_soc_the_package_and_the_called_functions_drive_the_overlay(self): + info = self.project(self.project_files()) + self.assertEqual((info["part"], info["package"]), ("HPM5301", "QFN48")) + self.assertEqual(info["project"]["source"], "boards/board/tool_config.hpmpc") + assignments = info["project"]["assignments"] + self.assertEqual(assignments["PA00"]["signal"], "UART0_TXD") + self.assertTrue(assignments["PA00"]["matched"]) + self.assertEqual(assignments["PA01"]["signal"], "UART0_RXD") + gpio = assignments["PA10"] + self.assertEqual( + (gpio["peripheral"], gpio["kind"], gpio["function"], gpio["matched"]), + ("GPIOA", "GPIO", "P10", True), + ) + + def test_a_call_inside_a_conditional_is_not_active(self): + # O2:条件编译里的函数不算,PA04 不出现。 + # O2: a function inside a conditional does not count; PA04 stays out. + self.assertNotIn("PA04", self.project(self.project_files())["project"]["assignments"]) + + def test_without_a_main_cpp_the_bsp_function_is_the_fallback(self): + files = { + key: value for key, value in self.project_files().items() if key != "User/main.cpp" + } + assignments = self.project(files)["project"]["assignments"] + self.assertEqual(assignments["PA03"]["signal"], "I2C0_SCL") + self.assertNotIn("PA01", assignments) + + def test_two_hpmpc_files_are_an_error(self): + files = self.project_files() + files["boards/other/tool_config.hpmpc"] = files["boards/board/tool_config.hpmpc"] + with self.assertRaises(ValueError) as caught: + self.project(files) + self.assertTrue( + str(caught.exception).endswith("several .hpmpc files under boards/; keep one"), + str(caught.exception), + ) + + def test_a_hpmpc_without_a_soc_needs_the_model(self): + hpmpc = json.loads(self.HPMPC) + del hpmpc["content"]["info"]["socName"] + files = self.project_files() + files["boards/board/tool_config.hpmpc"] = json.dumps(hpmpc) + with self.assertRaises(ValueError) as caught: + self.project(files) + self.assertTrue( + str(caught.exception).endswith("does not name a SoC; give the model"), + str(caught.exception), + ) + + class SysconfigSettings(TestCase): """MSPM0 外设的设置取自 .syscfg,只读。 The settings of an MSPM0 peripheral come from the .syscfg, read-only. @@ -459,29 +662,13 @@ def overlay(self, files): return layout_with_project(directory, None, "PM", None)["project"] def test_a_used_peripheral_carries_its_sysconfig_settings(self): - project = self.overlay( - {"sysconfig/ti_msp_dl_config.h": TI_HEADER, "sysconfig/p.syscfg": SYSCFG} - ) - self.assertEqual(project["sysconfig_file"], "sysconfig/p.syscfg") + project = self.overlay({"a.syscfg": SYSCFG}) + self.assertEqual(project["sysconfig_file"], "a.syscfg") uart = project["peripherals"]["UART0"]["sysconfig"] self.assertEqual((uart["module"], uart["name"]), ("UART", "UART_0")) self.assertEqual(uart["params"]["targetBaudRate"], 2000000) - # A peripheral the project does not use is not listed, and a GPIO has no settings. + # A peripheral without pins is not listed: SPI1 has no pin of its own here. self.assertNotIn("SPI1", project["peripherals"]) - self.assertNotIn("sysconfig", project["peripherals"]["GPIOB"]) - - def test_without_a_syscfg_there_are_no_settings(self): - project = self.overlay({"sysconfig/ti_msp_dl_config.h": TI_HEADER}) - self.assertIsNone(project["sysconfig_file"]) - self.assertNotIn("sysconfig", project["peripherals"]["UART0"]) - - def test_a_syscfg_outside_the_project_is_not_read(self): - with tempfile.TemporaryDirectory() as directory: - root = Path(directory) / "project" - write(root, "ti_msp_dl_config.h", TI_HEADER) - write(Path(directory), "other.syscfg", SYSCFG) - project = layout_with_project(str(root), None, "PM", None)["project"] - self.assertIsNone(project["sysconfig_file"]) class NoProject(TestCase): @@ -494,7 +681,7 @@ def test_an_empty_directory_is_an_error(self): layout_with_project(directory, None, None, None) self.assertTrue( str(caught.exception).endswith( - ": no STM32CubeMX .ioc or SysConfig ti_msp_dl_config.h found" + ": no STM32CubeMX .ioc, HPM .hpmpc or root SysConfig .syscfg found" ), str(caught.exception), ) @@ -532,7 +719,7 @@ def test_errors_are_logged(self): (("pins",), "Give a chip model, or a project directory with -d"), ( ("pins", "-d", directory), - f"{directory}: no STM32CubeMX .ioc or SysConfig ti_msp_dl_config.h found", + f"{directory}: no STM32CubeMX .ioc, HPM .hpmpc or root SysConfig .syscfg found", ), ): with self.subTest(argv=argv), self.assertLogs(level="ERROR") as logs: From 133b43eaf57b410720d721cb2a569e748e12f7b9 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Tue, 6 Oct 2026 23:44:56 +0100 Subject: [PATCH 12/34] Parse and generate the LibXR app_main of an MSPM0 SysConfig project libxr parse reads the root .syscfg of a project and the ti_msp_dl_config.h/.c that SysConfig generated (reused from build* when newer than the .syscfg, else SYSCONFIG_TOOL runs once), and records the GPIO pins with the macros the output actually emits, the UART/I2C/SPI/PWM instances with their DMA channels and power domains, and the rest for display. libxr gen emits User/app_main.cpp plus app_main.h and libxr_config.yaml: GPIO objects only (the interrupt registration stays with the consumer), MSPM0 UART/I2C/SPI/PWM constructions from the SysConfig macros, the BUSCLK constant per power domain, the UART DMA ownership defines, and the terminal. The defaults of the buffer sizes and the terminal land in libxr_config.yaml and existing values stay. --- .gitignore | 3 + src/libxr/cli.py | 62 +- src/libxr/generator_code_mspm0.py | 719 +++++++++++++++ src/libxr/peripheral_analyzer_mspm0.py | 536 +++++++++++ tests/data/mspm0/g3507.syscfg | 230 +++++ tests/data/mspm0/g3507_expected_app_main.cpp | 140 +++ tests/data/mspm0/g3507_ti_msp_dl_config.c | 864 +++++++++++++++++ tests/data/mspm0/g3507_ti_msp_dl_config.h | 367 ++++++++ tests/data/mspm0/g3519.syscfg | 248 +++++ tests/data/mspm0/g3519_expected_app_main.cpp | 144 +++ tests/data/mspm0/g3519_ti_msp_dl_config.c | 924 +++++++++++++++++++ tests/data/mspm0/g3519_ti_msp_dl_config.h | 386 ++++++++ tests/test_cli.py | 9 +- tests/test_generator_code_mspm0.py | 218 +++++ 14 files changed, 4844 insertions(+), 6 deletions(-) create mode 100644 src/libxr/generator_code_mspm0.py create mode 100644 src/libxr/peripheral_analyzer_mspm0.py create mode 100644 tests/data/mspm0/g3507.syscfg create mode 100644 tests/data/mspm0/g3507_expected_app_main.cpp create mode 100644 tests/data/mspm0/g3507_ti_msp_dl_config.c create mode 100644 tests/data/mspm0/g3507_ti_msp_dl_config.h create mode 100644 tests/data/mspm0/g3519.syscfg create mode 100644 tests/data/mspm0/g3519_expected_app_main.cpp create mode 100644 tests/data/mspm0/g3519_ti_msp_dl_config.c create mode 100644 tests/data/mspm0/g3519_ti_msp_dl_config.h create mode 100644 tests/test_generator_code_mspm0.py diff --git a/.gitignore b/.gitignore index 9c48e50..d52fee2 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,9 @@ *.hpp *.c *.h +# 测试固件(MSPM0 工程文件和 SysConfig 输出)随仓库提交。 +# The test fixtures (MSPM0 project files and SysConfig output) are committed with the repo. +!tests/data/mspm0/* __pycache__/ *.pyc *.pyo diff --git a/src/libxr/cli.py b/src/libxr/cli.py index 83358e8..e4b007d 100644 --- a/src/libxr/cli.py +++ b/src/libxr/cli.py @@ -52,6 +52,17 @@ def _has_ioc(directory: str) -> bool: return False +def _has_syscfg(directory: str) -> bool: + """directory 的根目录中有 .syscfg 文件(SysConfig 工程)时为 True;目录无法列出时为 False。 + True when the root of directory holds a .syscfg file (a SysConfig project); False when the + directory cannot be listed. + """ + try: + return any(name.endswith(".syscfg") for name in os.listdir(directory)) + except OSError: + return False + + def _stm32_parse(args: argparse.Namespace) -> None: """用 STM32 解析器运行 libxr parse。 Run libxr parse with the STM32 parser. @@ -86,6 +97,40 @@ def _stm32_gen(args: argparse.Namespace) -> None: generate(args.input, args.output, use_xrobot, args.libxr_config) +def _mspm0_parse(args: argparse.Namespace) -> None: + """用 MSPM0 解析器运行 libxr parse。 + Run libxr parse with the MSPM0 parser. + """ + from libxr.peripheral_analyzer_mspm0 import parse_project + + parse_project(args.directory, args.output) + + +def _mspm0_gen(args: argparse.Namespace) -> None: + """用 MSPM0 生成器运行 libxr gen。 + Run libxr gen with the MSPM0 generator. + + args.xrobot 为 None 时沿用输出文件现在的选择:它由 --xrobot 生成时继续生成 XRobot 代码。 + With args.xrobot None the output file keeps its choice: XRobot code is generated again when + it was generated with --xrobot. + """ + from libxr.generator_code_mspm0 import generate + from libxr.generator_stm32_cmake import uses_xrobot + + use_xrobot = args.xrobot + if use_xrobot is None: + use_xrobot = uses_xrobot(args.output) + if use_xrobot: + logging.info( + tr( + f"{args.output} uses XRobot; generating with --xrobot " + "(--no-xrobot turns it off).", + f"{args.output} 使用了 XRobot,继续按 --xrobot 生成(--no-xrobot 可关闭)。", + ) + ) + generate(args.input, args.output, use_xrobot, args.libxr_config) + + PLATFORMS = ( Platform( "stm32", @@ -94,6 +139,16 @@ def _stm32_gen(args: argparse.Namespace) -> None: _stm32_parse, _stm32_gen, ), + Platform( + "mspm0", + lambda: tr( + "a directory with a SysConfig .syscfg file in its root", + "根目录中含有 SysConfig .syscfg 文件的目录", + ), + _has_syscfg, + _mspm0_parse, + _mspm0_gen, + ), ) @@ -324,9 +379,10 @@ def _add_parse(commands) -> None: "--directory", default=".", help=tr( - "project directory; an STM32CubeMX project holds one .ioc file (default: current " - "directory)", - "工程目录,STM32CubeMX 工程含有一个 .ioc 文件(默认:当前目录)", + "project directory: an STM32CubeMX project holds one .ioc file, an MSPM0 project " + "one .syscfg file in its root (default: current directory)", + "工程目录:STM32CubeMX 工程含有一个 .ioc 文件,MSPM0 工程的根目录含有一个 .syscfg " + "文件(默认:当前目录)", ), ) parser.add_argument( diff --git a/src/libxr/generator_code_mspm0.py b/src/libxr/generator_code_mspm0.py new file mode 100644 index 0000000..a8f1b12 --- /dev/null +++ b/src/libxr/generator_code_mspm0.py @@ -0,0 +1,719 @@ +"""libxr gen 对 MSPM0 工程:由工程 YAML 生成 User/app_main.cpp 和 libxr_config.yaml。 +libxr gen for an MSPM0 project: generate User/app_main.cpp and libxr_config.yaml from the +project YAML. + +时钟、引脚、DMA 通道和外设都由 SysConfig 配置(main.c 里的 SYSCFG_DL_init());生成代码只声明 +LibXR 对象并把它们登记进 XRobot。构造全部使用 SysConfig 的宏(UART_0_INST、GPIO_LEDS_PIN_LED1_PORT +……),布局沿 bsp_stm32f103。缓冲区大小、队列长度和终端设置来自 libxr_config.yaml(首次生成把 +默认值写进该文件,已有值保持不变)。 +Clocks, pins, DMA channels and peripherals are configured by SysConfig (SYSCFG_DL_init() in +main.c); the generated code only declares the LibXR objects and registers them with XRobot. +Every construction uses the SysConfig macros (UART_0_INST, GPIO_LEDS_PIN_LED1_PORT, ...), and +the layout follows bsp_stm32f103. The buffer sizes, queue lengths and terminal settings come +from libxr_config.yaml (the first generation writes the defaults into the file and keeps the +values that are already there). + +时钟(M5):PD1 的 BUSCLK 是 CPUCLK_FREQ;PD0 的是 CPUCLK_FREQ / ULPCLK 分频(生成代码里的 +DL_SYSCTL_setULPCLKDivider,默认 1)。I2C 驱动自己重设时钟(BUSCLK、分频 1),传电源域的 +BUSCLK 即可;SPI 驱动沿用 SysConfig 写下的时钟配置,传入时钟要除以 SysConfig 的 divideRatio +(时钟源为 MFCLK 时按 4 MHz 计算)。UART 用 SysConfig 的 INST_FREQUENCY 宏,PWM 的源时钟由 +驱动从 INST_CLK_FREQ 求出,都不需要生成器计算。 +Clocks (M5): the BUSCLK of PD1 is CPUCLK_FREQ, that of PD0 is CPUCLK_FREQ / the ULPCLK divider +(the DL_SYSCTL_setULPCLKDivider of the generated code, 1 by default). The I2C driver resets the +clock configuration itself (BUSCLK, divider 1), so the BUSCLK of the power domain is the right +argument; the SPI driver keeps the clock configuration SysConfig wrote, so its argument is the +BUSCLK divided by the divideRatio of SysConfig (4 MHz when the source is MFCLK). A UART takes +the INST_FREQUENCY macro of SysConfig and the source clock of a PWM is derived by the driver +from INST_CLK_FREQ, so neither needs a generator-side computation. + +对象名:GPIO 用引脚标签($name 去掉 PIN_ 前缀),UART/I2C/SPI 用外设名的小写(uart0),PWM 是 +pwm__c。GPIO 中断遵循 STM32 的约定(模型 O1):生成器只创建对象,边沿来自 SysConfig; +RegisterCallback、EnableInterrupt 和回调函数属于消费者(Module 或 User Code)。UART 没有 DMA TX +(或 SPI 没有一对 DMA 通道)时驱动没有对应的构造路径,生成报错。 +Object names: a GPIO takes the pin label (the $name without its PIN_ prefix), a UART/I2C/SPI +the lower-case peripheral name (uart0), and a PWM is pwm__c. GPIO interrupts follow +the STM32 convention (model O1): the generator creates the object only, the edge comes from +SysConfig, and RegisterCallback, EnableInterrupt and the callback belong to the consumer (a +Module or the User Code). The driver has no construction path for a UART without DMA TX (or an +SPI without a pair of DMA channels), so generation reports an error then. +""" + +from __future__ import annotations + +import logging +import os +import re +import sys + +from xr_syntax.i18n import tr + +from libxr import generator_code_stm32 as stm32 +from libxr.cpp_layout import Braces, layout +from libxr.generator_code_stm32 import GENERATED_NOTICE, INDENT + +# generator_code_stm32 的其余接口(登记表、设置、写入助手)经模块属性访问:测试会用 +# importlib.reload 重载它,直接导入的名字会指向重载前的旧全局对象。 +# The rest of the generator_code_stm32 interface (the registry, the settings, the writing +# helpers) is reached through module attributes: tests reload it with importlib.reload, and +# directly imported names would keep pointing at the pre-reload global objects. +# MSPM0 各设置段的默认值;STM32 段(USART/TIM/USB……)不适用于 MSPM0,生成前剔除。 +# The defaults of the MSPM0 settings sections; the STM32 sections (USART/TIM/USB, ...) do not +# apply to MSPM0 and are removed before generation. +MSPM0_DEFAULTS = { + "UART": {"tx_buffer_size": 128, "rx_buffer_size": 128, "tx_queue_size": 5}, + "I2C": {"buffer_size": 32, "dma_enable_min_size": 8}, + "SPI": {"tx_buffer_size": 32, "rx_buffer_size": 32, "dma_enable_min_size": 3}, +} +STM32_ONLY_SECTIONS = ( + "ADC", + "TIM", + "CAN", + "FDCAN", + "USB", + "database", + "software_timer", + "USART", + "SYSTEM", +) +# MFCLK 的固定频率(M5)。 +# The fixed frequency of MFCLK (M5). +MFCLK_FREQ = 4000000 + +IDENTIFIER = re.compile(r"[A-Za-z_]\w*") +DIVIDER_NUMBER = re.compile(r"(?:DIVIDE|RATIO)_(\d+)$") + + +def _comment(text: str, indent: str = "") -> list[str]: + """一段注释折行成不超过 90 列的行,每行带 indent 缩进和 "// " 前缀。 + Wrap a comment into lines of at most 90 columns; every line carries the indent and the + "// " prefix. + """ + words, lines, line = text.split(), [], "" + for word in words: + if line and len(line) + 1 + len(word) > 85: + lines.append(f"{indent}// {line}") + line = word + else: + line = f"{line} {word}".strip() + if line: + lines.append(f"{indent}// {line}") + return lines + + +def _fail(message: str): + """记录错误并以状态 1 退出。 + Log an error and exit with status 1. + """ + logging.error(message) + sys.exit(1) + + +def _instance_settings(group: str, instance: str) -> dict: + """libxr_settings 中小写实例键下的设置段,缺少的默认值补进段里。 + The settings section under the lower-case instance key of libxr_settings[group], with the + missing defaults filled in. + """ + section = stm32._settings(group, instance.lower()) + for key, default in MSPM0_DEFAULTS[group].items(): + section.setdefault(key, default) + return section + + +def _object_name(name: str, kind: str) -> str: + """对象的 C++ 名字:小写、必须是合法标识符且不与其他对象重名;不满足时报错退出。 + The C++ name of an object: lower case, a valid identifier and unique among the objects; + otherwise an error is logged and generation exits. + """ + name = name.lower() + if not IDENTIFIER.fullmatch(name): + _fail( + tr( + f"{name} is not a valid C++ identifier; rename the instance in SysConfig", + f"{name} 不是合法的 C++ 标识符;请在 SysConfig 中重命名该实例", + ) + ) + if name in stm32.registered_devices: + _fail( + tr( + f"Two objects are named {name} ({kind} and {stm32.registered_devices[name]}); rename " + "one of the instances in SysConfig", + f"两个对象都叫 {name}({kind} 与 {stm32.registered_devices[name]});请在 SysConfig 中" + "重命名其中一个实例", + ) + ) + return name + + +def _peripherals(project_data: dict) -> dict[str, list]: + """工程 YAML 中的外设对象:kind -> [(对象名, SysConfig 实例名, 记录, PWM 通道)],按 YAML + 顺序,同时登记进 XR_REGISTER 的对象表。 + The peripheral objects of the project YAML: kind -> [(object name, SysConfig instance name, + record, PWM channel)], in YAML order, registered into the XR_REGISTER table as well. + """ + result: dict[str, list] = {} + for kind, records in project_data.get("Peripherals", {}).items(): + if kind == "Other": + continue + objects = [] + for instance, record in records.items(): + if kind == "PWM": + # PWM 的对象名 pwm__c;定时器取实例名去掉 PWM_ 前缀(或外设名)。 + # The PWM object name pwm__c; the timer is the instance name without + # its PWM_ prefix (or the peripheral name). + timer = re.sub(r"^PWM_", "", instance).lower() + for channel in record.get("Channels", []): + name = _object_name(f"pwm_{timer}_c{channel}", "PWM") + objects.append((name, instance, record, channel)) + stm32._register_device(name, "PWM") + else: + name = _object_name(str(record["Peripheral"]), kind) + objects.append((name, instance, record, None)) + stm32._register_device(name, kind) + result[kind] = objects + return result + + +def _clock_constants(project_data: dict) -> list[str]: + """时钟常量:每个用到的电源域一个 BUSCLK,SPI 的非默认时钟再各一个;用不到时不生成。 + The clock constants: one BUSCLK per power domain in use and one per SPI instance with a + non-default clock; none when no clock is needed. + """ + divider = project_data.get("ULPCLKDivider") or 1 + cpuclk = project_data.get("CPUCLK") + domains = set() + for section in ("I2C", "SPI"): + for record in project_data.get("Peripherals", {}).get(section, {}).values(): + if record.get("PowerDomain") is not None and cpuclk is not None: + domains.add(record["PowerDomain"]) + if not domains: + return [] + domains_text = " and ".join( + f"PD{domain} from {'MCLK (CPUCLK_FREQ)' if domain == 1 else _ulpclk_text(divider)}" + for domain in sorted(domains) + ) + lines = _comment( + f"Input clocks: the BUSCLK of the power domain. {domains_text}. The I2C driver resets " + "the clock configuration of its peripherals, so the BUSCLK of the domain is the right " + "argument." + ) + for domain in sorted(domains): + expression = "CPUCLK_FREQ" if domain == 1 or divider == 1 else f"(CPUCLK_FREQ / {divider})" + lines.append(f"static constexpr uint32_t PD{domain}_BUSCLK_FREQ = {expression};") + mfclk = False + for name, record in project_data.get("Peripherals", {}).get("SPI", {}).items(): + clock = record.get("SysConfigClock") + if not clock: + continue + match = DIVIDER_NUMBER.search(str(clock.get("divideRatio") or "")) + div = int(match.group(1)) if match else 1 + sel = str(clock.get("clockSel") or "") + if sel.endswith("_MFCLK"): + if not mfclk: + lines.append(f"static constexpr uint32_t MFCLK_FREQ = {MFCLK_FREQ};") + mfclk = True + base = "MFCLK_FREQ" + elif sel and not sel.endswith("_BUSCLK"): + logging.warning( + tr( + f"{name}: unsupported SysConfig clock source {sel}; the SPI driver keeps " + "the configuration SysConfig wrote, check the clock by hand", + f"{name}:不支持的 SysConfig 时钟源 {sel};SPI 驱动会沿用 SysConfig 写下的" + "配置,请自行核对时钟", + ) + ) + continue + else: + base = f"PD{record.get('PowerDomain')}_BUSCLK_FREQ" + if div != 1: + lines.append(f"static constexpr uint32_t {name}_CLK_FREQ = {base} / {div};") + return lines + + +def _ulpclk_text(divider: int) -> str: + """PD0 的 ULPCLK 说明文字,随 SysConfig 写入的分频变化。 + The notice text of the PD0 ULPCLK, following the divider SysConfig wrote. + """ + return ( + f"ULPCLK = CPUCLK_FREQ / {divider} (DL_SYSCTL_setULPCLKDivider)" + if divider != 1 + else "ULPCLK = CPUCLK_FREQ (no ULPCLK divider)" + ) + + +def _uart_dma_defines(uarts: list) -> list[str]: + """UART 发送 DMA 通道的所有权标注:MSPM0_UART_MAIN_INIT 需要知道通道属于哪个 UART、服务于 + 发送端。 + The ownership annotations of the UART transmit DMA channels: MSPM0_UART_MAIN_INIT needs to + know which UART owns a channel and that the channel serves its transmitter. + """ + lines: list[str] = [] + for _name, instance, record, _channel in uarts: + channel = record.get("DMA_TX") + if channel: + lines.append(f"#define {channel}_LIBXR_UART_IRQN {instance}_INST_INT_IRQN") + lines.append(f"#define {channel}_LIBXR_UART_TX 1") + if lines: + lines = [ + "// Ownership of the DMA channels that serve a UART transmitter;", + "// MSPM0_UART_MAIN_INIT checks these names against the ones SysConfig generated.", + ] + lines + return lines + + +def _buffers(peripherals: dict) -> list[str]: + """DMA 缓冲区的定义:UART 发送缓冲是两个半区(2 x N,按 size_t 对齐),SPI 收发各一,I2C 是 + 轮询与 DMA 之间的暂存区。 + The DMA buffer declarations: a UART transmit buffer holds two halves (2 x N, aligned as + size_t), an SPI gets one for each direction and an I2C one staging area between polling and + DMA. + """ + lines: list[str] = [] + for name, _instance, _record, _channel in peripherals.get("UART", []): + settings = _instance_settings("UART", name) + tx = settings["tx_buffer_size"] + lines.append(f"alignas(size_t) static uint8_t {name}_tx_buf[2 * {tx}];") + for name, _instance, _record, _channel in peripherals.get("SPI", []): + settings = _instance_settings("SPI", name) + lines.append(f"alignas(4) static uint8_t {name}_rx_buf[{settings['rx_buffer_size']}];") + lines.append(f"alignas(4) static uint8_t {name}_tx_buf[{settings['tx_buffer_size']}];") + for name, _instance, _record, _channel in peripherals.get("I2C", []): + settings = _instance_settings("I2C", name) + lines.append(f"alignas(4) static uint8_t {name}_buf[{settings['buffer_size']}];") + if not lines: + return [] + return [ + "// DMA buffers. A UART gets 2 x N bytes for its two transmit halves; the receive side", + "// runs on byte interrupts. The SPI DMA buffers are split in two halves as well; the", + "// I2C driver uses polling, its buffer is the staging area for DMA transfers.", + ] + lines + + +def _notice(project_data: dict) -> list[str]: + """文件开头的说明:由哪个 SysConfig 工程生成、SysConfig 负责什么、只改 User Code 区域。 + The notice at the start of the file: which SysConfig project it was generated from, what + SysConfig owns and that only the User Code regions are for editing. + """ + return [ + GENERATED_NOTICE, + f"// Generated from {project_data.get('Syscfg', 'the SysConfig project')}" + f" ({project_data.get('Mcu', {}).get('Type', '')}); SysConfig configures the", + "// clocks, pins, DMA channels and peripherals (SYSCFG_DL_init() in main.c). Put", + '// application code between the "User Code Begin" and "User Code End" markers.', + ] + + +def _includes(project_data: dict, use_xrobot: bool) -> list[str]: + """include 列表:libxr.hpp、用到的 mspm0 驱动头、ti_msp_dl_config.h,XRobot 再加 + xrobot_main.hpp;均按字母顺序。 + The includes: libxr.hpp, the mspm0 driver headers in use, ti_msp_dl_config.h and, with + XRobot, xrobot_main.hpp; all in alphabetical order. + """ + peripherals = project_data.get("Peripherals", {}) + drivers = ["mspm0_timebase.hpp"] + if project_data.get("GPIO"): + drivers.append("mspm0_gpio.hpp") + for kind in ("I2C", "PWM", "SPI", "UART"): + if peripherals.get(kind): + drivers.append(f"mspm0_{kind.lower()}.hpp") + drivers.append("ti_msp_dl_config.h") + if use_xrobot: + drivers.append("xrobot_main.hpp") + return [ + '#include "app_main.h"', + "", + '#include "libxr.hpp"', + *[f'#include "{header}"' for header in sorted(drivers)], + "", + "using namespace LibXR;", + ] + + +def _gpio_section(gpio: dict) -> list[str]: + """GPIO 对象:每个引脚一个 MSPM0GPIO;中断的注册和使能属于消费者(O1),不在这里生成。 + The GPIO objects: one MSPM0GPIO per pin; registering and enabling an interrupt belongs to + the consumer (O1) and is not generated here. + """ + if not gpio: + return [] + by_direction: dict[str, list[str]] = {} + for label, pin in gpio.items(): + by_direction.setdefault(pin.get("Direction", "OUTPUT").lower(), []).append( + f"{label} ({pin['Pin']})" + ) + summary = " and ".join( + f"{', '.join(pins)} as {direction} pins" for direction, pins in by_direction.items() + ) + lines = _comment( + f"GPIO: SysConfig configured {summary}. The interrupt edge comes from SysConfig; " + "RegisterCallback and EnableInterrupt belong to the consumer (a Module or the " + "User Code).", + INDENT, + ) + for label, pin in gpio.items(): + lines += layout(f"static MSPM0GPIO {label}", [pin["Port"], pin["PinMacro"], pin["IOMUX"]]) + return lines + + +def _uart_section(uarts: list) -> list[str]: + """UART 对象:MSPM0_UART_MAIN_INIT,发送走 DMA;没有 DMA TX 的实例报错。 + The UART objects: MSPM0_UART_MAIN_INIT with DMA on the transmit side; an instance without + DMA TX reports an error. + """ + lines = [f"{INDENT}// UART: TX with DMA; the receive side runs on byte interrupts."] + for name, instance, record, _channel in uarts: + if not record.get("DMA_TX"): + _fail( + tr( + f"{instance}: the MSPM0 UART driver constructs only with DMA TX; enable " + "DMA TX in SysConfig or drop the UART", + f"{instance}:MSPM0 的 UART 驱动只支持带 DMA TX 的构造;请在 SysConfig 中" + "启用 DMA TX,或删去这个 UART", + ) + ) + settings = _instance_settings("UART", name) + tx_buf = f"{name}_tx_buf" + lines += layout( + f"static MSPM0UART {name}", + [ + f"MSPM0_UART_MAIN_INIT({instance}", + record["DMA_TX"], + tx_buf, + f"sizeof({tx_buf})", + str(settings["tx_queue_size"]), + f"{settings['rx_buffer_size']})", + ], + ) + return lines + + +def _i2c_section(i2cs: list) -> list[str]: + """I2C 对象:轮询驱动,缓冲是 DMA 传输的暂存区;时钟是所在电源域的 BUSCLK。 + The I2C objects: the polling driver whose buffer stages DMA transfers; the clock is the + BUSCLK of the power domain. + """ + if not i2cs: + return [] + lines = [f"{INDENT}// I2C: polling; the buffer stages DMA transfers."] + for name, instance, record, _channel in i2cs: + settings = _instance_settings("I2C", name) + domain = record.get("PowerDomain") + clock = f"PD{domain}_BUSCLK_FREQ" if domain is not None else f"{instance}_INST_FREQUENCY" + lines += layout( + f"static MSPM0I2C {name}", + [ + f"MSPM0_I2C_INIT({instance}", + clock, + f"{name}_buf", + f"sizeof({name}_buf)", + f"{settings['dma_enable_min_size']})", + Braces(f"{instance}_BUS_SPEED_HZ"), + ], + ) + return lines + + +def _spi_section(spis: list) -> list[str]: + """SPI 对象:收发各一个 DMA 通道;时钟是所在电源域的 BUSCLK 按 SysConfig 的 divideRatio + 分频后的值。 + The SPI objects: one DMA channel for each direction; the clock is the BUSCLK of the power + domain divided by the divideRatio SysConfig wrote. + """ + if not spis: + return [] + lines = [f"{INDENT}// SPI: DMA for transfers longer than the threshold."] + for name, instance, record, _channel in spis: + dma_rx, dma_tx = record.get("DMA_RX"), record.get("DMA_TX") + if not dma_rx or not dma_tx: + _fail( + tr( + f"{instance}: the MSPM0 SPI driver constructs only with a pair of DMA " + "channels; enable DMA in SysConfig or drop the SPI", + f"{instance}:MSPM0 的 SPI 驱动只支持带一对 DMA 通道的构造;请在 SysConfig " + "中启用 DMA,或删去这个 SPI", + ) + ) + settings = _instance_settings("SPI", name) + domain = record.get("PowerDomain") + if record.get("SysConfigClock"): + clock = f"{instance}_CLK_FREQ" + elif domain is not None: + clock = f"PD{domain}_BUSCLK_FREQ" + else: + clock = f"{instance}_INST_FREQUENCY" + lines += layout( + f"static MSPM0SPI {name}", + [ + f"MSPM0_SPI_INIT({instance}", + clock, + dma_rx, + dma_tx, + f"{name}_rx_buf", + f"sizeof({name}_rx_buf)", + f"{name}_tx_buf", + f"sizeof({name}_tx_buf)", + f"{settings['dma_enable_min_size']})", + ], + ) + return lines + + +def _pwm_section(pwms: list) -> list[str]: + """PWM 对象:定时器的每个通道一个 MSPM0PWM;频率设置在 libxr_config.yaml 中给出时对每个 + 通道调用 SetConfig。 + The PWM objects: one MSPM0PWM per channel of the timer; SetConfig is called on every + channel when the frequency is set in libxr_config.yaml. + """ + if not pwms: + return [] + lines = [ + f"{INDENT}// PWM: the channels of one timer share one period, which SysConfig configures.", + ] + for name, instance, _record, channel in pwms: + lines += layout(f"static MSPM0PWM {name}", [f"MSPM0_PWM_CH({instance}, {channel})"]) + settings = stm32._settings("PWM", name) + frequency = settings.setdefault("frequency", None) + if frequency: + lines += layout(f"{name}.SetConfig", [Braces(str(frequency))]) + return lines + + +def _setting_int(key: str, value) -> int: + """整数设置:不是正整数时报错退出。 + An integer setting; a value that is not a positive integer logs an error and exits. + """ + if ( + isinstance(value, bool) + or not isinstance(value, (int, float)) + or int(value) != value + or value < 1 + ): + _fail( + tr( + f"libxr_config.yaml: {key} {value!r} is not a positive integer", + f"libxr_config.yaml:{key} {value!r} 不是正整数", + ) + ) + return int(value) + + +def _terminal_section(peripherals: dict) -> list[str]: + """终端:terminal_source 指定的 UART 作为标准输入输出,RamFS 和 Terminal 由软件定时器任务 + 每 10 ms 运行一次;terminal_source 未设置时用第一个 UART,写成 none 时不生成终端。 + The terminal: the UART named by terminal_source becomes the standard I/O, and the RamFS and + Terminal objects run in a software timer task every 10 ms; the first UART is used when + terminal_source is not set, and none skips the terminal. + """ + uarts = peripherals.get("UART", []) + source = str(stm32.libxr_settings.get("terminal_source") or "").lower() + if not source: + if not uarts: + return [] + source = uarts[0][0] + stm32.libxr_settings["terminal_source"] = source + logging.info( + tr( + f"terminal_source is not set; using {source}", + f"未设置 terminal_source;使用 {source}", + ) + ) + elif source == "none": + stm32.libxr_settings["terminal_source"] = "" + return [] + names = {name for name, _instance, _record, _channel in uarts} + if source not in names: + logging.warning( + tr( + f"terminal_source '{source}' is not one of the generated UARTs " + f"({', '.join(sorted(names)) or 'none'}); the terminal is not initialized", + f"terminal_source '{source}' 不是生成的 UART 之一" + f"({'、'.join(sorted(names)) or '没有'});终端不初始化", + ) + ) + return [] + term_config = stm32._settings("Terminal") + params = [ + _setting_int(f"Terminal.{key}", term_config.setdefault(key, default)) + for key, default in ( + ("read_buff_size", 32), + ("max_line_size", 32), + ("max_arg_number", 5), + ("max_history_number", 5), + ) + ] + terminal_type = f"Terminal<{', '.join(map(str, params))}>" + stm32._register_device("ramfs", "RamFS") + stm32._register_device("terminal", terminal_type) + return [ + f"{INDENT}// Terminal on {source}", + f"{INDENT}STDIO::read_ = {source}.read_port_;", + f"{INDENT}STDIO::write_ = {source}.write_port_;", + f'{INDENT}static RamFS ramfs("XRobot");', + f"{INDENT}static {terminal_type} terminal(ramfs);", + f"{INDENT}static auto terminal_task = Timer::CreateTask(terminal.TaskFun, &terminal, 10);", + f"{INDENT}Timer::Add(terminal_task);", + f"{INDENT}Timer::Start(terminal_task);", + ] + + +def _sections(project_data: dict, peripherals: dict, gpio: dict, use_xrobot: bool) -> list[str]: + """app_main 函数体的各段:时基、GPIO、UART、I2C、SPI、PWM、终端和登记。 + The sections of the app_main body: timebase, GPIO, UART, I2C, SPI, PWM, terminal and the + registrations. + """ + blocks = [ + [ + f"{INDENT}// Timebase and platform", + f"{INDENT}static MSPM0Timebase timebase;", + f"{INDENT}PlatformInit();", + ], + _gpio_section(gpio), + _uart_section(peripherals.get("UART", [])), + _i2c_section(peripherals.get("I2C", [])), + _spi_section(peripherals.get("SPI", [])), + _pwm_section(peripherals.get("PWM", [])), + _terminal_section(peripherals), + ] + registrations = stm32.generate_xrobot_registrations() if use_xrobot else [] + if registrations: + blocks.append([f"{INDENT}// Hardware registration"] + registrations) + return stm32.join_blocks([block for block in blocks if block]) + + +def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) -> str: + """生成 app_main 源文件的完整内容,并填回已有代码中 User Code 区域的内容。 + Generate the full content of the app_main source file and put back the User Code bodies of + the existing code. + """ + peripherals = _peripherals(project_data) + gpio = project_data.get("GPIO", {}) + for label in gpio: + if not IDENTIFIER.fullmatch(label) or label in stm32.registered_devices: + _fail( + tr( + f"GPIO name {label} is not a valid unique C++ identifier", + f"GPIO 名字 {label} 不是合法且唯一的 C++ 标识符", + ) + ) + stm32._register_device(label, "GPIO") + uarts = peripherals.get("UART", []) + if uarts and not any(record.get("DMA_TX") for _o, _i, record, _c in uarts): + logging.warning( + tr( + "No UART has DMA TX; the MSPM0 UART driver constructs only with DMA TX", + "没有任何 UART 配置 DMA TX;MSPM0 的 UART 驱动只支持带 DMA TX 的构造", + ) + ) + default_3 = ( + [] + if use_xrobot + else [ + f"{INDENT}while (true)", + f"{INDENT}{{", + f"{INDENT * 2}Thread::Sleep(UINT32_MAX);", + f"{INDENT}}}", + ] + ) + lines = _notice(project_data) + lines += _includes(project_data, use_xrobot) + lines += ["", "/* User Code Begin 1 */", "/* User Code End 1 */"] + clocks = _clock_constants(project_data) + if clocks: + lines += [""] + clocks + defines = _uart_dma_defines(uarts) + if defines: + lines += [""] + defines + buffers = _buffers(peripherals) + if buffers: + lines += [""] + buffers + lines += ["", 'extern "C" void app_main(void)', "{"] + lines += [f"{INDENT}/* User Code Begin 2 */", f"{INDENT}/* User Code End 2 */", ""] + lines += _sections(project_data, peripherals, gpio, use_xrobot) + lines += ["", f"{INDENT}/* User Code Begin 3 */"] + default_3 + lines.append(f"{INDENT}/* User Code End 3 */") + if use_xrobot: + lines.append(f"{INDENT}XROBOT_MAIN();") + lines.append("}") + return stm32._preserve_generated_regions(existing_code, "\n".join(lines) + "\n") + + +def initialize_registry() -> None: + """清空生成对象的登记表和本次生成用到的头文件,使同一次进程中的下一次生成不带上次的对象。 + Clear the registry of generated objects and the headers of this generation, so the next + generation in the same process carries no objects over. + """ + stm32.registered_devices.clear() + stm32.registered_origins.clear() + stm32.used_headers.clear() + + +def reset_settings() -> None: + """把生效的设置恢复为 MSPM0 的默认集合:STM32 专用的段剔除,UART 和 PWM 段补上。 + Restore the effective settings to the MSPM0 default set: the STM32-only sections removed + and the UART and PWM sections added. + """ + stm32.reset_settings() + for key in STM32_ONLY_SECTIONS: + stm32.libxr_settings.pop(key, None) + stm32._settings("UART") + stm32._settings("PWM") + + +def generate( + input_path: str, output_path: str, use_xrobot: bool = False, libxr_config: str = "" +) -> None: + """生成 output_path 指定的 app_main 源文件,以及同一目录中的 app_main.h 和 libxr_config.yaml。 + Generate the app_main source file output_path, and app_main.h and libxr_config.yaml in the + same directory. + + 每次从默认设置开始,合并 libxr_config(libxr_config.yaml 的路径或 URL,为空时读取输出目录中 + 的文件)。全部文件先在内存中生成,没有错误时才写出,并且只写内容有变化的文件。已有输出文件 + 中 User Code 区域的内容被保留。出错时记录错误(调试日志另记调用栈)并以状态 1 退出。 + Every run starts from the default settings and merges libxr_config, the path or URL of + libxr_config.yaml, or the file in the output directory when empty. All files are generated + in memory first and written only when nothing failed, and only the files whose content + changed are written. The User Code bodies of an existing output file are kept. An error is + logged, with the traceback at debug level, and exits with status 1. + """ + try: + output_dir = os.path.dirname(output_path) or os.curdir + + reset_settings() + project_data = stm32.load_configuration(input_path) + stm32.load_libxr_config(output_dir, libxr_config) + # load_configuration 又写入了 SYSTEM(MSPM0 只有裸机),再剔除一次。 + # load_configuration has written SYSTEM again (MSPM0 is bare metal only); remove it + # once more. + stm32.libxr_settings.pop("SYSTEM", None) + stm32._settings("UART") + stm32._settings("PWM") + initialize_registry() + + existing_code = "" + if os.path.exists(output_path): + with open(output_path, encoding="utf-8") as file: + existing_code = file.read() + stm32.reject_user_hardware_container(existing_code, use_xrobot) + if use_xrobot: + stm32.reject_user_xrobot_main(existing_code) + existing_code = stm32._without_default_loop(existing_code) + + files = { + os.path.basename(output_path): generate_full_code( + project_data, use_xrobot, existing_code + ), + "app_main.h": stm32.APP_MAIN_HEADER, + "libxr_config.yaml": stm32.libxr_config_text(), + } + + os.makedirs(output_dir, exist_ok=True) + written, unchanged = [], [] + for name, text in files.items(): + path = os.path.join(output_dir, name) + (written if stm32._write_if_changed(path, text) else unchanged).append(name) + stm32._report_files(output_dir, written, unchanged, []) + except SystemExit: + raise + except Exception as error: + logging.error(tr(f"Generation failed: {str(error)}", f"生成失败:{str(error)}")) + logging.debug(tr("Traceback:", "调用栈:"), exc_info=True) + sys.exit(1) diff --git a/src/libxr/peripheral_analyzer_mspm0.py b/src/libxr/peripheral_analyzer_mspm0.py new file mode 100644 index 0000000..a247391 --- /dev/null +++ b/src/libxr/peripheral_analyzer_mspm0.py @@ -0,0 +1,536 @@ +"""libxr parse 对 MSPM0 工程:解析 SysConfig 工程并写出工程 YAML。 +libxr parse for an MSPM0 project: parse the SysConfig project and write the project YAML. + +工程是根目录中唯一的 .syscfg。解析读两个来源:.syscfg 本身(外设实例、参数和引脚分配),以及 +SysConfig 生成的 ti_msp_dl_config.h/.c(实际生成的宏名、CPUCLK_FREQ 和 ULPCLK 分频)。工程目录 +的 build* 里比 .syscfg 新的生成结果直接复用;否则用 SYSCONFIG_TOOL 运行一次(MSPM0_SDK_INSTALL_DIR +和 SYSCONFIG_TOOL,与 CMake 的 MSPM0SysConfig.cmake 用的环境变量相同),生成到临时目录。 +The project is the single .syscfg in the root. Parsing reads two sources: the .syscfg itself +(peripheral instances, parameters and pin assignments) and the ti_msp_dl_config.h/.c that +SysConfig generates (the macro names actually emitted, CPUCLK_FREQ and the ULPCLK divider). A +generated output newer than the .syscfg under a build* directory of the project is reused; +otherwise SysConfig runs once (MSPM0_SDK_INSTALL_DIR and SYSCONFIG_TOOL, the environment +variables the CMake MSPM0SysConfig.cmake uses as well) into a temporary directory. + +外设分两类:LibXR 有驱动的(UART、I2C、SPI、PWM)进入 Peripherals,gen 为它们生成对象;其余 +(ADC12、DAC12、MCAN、QEI……)记入 Other,只作展示。GPIO 引脚进入 GPIO 段。 +Peripherals split in two: the ones LibXR has drivers for (UART, I2C, SPI, PWM) go into +Peripherals and gen generates objects for them; the rest (ADC12, DAC12, MCAN, QEI, ...) are +recorded under Other for display only. The GPIO pins go into the GPIO section. +""" + +from __future__ import annotations + +import logging +import os +import re +import shutil +import subprocess +import sys +import tempfile +from pathlib import Path + +import yaml +from xr_syntax.i18n import tr + +from libxr import pin_layout, pin_project + + +def _save_to_yaml(data: dict, output_path: str) -> bool: + """把工程数据写成 YAML,首行为 SysConfig 工程的生成文件说明;成功时为 True。 + Write the project data as YAML with a generated-file notice for a SysConfig project on the + first line; True on success. + """ + try: + directory = os.path.dirname(output_path) + if directory: + os.makedirs(directory, exist_ok=True) + with open(output_path, "w", encoding="utf-8", newline="\n") as file: + file.write( + "# Generated by `libxr parse` from the SysConfig project file; " + "do not edit by hand.\n" + ) + yaml.dump( + data, file, allow_unicode=True, sort_keys=False, default_flow_style=False, indent=2 + ) + logging.info( + tr(f"Configuration exported to: {output_path}", f"配置已导出到:{output_path}") + ) + return True + except (OSError, yaml.YAMLError) as error: + logging.error(tr(f"YAML export failed: {str(error)}", f"YAML 导出失败:{str(error)}")) + return False + + +def _print_summary(data: dict) -> None: + """向标准输出打印配置摘要:器件、GPIO 引脚和各类外设实例。 + Print a configuration summary to standard output: the device, the GPIO pins and the + peripheral instances of each kind. + """ + print(tr("\n===== [Configuration Summary] =====", "\n===== [配置摘要] =====")) + mcu = data.get("Mcu", {}) + print( + tr( + f"\nMCU: {mcu.get('Family', '')} {mcu.get('Type', '')}", + f"\nMCU:{mcu.get('Family', '')} {mcu.get('Type', '')}", + ) + ) + gpio = data.get("GPIO", {}) + print(tr(f"\nGPIO ({len(gpio)} pins):", f"\nGPIO({len(gpio)} 个引脚):")) + for label, pin in gpio.items(): + interrupt = f", {pin['Interrupt']} interrupt" if "Interrupt" in pin else "" + print(f" {label}: {pin['Pin']}, {pin['Direction']}{interrupt}") + print(tr("\nActive Peripherals:", "\n已启用的外设:")) + for section, group in data.get("Peripherals", {}).items(): + print(tr(f" {section}: {len(group)} instance(s)", f" {section}:{len(group)} 个实例")) + for name in group: + print(f" {name}") + + +# SysConfig 运行的时限(秒)。 +# Time limit in seconds for a SysConfig run. +SYSCONFIG_TIMEOUT = 300 + +# LibXR 有驱动、gen 生成对象的模块:模块名 -> Peripherals 段的键。 +# The modules LibXR has drivers for and gen generates objects for: module -> the key of the +# Peripherals section. +GENERATED_MODULES = {"UART": "UART", "I2C": "I2C", "SPI": "SPI", "PWM": "PWM"} + +# 驱动会重设时钟配置的外设,SysConfig 写入的 clockSel 和 divideRatio 只起信息作用。 +# Peripherals whose clock configuration the driver resets; the clockSel and divideRatio +# SysConfig wrote are informational only. +DRIVER_RESET_CLOCKS = ("I2C",) + +SYSCFG_GPIO_PARAM = re.compile(r"^\.associatedPins\[(\d+)\]\.(\w+)$") +SYSCFG_PERIPH_MEMBER = re.compile(r"^\.peripheral\.(\w+)\.\$assign$") +SYSCFG_PWM_CHANNEL = re.compile(r"^\.peripheral\.ccp(\d+)Pin\.\$assign$") + + +def _strip_comments(text: str) -> str: + """.syscfg 的正文:去掉块注释和行注释。 + The body of a .syscfg: block comments and line comments removed. + """ + text = re.sub(r"/\*.*?\*/", "", text, flags=re.S) + return re.sub(r"^[ \t]*//.*$", "", text, flags=re.M) + + +class Instances: + """一个 .syscfg 的全部实例:变量 -> 模块、名字、外设、参数、引脚成员和 DMA 子实例。 + Every instance of one .syscfg: variable -> module, name, peripheral, parameters, pin + members and DMA sub-instances. + """ + + def __init__(self, text: str) -> None: + """解析 .syscfg 的脚本正文,按变量记下每个实例的全部赋值。 + Parse the script body of a .syscfg and record every assignment of each instance by its + variable. + """ + text = _strip_comments(text) + modules = dict(pin_project.SYSCFG_MODULE.findall(text)) + instances = dict(modules) + instances.update( + { + var: modules[module] + for var, module in pin_project.SYSCFG_INSTANCE.findall(text) + if module in modules + } + ) + self.of_var: dict[str, dict] = {} + for var, tail, value in pin_project.SYSCFG_ASSIGNMENT.findall(text): + if var not in instances: + continue + entry = self.of_var.setdefault( + var, + { + "module": instances[var], + "name": None, + "peripheral": None, + "params": {}, + "pins": {}, + "dma": {}, + "gpio": {}, + }, + ) + value = pin_project.syscfg_value(value) + if tail == ".$name": + entry["name"] = value + elif tail == ".peripheral.$assign": + entry["peripheral"] = value + elif tail == ".peripheral.$suggestSolution": + entry["peripheral"] = entry["peripheral"] or value + elif tail.startswith(".peripheral."): + member = SYSCFG_PERIPH_MEMBER.match(tail) + if member: + entry["pins"][member.group(1)] = value + elif tail.startswith(".DMA_CHANNEL_"): + entry["dma"][tail] = value + elif tail.startswith(".associatedPins["): + index = int(re.match(r"^\.associatedPins\[(\d+)\]", tail).group(1)) + pin = entry["gpio"].setdefault(index, {}) + if tail == f".associatedPins[{index}].$name": + pin["name"] = value + elif tail in ( + f".associatedPins[{index}].pin.$assign", + f".associatedPins[{index}].pin.$suggestSolution", + ): + # $assign 优先于 $suggestSolution;后写的 $suggestSolution 不覆盖 $assign。 + # $assign wins over $suggestSolution; a later $suggestSolution does not + # override an $assign. + if tail.endswith(".$assign") or "pin" not in pin: + pin["pin"] = value + else: + param = SYSCFG_GPIO_PARAM.match(tail) + if param and not param.group(2).startswith("$"): + pin[param.group(2)] = value + elif "$" not in tail: + entry["params"][tail.lstrip(".")] = value + + def peripherals(self, module: str) -> dict[str, dict]: + """模块 module 的实例,按 .syscfg 中的出现顺序,实例名 -> 数据;没有名字的实例跳过。 + The instances of module, in .syscfg order, instance name -> its data; an instance + without a name is skipped. + """ + found = {} + for entry in self.of_var.values(): + if entry["module"] == module and entry["name"]: + found[entry["name"]] = entry + return found + + +def _sysconfig_output(directory: Path, syscfg: Path) -> tuple[str, str]: + """SysConfig 生成的 ti_msp_dl_config.h 和 .c 的内容:优先复用 build* 中比 .syscfg 新的输出, + 否则运行 SysConfig 到临时目录(用后删除)。 + The contents of the ti_msp_dl_config.h/.c SysConfig generates: an output under build* that + is newer than the .syscfg is reused; otherwise SysConfig runs into a temporary directory + (removed afterwards). + """ + syscfg_mtime = syscfg.stat().st_mtime + reused = sorted( + ( + path + for path in directory.glob("build*/**/syscfg/ti_msp_dl_config.h") + if path.stat().st_mtime >= syscfg_mtime + ), + key=lambda path: path.stat().st_mtime, + ) + if reused: + header = reused[-1] + source = header.with_name("ti_msp_dl_config.c") + if source.is_file(): + build_dir = header.parent.parent + label = ( + build_dir.relative_to(directory) + if build_dir.is_relative_to(directory) + else build_dir + ) + logging.info( + tr( + f"Reusing the SysConfig output in {label}", + f"复用 {label} 中的 SysConfig 输出", + ) + ) + return header.read_text(encoding="utf-8", errors="replace"), source.read_text( + encoding="utf-8", errors="replace" + ) + + tool = os.environ.get("SYSCONFIG_TOOL", "") + sdk = os.environ.get("MSPM0_SDK_INSTALL_DIR", "") + if not tool or not sdk or not os.path.exists(os.path.join(sdk, ".metadata", "product.json")): + logging.error( + tr( + f"{directory}: no SysConfig output newer than {syscfg.name} found under build*, " + "and SYSCONFIG_TOOL or MSPM0_SDK_INSTALL_DIR is not set (the environment " + "variables the CMake build uses). Build the project once, or set them and run " + "`libxr parse` again.", + f"{directory}:build* 下没有比 {syscfg.name} 新的 SysConfig 输出,且没有设置 " + "SYSCONFIG_TOOL 或 MSPM0_SDK_INSTALL_DIR(CMake 构建使用的环境变量)。" + "请先构建一次工程,或设置它们后重新运行 `libxr parse`。", + ) + ) + sys.exit(1) + + output = tempfile.mkdtemp(prefix="libxr-sysconfig-") + try: + command = [ + tool, + "--compiler", + "gcc", + "--product", + os.path.join(sdk, ".metadata", "product.json"), + "--output", + output, + str(syscfg), + ] + result = subprocess.run(command, capture_output=True, text=True, timeout=SYSCONFIG_TIMEOUT) + if result.returncode != 0: + logging.error( + tr( + f"SysConfig failed on {syscfg}:\n{result.stdout}{result.stderr}", + f"SysConfig 在 {syscfg} 上运行失败:\n{result.stdout}{result.stderr}", + ) + ) + sys.exit(1) + header = Path(output) / "ti_msp_dl_config.h" + source = Path(output) / "ti_msp_dl_config.c" + return header.read_text(encoding="utf-8", errors="replace"), source.read_text( + encoding="utf-8", errors="replace" + ) + finally: + shutil.rmtree(output, ignore_errors=True) + + +def _defines(header: str) -> set[str]: + """ti_msp_dl_config.h 定义的宏名。 + The macro names ti_msp_dl_config.h defines. + """ + return set(re.findall(r"^#define\s+(\w+)", header, re.M)) + + +def _cpuclk(header: str) -> int | None: + """ti_msp_dl_config.h 里的 CPUCLK_FREQ;没有时为 None。 + The CPUCLK_FREQ of ti_msp_dl_config.h; None when it does not define one. + """ + match = re.search(r"^#define\s+CPUCLK_FREQ\s+(\d+)", header, re.M) + return int(match.group(1)) if match else None + + +def _ulpclk_divider(source: str) -> int: + """ti_msp_dl_config.c 里 DL_SYSCTL_setULPCLKDivider 的分频数;没有调用时为 1。 + The divider of DL_SYSCTL_setULPCLKDivider in ti_msp_dl_config.c; 1 without a call. + """ + match = re.search(r"DL_SYSCTL_setULPCLKDivider\s*\(\s*DL_SYSCTL_ULPCLK_DIV_(\d+)", source) + return int(match.group(1)) if match else 1 + + +def _clock_configs(source: str) -> dict[str, dict]: + """ti_msp_dl_config.c 里每个实例的时钟配置:实例名(I2C_0)-> clockSel 和 divideRatio。 + The clock configuration of every instance in ti_msp_dl_config.c: instance name (I2C_0) -> + its clockSel and divideRatio. + """ + found: dict[str, dict] = {} + for name, body in re.findall(r"static const \w+ g(\w+)ClockConfig = \{(.*?)\};", source, re.S): + sel = re.search(r"\.clockSel = (\w+)", body) + div = re.search(r"\.divideRatio = (\w+)", body) + found[name] = { + "clockSel": sel.group(1) if sel else None, + "divideRatio": div.group(1) if div else None, + } + return found + + +def _clock_is_default(clock: dict) -> bool: + """实例的 SysConfig 时钟配置是否为默认的 BUSCLK + 分频 1(驱动会重设的外设除外,那只影响 + SysConfig 写下的初值)。 + Whether the SysConfig clock configuration of the instance is the default BUSCLK with divider + 1; for a peripheral whose driver resets the clock this only describes the initial value + SysConfig wrote. + """ + sel, div = clock.get("clockSel"), clock.get("divideRatio") + return sel in ( + None, + "DL_I2C_CLOCK_BUSCLK", + "DL_SPI_CLOCK_BUSCLK", + "DL_TIMER_CLOCK_BUSCLK", + "DL_UART_MAIN_CLOCK_BUSCLK", + ) and div in ( + None, + "DL_I2C_CLOCK_DIVIDE_1", + "DL_SPI_CLOCK_DIVIDE_RATIO_1", + "DL_TIMER_CLOCK_DIVIDE_1", + "DL_UART_MAIN_CLOCK_DIVIDE_RATIO_1", + ) + + +def _gpio_entries(syscfg: Path, instances: Instances, defines: set[str]) -> dict: + """.syscfg 中 GPIO 组的引脚:标签($name 去掉 PIN_ 前缀)-> 组、物理引脚、实际生成的宏和 + 电气设置。 + The pins of the GPIO groups in the .syscfg: label (the $name without its PIN_ prefix) -> + group, physical pin, the macros that were actually generated and the electrical settings. + """ + entries: dict[str, dict] = {} + for entry in instances.of_var.values(): + if entry["module"] != "GPIO" or not entry["name"]: + continue + group_name = entry["name"] + # SysConfig 的宏以组名为前缀:组内所有引脚同端口时组级 PORT 宏(GPIO_KEYS_PORT),否则 + # 每个引脚自己的 PORT 宏(GPIO_LEDS_PIN_LED1_PORT);PIN 和 IOMUX 宏总是每引脚一个。 + # The macros of SysConfig take the group name as their prefix: a group-level PORT macro + # (GPIO_KEYS_PORT) when every pin of the group sits on the same port, else the PORT + # macro of each pin (GPIO_LEDS_PIN_LED1_PORT); the PIN and IOMUX macros are always + # per-pin. + group_port = f"{group_name}_PORT" in defines + for index in sorted(entry["gpio"]): + pin = entry["gpio"][index] + name, physical = pin.get("name"), pin.get("pin") + if not name or not physical: + continue + port_macro = f"{group_name}_PORT" if group_port else f"{group_name}_{name}_PORT" + pin_macro = f"{group_name}_{name}_PIN" + iomux_macro = f"{group_name}_{name}_IOMUX" + missing = [ + macro for macro in (port_macro, pin_macro, iomux_macro) if macro not in defines + ] + if missing: + logging.warning( + tr( + f"{syscfg.name}: {', '.join(missing)} missing from the SysConfig output; " + f"the GPIO {name} is skipped", + f"{syscfg.name}:SysConfig 输出里没有 {', '.join(missing)};" + f"跳过 GPIO {name}", + ) + ) + continue + record = { + "Group": group_name, + "Pin": physical, + "Port": port_macro, + "PinMacro": pin_macro, + "IOMUX": iomux_macro, + "Direction": pin.get("direction", "OUTPUT"), + "Resistor": pin.get("internalResistor", "NONE"), + } + if pin.get("interruptEn"): + record["Interrupt"] = pin.get("polarity", "RISE") + label = name[4:] if name.startswith("PIN_") else name + if label in entries: + logging.warning( + tr( + f"{syscfg.name}: two GPIO pins are named {label}; the later one wins", + f"{syscfg.name}:两个 GPIO 引脚都叫 {label};以后一个为准", + ) + ) + entries[label] = record + return entries + + +def _dma_channel(entry: dict, direction: str) -> str | None: + """实例的 DMA 通道名:UART 是 DMA_CHANNEL_TX/RX,SPI 是事件通道,按触发方向区分。 + The DMA channel name of an instance: DMA_CHANNEL_TX/RX for a UART, the event channels of an + SPI told apart by their trigger direction. + """ + name = entry["dma"].get(f".DMA_CHANNEL_{direction}.$name") + if name: + return name + for event in (1, 2): + channel = entry["dma"].get(f".DMA_CHANNEL_EVENT{event}.$name") + trigger = entry["params"].get(f"enabledDMAEvent{event}Triggers") + if channel and trigger: + if direction == "RX" and trigger.endswith("_RX"): + return channel + if direction == "TX" and trigger.endswith("_TX"): + return channel + return None + + +def parse_project(directory: str, output: str | None = None, summary: bool = True) -> None: + """解析 directory 根目录的 .syscfg 工程并写出 YAML;summary 为真时打印摘要。 + Parse the .syscfg project in the root of directory and write the YAML; print a summary when + summary is set. + + 输出路径默认为该目录下的 .config.yaml。调用方(libxr parse)已确认目录存在且根目录含有一个 + .syscfg 文件。 + The output defaults to .config.yaml in that directory. The caller, libxr parse, has checked + that the directory exists and the root holds one .syscfg file. + """ + root = Path(directory) + syscfgs = sorted(root.glob("*.syscfg")) + if len(syscfgs) != 1: + names = ", ".join(path.name for path in syscfgs) or tr("none found", "没有找到") + logging.error( + tr( + f"{directory} must hold exactly one .syscfg file in its root ({names})", + f"{directory} 的根目录必须有且只有一个 .syscfg 文件({names})", + ) + ) + sys.exit(1) + syscfg = syscfgs[0] + logging.info(tr(f"Processing {syscfg.name}...", f"正在处理 {syscfg.name}……")) + + header, source = _sysconfig_output(root, syscfg) + meta = pin_project.read_syscfg(syscfg) + board = pin_project.load_boards().get(meta.board or "") + device = meta.device or (board or {}).get("device") + if device is None: + logging.error( + tr( + f"{syscfg.name} does not name a device (@v2CliArgs --device or --board)", + f"{syscfg.name} 没有给出器件(@v2CliArgs 的 --device 或 --board)", + ) + ) + sys.exit(1) + + instances = Instances(syscfg.read_text(encoding="utf-8", errors="replace")) + peripherals: dict[str, dict] = {} + for module, section in GENERATED_MODULES.items(): + for name, entry in instances.peripherals(module).items(): + record = {"Peripheral": entry["peripheral"]} + for direction in ("TX", "RX"): + channel = _dma_channel(entry, direction) + if channel: + record[f"DMA_{direction}"] = channel + pins = {member: pin for member, pin in entry["pins"].items()} + if pins: + record["Pins"] = pins + if module == "PWM": + channels = sorted( + int(match.group(1)) + for member in entry["pins"] + if (match := SYSCFG_PWM_CHANNEL.match(f".peripheral.{member}.$assign")) + ) + record["Channels"] = channels + peripherals.setdefault(section, {})[name] = record + + other: dict[str, dict] = {} + for entry in instances.of_var.values(): + module, name, peripheral = entry["module"], entry["name"], entry["peripheral"] + if module in GENERATED_MODULES or module == "GPIO": + continue + if peripheral is None or peripheral.startswith("DMA_CH") or peripheral == "DEBUGSS": + continue + other[name or peripheral] = {"Module": module, "Peripheral": peripheral} + + # 每个外设实例所在的电源域(P1 的数据),gen 的时钟计算(M5)要用。 + # The power domain of every peripheral instance (the P1 data), for the clock computation of + # gen (M5). + power_domains = _power_domains(device) + clocks = _clock_configs(source) + for _section, records in peripherals.items(): + for name, record in records.items(): + domain = power_domains.get(str(record["Peripheral"])) + if domain is not None: + record["PowerDomain"] = domain + clock = clocks.get(name) + if clock and not _clock_is_default(clock): + record["SysConfigClock"] = clock + + data = { + "Platform": "mspm0", + "Syscfg": syscfg.name, + "Mcu": {"Family": "MSPM0", "Type": device}, + "CPUCLK": _cpuclk(header), + "ULPCLKDivider": _ulpclk_divider(source), + "GPIO": _gpio_entries(syscfg, instances, _defines(header)), + "Peripherals": {**peripherals, "Other": other} if other else peripherals, + } + + output_path = output or os.path.join(directory, ".config.yaml") + if not data["Peripherals"] and not data["GPIO"]: + logging.warning( + tr( + f"{syscfg.name} configures no peripheral or GPIO pin", + f"{syscfg.name} 没有配置任何外设或 GPIO 引脚", + ) + ) + if not _save_to_yaml(data, str(output_path)): + sys.exit(1) + if summary: + _print_summary(data) + + +def _power_domains(device: str) -> dict[str, int]: + """器件所属家族的外设电源域(P1 的 mspm0 数据:模块名 -> 0/1)。 + The peripheral power domains of the family of the device (the P1 mspm0 data: module -> 0/1). + """ + data = pin_layout.load_data("mspm0") + _, family, _ = pin_layout.mspm0_family(device, data) + return family.get("power_domains", {}) diff --git a/tests/data/mspm0/g3507.syscfg b/tests/data/mspm0/g3507.syscfg new file mode 100644 index 0000000..71b7572 --- /dev/null +++ b/tests/data/mspm0/g3507.syscfg @@ -0,0 +1,230 @@ +/** + * These arguments were used when this file was generated. They will be automatically applied on subsequent loads + * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments. + * @cliArgs --device "MSPM0G350X" --part "Default" --package "LQFP-48(PT)" --product "mspm0_sdk@2.11.00.07" + * @v2CliArgs --device "MSPM0G3507" --package "LQFP-48(PT)" --product "mspm0_sdk@2.11.00.07" + * @versions {"tool":"1.28.1+4785"} + */ + +/** + * Import the modules used in this configuration. + */ +const ADC12 = scripting.addModule("/ti/driverlib/ADC12", {}, false); +const ADC121 = ADC12.addInstance(); +const ADC122 = ADC12.addInstance(); +const DAC12 = scripting.addModule("/ti/driverlib/DAC12"); +const GPIO = scripting.addModule("/ti/driverlib/GPIO", {}, false); +const GPIO1 = GPIO.addInstance(); +const GPIO2 = GPIO.addInstance(); +const I2C = scripting.addModule("/ti/driverlib/I2C", {}, false); +const I2C1 = I2C.addInstance(); +const I2C2 = I2C.addInstance(); +const MCAN = scripting.addModule("/ti/driverlib/MCAN", {}, false); +const MCAN1 = MCAN.addInstance(); +const PWM = scripting.addModule("/ti/driverlib/PWM", {}, false); +const PWM1 = PWM.addInstance(); +const QEI = scripting.addModule("/ti/driverlib/QEI", {}, false); +const QEI1 = QEI.addInstance(); +const SPI = scripting.addModule("/ti/driverlib/SPI", {}, false); +const SPI1 = SPI.addInstance(); +const SYSCTL = scripting.addModule("/ti/driverlib/SYSCTL"); +const SYSTICK = scripting.addModule("/ti/driverlib/SYSTICK"); +const UART = scripting.addModule("/ti/driverlib/UART", {}, false); +const UART1 = UART.addInstance(); +const UART2 = UART.addInstance(); + +/** + * Write custom configuration values to the imported modules. + */ +const divider1 = system.clockTree["PLL_CLK2X_DIV"]; +divider1.divideValue = 4; + +const divider2 = system.clockTree["PLL_CLK1_DIV"]; +divider2.divideValue = 2; + +const divider3 = system.clockTree["PLL_PDIV"]; +divider3.divideValue = 2; + +const divider4 = system.clockTree["UDIV"]; +divider4.divideValue = 2; + +const gate1 = system.clockTree["MFPCLKGATE"]; +gate1.enable = true; + +const multiplier1 = system.clockTree["PLL_QDIV"]; +multiplier1.multiplyValue = 20; + +const mux0 = system.clockTree["CANCLKMUX"]; +mux0.inputSelect = "CANCLKMUX_PLLCLK1_OUT"; + +const mux1 = system.clockTree["EXHFMUX"]; +mux1.inputSelect = "EXHFMUX_XTAL"; + +const mux2 = system.clockTree["SYSPLLMUX"]; +mux2.inputSelect = "zSYSPLLMUX_HFCLK"; + +const mux3 = system.clockTree["HSCLKMUX"]; +mux3.inputSelect = "HSCLKMUX_SYSPLL2X"; + +const mux4 = system.clockTree["EXLFMUX"]; +mux4.inputSelect = "EXLFMUX_XTAL"; + +const mux5 = system.clockTree["LFXTMUX"]; +mux5.inputSelect = "LFXTMUX_TRUE"; + +const pinFunction1 = system.clockTree["HFXT"]; +pinFunction1.enable = true; +pinFunction1.inputFreq = 16; +pinFunction1.HFXTStartup = 255; +pinFunction1.HFCLKMonitor = true; +pinFunction1.peripheral.hfxInPin.$assign = "PA5"; +pinFunction1.peripheral.hfxOutPin.$assign = "PA6"; + +const pinFunction2 = system.clockTree["LFXT"]; +pinFunction2.enable = true; +pinFunction2.inputFreq = 32.768; +pinFunction2.peripheral.lfxInPin.$assign = "PA3"; +pinFunction2.peripheral.lfxOutPin.$assign = "PA4"; + +ADC121.$name = "ADC12_0"; +ADC121.adcMem0chansel = "DL_ADC12_INPUT_CHAN_3"; +ADC121.peripheral.$assign = "ADC0"; +ADC121.peripheral.adcPin3.$assign = "PA24"; + +ADC122.$name = "ADC12_1"; +ADC122.adcMem0chansel = "DL_ADC12_INPUT_CHAN_5"; +ADC122.peripheral.$assign = "ADC1"; +ADC122.peripheral.adcPin5.$assign = "PB18"; + +DAC12.dacOutputPinEn = true; +DAC12.dacAmplifier = "ON"; +DAC12.peripheral.$assign = "DAC0"; +DAC12.peripheral.OutPin.$assign = "PA15"; + +GPIO1.$name = "GPIO_LEDS"; +GPIO1.associatedPins.create(2); +GPIO1.associatedPins[0].$name = "PIN_LED1"; +GPIO1.associatedPins[0].initialValue = "SET"; +GPIO1.associatedPins[0].pin.$assign = "PB8"; +GPIO1.associatedPins[1].$name = "PIN_LED2"; +GPIO1.associatedPins[1].initialValue = "SET"; +GPIO1.associatedPins[1].pin.$assign = "PA16"; + +GPIO2.$name = "GPIO_KEYS"; +GPIO2.associatedPins.create(2); +GPIO2.associatedPins[0].$name = "PIN_KEY1"; +GPIO2.associatedPins[0].direction = "INPUT"; +GPIO2.associatedPins[0].internalResistor = "NONE"; +GPIO2.associatedPins[0].interruptEn = true; +GPIO2.associatedPins[0].polarity = "FALL"; +GPIO2.associatedPins[0].pin.$assign = "PB24"; +GPIO2.associatedPins[1].$name = "PIN_KEY2"; +GPIO2.associatedPins[1].direction = "INPUT"; +GPIO2.associatedPins[1].internalResistor = "NONE"; +GPIO2.associatedPins[1].interruptEn = true; +GPIO2.associatedPins[1].polarity = "FALL"; +GPIO2.associatedPins[1].pin.$assign = "PB20"; + +I2C1.$name = "I2C_0"; +I2C1.basicEnableController = true; +I2C1.basicControllerBusSpeed = 100000; +I2C1.peripheral.$assign = "I2C0"; +I2C1.peripheral.sdaPin.$assign = "PA0"; +I2C1.peripheral.sclPin.$assign = "PA1"; + +I2C2.$name = "I2C_1"; +I2C2.basicEnableController = true; +I2C2.basicControllerBusSpeed = 100000; +I2C2.peripheral.$assign = "I2C1"; +I2C2.peripheral.sdaPin.$assign = "PB3"; +I2C2.peripheral.sclPin.$assign = "PB2"; + +MCAN1.$name = "MCAN_0"; +MCAN1.peripheral.$assign = "CANFD0"; +MCAN1.peripheral.rxPin.$assign = "PA13"; +MCAN1.peripheral.txPin.$assign = "PA12"; + +PWM1.$name = "PWM_TIMA1"; +PWM1.peripheral.$assign = "TIMA1"; +PWM1.peripheral.ccp0Pin.$assign = "PA28"; +PWM1.peripheral.ccp1Pin.$assign = "PA31"; + +QEI1.$name = "QEI_TIMG8"; +QEI1.enableIndexInput = true; +QEI1.peripheral.$assign = "TIMG8"; +QEI1.peripheral.ccp0Pin.$assign = "PA26"; +QEI1.peripheral.ccp1Pin.$assign = "PA22"; +QEI1.peripheral.idxPin.$assign = "PB14"; + +const Board = scripting.addModule("/ti/driverlib/Board", {}, false); +Board.peripheral.$assign = "DEBUGSS"; +Board.peripheral.swclkPin.$assign = "PA20"; +Board.peripheral.swdioPin.$assign = "PA19"; + +SPI1.$name = "SPI_1"; +SPI1.chipSelect = ["0"]; +SPI1.rxFifoThreshold = "DL_SPI_RX_FIFO_LEVEL_ONE_FRAME"; +SPI1.txFifoThreshold = "DL_SPI_TX_FIFO_LEVEL_ONE_FRAME"; +SPI1.enabledInterrupts = ["DMA_DONE_RX","DMA_DONE_TX"]; +SPI1.enabledDMAEvent1Triggers = "DL_SPI_DMA_INTERRUPT_RX"; +SPI1.enabledDMAEvent2Triggers = "DL_SPI_DMA_INTERRUPT_TX"; +SPI1.peripheral.$assign = "SPI1"; +SPI1.peripheral.sclkPin.$assign = "PB9"; +SPI1.peripheral.mosiPin.$assign = "PB15"; +SPI1.peripheral.misoPin.$assign = "PB7"; +SPI1.peripheral.cs0Pin.$assign = "PB6"; +SPI1.cs0PinConfig.enableConfig = true; +SPI1.cs0PinConfig.internalResistor = "PULL_UP"; +SPI1.DMA_CHANNEL_EVENT1.$name = "DMA_CH_SPI1_RX"; +SPI1.DMA_CHANNEL_EVENT1.addressMode = "f2b"; +SPI1.DMA_CHANNEL_EVENT1.srcLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT1.dstLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT1.peripheral.$assign = "DMA_CH6"; +SPI1.DMA_CHANNEL_EVENT2.$name = "DMA_CH_SPI1_TX"; +SPI1.DMA_CHANNEL_EVENT2.addressMode = "b2f"; +SPI1.DMA_CHANNEL_EVENT2.srcLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT2.dstLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT2.peripheral.$assign = "DMA_CH2"; + +SYSCTL.forceDefaultClkConfig = true; +SYSCTL.clockTreeEn = true; + +SYSTICK.periodEnable = true; +SYSTICK.period = 80000; +SYSTICK.interruptEnable = true; +SYSTICK.systickEnable = true; + +UART1.$name = "UART_0"; +UART1.targetBaudRate = 115200; +UART1.enableFIFO = true; +UART1.rxFifoThreshold = "DL_UART_RX_FIFO_LEVEL_ONE_ENTRY"; +UART1.txFifoThreshold = "DL_UART_TX_FIFO_LEVEL_ONE_ENTRY"; +UART1.enableDMATX = true; +UART1.enabledDMATXTriggers = "DL_UART_DMA_INTERRUPT_TX"; +UART1.peripheral.$assign = "UART0"; +UART1.peripheral.rxPin.$assign = "PA11"; +UART1.peripheral.txPin.$assign = "PA10"; +UART1.DMA_CHANNEL_TX.$name = "DMA_CH_UART0_TX"; +UART1.DMA_CHANNEL_TX.addressMode = "b2f"; +UART1.DMA_CHANNEL_TX.srcLength = "BYTE"; +UART1.DMA_CHANNEL_TX.dstLength = "BYTE"; +UART1.DMA_CHANNEL_TX.srcIncDec = "INCREMENT"; +UART1.DMA_CHANNEL_TX.peripheral.$assign = "DMA_CH3"; + +UART2.$name = "UART_1"; +UART2.targetBaudRate = 115200; +UART2.enableFIFO = true; +UART2.rxFifoThreshold = "DL_UART_RX_FIFO_LEVEL_ONE_ENTRY"; +UART2.txFifoThreshold = "DL_UART_TX_FIFO_LEVEL_ONE_ENTRY"; +UART2.enableDMATX = true; +UART2.enabledDMATXTriggers = "DL_UART_DMA_INTERRUPT_TX"; +UART2.peripheral.$assign = "UART1"; +UART2.peripheral.rxPin.$assign = "PA9"; +UART2.peripheral.txPin.$assign = "PA8"; +UART2.DMA_CHANNEL_TX.$name = "DMA_CH_UART1_TX"; +UART2.DMA_CHANNEL_TX.addressMode = "b2f"; +UART2.DMA_CHANNEL_TX.srcLength = "BYTE"; +UART2.DMA_CHANNEL_TX.dstLength = "BYTE"; +UART2.DMA_CHANNEL_TX.srcIncDec = "INCREMENT"; +UART2.DMA_CHANNEL_TX.peripheral.$assign = "DMA_CH4"; + diff --git a/tests/data/mspm0/g3507_expected_app_main.cpp b/tests/data/mspm0/g3507_expected_app_main.cpp new file mode 100644 index 0000000..6bdd62c --- /dev/null +++ b/tests/data/mspm0/g3507_expected_app_main.cpp @@ -0,0 +1,140 @@ +// Generated by `libxr gen`; do not edit by hand. +// Generated from mspm0g3507_minidb48.syscfg (MSPM0G3507); SysConfig configures the +// clocks, pins, DMA channels and peripherals (SYSCFG_DL_init() in main.c). Put +// application code between the "User Code Begin" and "User Code End" markers. +#include "app_main.h" + +#include "libxr.hpp" +#include "mspm0_gpio.hpp" +#include "mspm0_i2c.hpp" +#include "mspm0_pwm.hpp" +#include "mspm0_spi.hpp" +#include "mspm0_timebase.hpp" +#include "mspm0_uart.hpp" +#include "ti_msp_dl_config.h" +#include "xrobot_main.hpp" + +using namespace LibXR; + +/* User Code Begin 1 */ +#include +#include + +// KEY interrupt counters, incremented in the GPIO interrupt callbacks. +static std::atomic key1_irq_count{0}; +static std::atomic key2_irq_count{0}; + +static void OnKeyInterrupt(bool in_isr, std::atomic* count) +{ + (void)in_isr; + count->fetch_add(1, std::memory_order_relaxed); +} +/* User Code End 1 */ + +// Input clocks: the BUSCLK of the power domain. PD0 from ULPCLK = CPUCLK_FREQ / 2 +// (DL_SYSCTL_setULPCLKDivider) and PD1 from MCLK (CPUCLK_FREQ). The I2C driver resets +// the clock configuration of its peripherals, so the BUSCLK of the domain is the right +// argument. +static constexpr uint32_t PD0_BUSCLK_FREQ = (CPUCLK_FREQ / 2); +static constexpr uint32_t PD1_BUSCLK_FREQ = CPUCLK_FREQ; + +// Ownership of the DMA channels that serve a UART transmitter; +// MSPM0_UART_MAIN_INIT checks these names against the ones SysConfig generated. +#define DMA_CH_UART0_TX_LIBXR_UART_IRQN UART_0_INST_INT_IRQN +#define DMA_CH_UART0_TX_LIBXR_UART_TX 1 +#define DMA_CH_UART1_TX_LIBXR_UART_IRQN UART_1_INST_INT_IRQN +#define DMA_CH_UART1_TX_LIBXR_UART_TX 1 + +// DMA buffers. A UART gets 2 x N bytes for its two transmit halves; the receive side +// runs on byte interrupts. The SPI DMA buffers are split in two halves as well; the +// I2C driver uses polling, its buffer is the staging area for DMA transfers. +alignas(size_t) static uint8_t uart0_tx_buf[2 * 128]; +alignas(size_t) static uint8_t uart1_tx_buf[2 * 128]; +alignas(4) static uint8_t spi1_rx_buf[32]; +alignas(4) static uint8_t spi1_tx_buf[32]; +alignas(4) static uint8_t i2c0_buf[32]; +alignas(4) static uint8_t i2c1_buf[32]; + +extern "C" void app_main(void) +{ + /* User Code Begin 2 */ + /* User Code End 2 */ + + // Timebase and platform + static MSPM0Timebase timebase; + PlatformInit(); + + // GPIO: SysConfig configured LED1 (PB8), LED2 (PA16) as output pins and KEY1 (PB24), + // KEY2 (PB20) as input pins. The interrupt edge comes from SysConfig; RegisterCallback + // and EnableInterrupt belong to the consumer (a Module or the User Code). + static MSPM0GPIO LED1(GPIO_LEDS_PIN_LED1_PORT, GPIO_LEDS_PIN_LED1_PIN, + GPIO_LEDS_PIN_LED1_IOMUX); + static MSPM0GPIO LED2(GPIO_LEDS_PIN_LED2_PORT, GPIO_LEDS_PIN_LED2_PIN, + GPIO_LEDS_PIN_LED2_IOMUX); + static MSPM0GPIO KEY1(GPIO_KEYS_PORT, GPIO_KEYS_PIN_KEY1_PIN, GPIO_KEYS_PIN_KEY1_IOMUX); + static MSPM0GPIO KEY2(GPIO_KEYS_PORT, GPIO_KEYS_PIN_KEY2_PIN, GPIO_KEYS_PIN_KEY2_IOMUX); + + // UART: TX with DMA; the receive side runs on byte interrupts. + static MSPM0UART uart0(MSPM0_UART_MAIN_INIT(UART_0, DMA_CH_UART0_TX, uart0_tx_buf, + sizeof(uart0_tx_buf), 5, 128)); + static MSPM0UART uart1(MSPM0_UART_MAIN_INIT(UART_1, DMA_CH_UART1_TX, uart1_tx_buf, + sizeof(uart1_tx_buf), 5, 128)); + + // I2C: polling; the buffer stages DMA transfers. + static MSPM0I2C i2c0(MSPM0_I2C_INIT(I2C_0, PD0_BUSCLK_FREQ, i2c0_buf, sizeof(i2c0_buf), + 8), {I2C_0_BUS_SPEED_HZ}); + static MSPM0I2C i2c1(MSPM0_I2C_INIT(I2C_1, PD0_BUSCLK_FREQ, i2c1_buf, sizeof(i2c1_buf), + 8), {I2C_1_BUS_SPEED_HZ}); + + // SPI: DMA for transfers longer than the threshold. + static MSPM0SPI spi1(MSPM0_SPI_INIT(SPI_1, PD1_BUSCLK_FREQ, DMA_CH_SPI1_RX, + DMA_CH_SPI1_TX, spi1_rx_buf, sizeof(spi1_rx_buf), spi1_tx_buf, + sizeof(spi1_tx_buf), 3)); + + // PWM: the channels of one timer share one period, which SysConfig configures. + static MSPM0PWM pwm_tima1_c0(MSPM0_PWM_CH(PWM_TIMA1, 0)); + static MSPM0PWM pwm_tima1_c1(MSPM0_PWM_CH(PWM_TIMA1, 1)); + + // Terminal on uart0 + STDIO::read_ = uart0.read_port_; + STDIO::write_ = uart0.write_port_; + static RamFS ramfs("XRobot"); + static Terminal<32, 32, 5, 5> terminal(ramfs); + static auto terminal_task = Timer::CreateTask(terminal.TaskFun, &terminal, 10); + Timer::Add(terminal_task); + Timer::Start(terminal_task); + + // Hardware registration + XR_REGISTER(LED1, LibXR::GPIO); + XR_REGISTER(LED2, LibXR::GPIO); + XR_REGISTER(KEY1, LibXR::GPIO); + XR_REGISTER(KEY2, LibXR::GPIO); + + XR_REGISTER(pwm_tima1_c0, LibXR::PWM); + XR_REGISTER(pwm_tima1_c1, LibXR::PWM); + + XR_REGISTER(spi1, LibXR::SPI); + + XR_REGISTER(uart0, LibXR::UART); + XR_REGISTER(uart1, LibXR::UART); + + XR_REGISTER(i2c0, LibXR::I2C); + XR_REGISTER(i2c1, LibXR::I2C); + + XR_REGISTER(ramfs, LibXR::RamFS); + + XR_REGISTER(terminal, LibXR::Terminal<32, 32, 5, 5>); + + /* User Code Begin 3 */ + // The keys pull the pin low against an external 15k pull-up: falling edge, no internal + // pull. The interrupt registration belongs to the consumer (O1: the generator creates + // the GPIO object only). + KEY1.SetConfig({GPIO::Direction::FALL_INTERRUPT, GPIO::Pull::NONE}); + KEY1.RegisterCallback(GPIO::Callback::Create(OnKeyInterrupt, &key1_irq_count)); + KEY1.EnableInterrupt(); + KEY2.SetConfig({GPIO::Direction::FALL_INTERRUPT, GPIO::Pull::NONE}); + KEY2.RegisterCallback(GPIO::Callback::Create(OnKeyInterrupt, &key2_irq_count)); + KEY2.EnableInterrupt(); + /* User Code End 3 */ + XROBOT_MAIN(); +} diff --git a/tests/data/mspm0/g3507_ti_msp_dl_config.c b/tests/data/mspm0/g3507_ti_msp_dl_config.c new file mode 100644 index 0000000..ea4ce5b --- /dev/null +++ b/tests/data/mspm0/g3507_ti_msp_dl_config.c @@ -0,0 +1,864 @@ +/* + * Copyright (c) 2023, Texas Instruments Incorporated + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * ============ ti_msp_dl_config.c ============= + * Configured MSPM0 DriverLib module definitions + * + * DO NOT EDIT - This file is generated for the MSPM0G350X + * by the SysConfig tool. + */ + +#include "ti_msp_dl_config.h" + +DL_TimerA_backupConfig gPWM_TIMA1Backup; +DL_TimerG_backupConfig gQEI_TIMG8Backup; +DL_SPI_backupConfig gSPI_1Backup; +DL_MCAN_backupConfig gMCAN_0Backup; + +/* + * ======== SYSCFG_DL_init ======== + * Perform any initialization needed before using any board APIs + */ +SYSCONFIG_WEAK void SYSCFG_DL_init(void) +{ + SYSCFG_DL_initPower(); + SYSCFG_DL_GPIO_init(); + /* Module-Specific Initializations*/ + SYSCFG_DL_SYSCTL_init(); + SYSCFG_DL_PWM_TIMA1_init(); + SYSCFG_DL_QEI_TIMG8_init(); + SYSCFG_DL_I2C_0_init(); + SYSCFG_DL_I2C_1_init(); + SYSCFG_DL_UART_0_init(); + SYSCFG_DL_UART_1_init(); + SYSCFG_DL_SPI_1_init(); + SYSCFG_DL_ADC12_0_init(); + SYSCFG_DL_ADC12_1_init(); + SYSCFG_DL_DMA_init(); + SYSCFG_DL_SYSTICK_init(); + SYSCFG_DL_DAC12_init(); + SYSCFG_DL_MCAN_0_init(); + /* Ensure backup structures have no valid state */ + gPWM_TIMA1Backup.backupRdy = false; + gQEI_TIMG8Backup.backupRdy = false; + + gSPI_1Backup.backupRdy = false; + gMCAN_0Backup.backupRdy = false; + +} +/* + * User should take care to save and restore register configuration in application. + * See Retention Configuration section for more details. + */ +SYSCONFIG_WEAK bool SYSCFG_DL_saveConfiguration(void) +{ + bool retStatus = true; + + retStatus &= DL_TimerA_saveConfiguration(PWM_TIMA1_INST, &gPWM_TIMA1Backup); + retStatus &= DL_TimerG_saveConfiguration(QEI_TIMG8_INST, &gQEI_TIMG8Backup); + retStatus &= DL_SPI_saveConfiguration(SPI_1_INST, &gSPI_1Backup); + retStatus &= DL_MCAN_saveConfiguration(MCAN_0_INST, &gMCAN_0Backup); + + return retStatus; +} + + +SYSCONFIG_WEAK bool SYSCFG_DL_restoreConfiguration(void) +{ + bool retStatus = true; + + retStatus &= DL_TimerA_restoreConfiguration(PWM_TIMA1_INST, &gPWM_TIMA1Backup, false); + retStatus &= DL_TimerG_restoreConfiguration(QEI_TIMG8_INST, &gQEI_TIMG8Backup, false); + retStatus &= DL_SPI_restoreConfiguration(SPI_1_INST, &gSPI_1Backup); + retStatus &= DL_MCAN_restoreConfiguration(MCAN_0_INST, &gMCAN_0Backup); + + return retStatus; +} + +SYSCONFIG_WEAK void SYSCFG_DL_initPower(void) +{ + DL_GPIO_reset(GPIOA); + DL_GPIO_reset(GPIOB); + DL_TimerA_reset(PWM_TIMA1_INST); + DL_TimerG_reset(QEI_TIMG8_INST); + DL_I2C_reset(I2C_0_INST); + DL_I2C_reset(I2C_1_INST); + DL_UART_Main_reset(UART_0_INST); + DL_UART_Main_reset(UART_1_INST); + DL_SPI_reset(SPI_1_INST); + DL_ADC12_reset(ADC12_0_INST); + DL_ADC12_reset(ADC12_1_INST); + + + DL_DAC12_reset(DAC0); + DL_MCAN_reset(MCAN_0_INST); + + DL_GPIO_enablePower(GPIOA); + DL_GPIO_enablePower(GPIOB); + DL_TimerA_enablePower(PWM_TIMA1_INST); + DL_TimerG_enablePower(QEI_TIMG8_INST); + DL_I2C_enablePower(I2C_0_INST); + DL_I2C_enablePower(I2C_1_INST); + DL_UART_Main_enablePower(UART_0_INST); + DL_UART_Main_enablePower(UART_1_INST); + DL_SPI_enablePower(SPI_1_INST); + DL_ADC12_enablePower(ADC12_0_INST); + DL_ADC12_enablePower(ADC12_1_INST); + + + DL_DAC12_enablePower(DAC0); + DL_MCAN_enablePower(MCAN_0_INST); + delay_cycles(POWER_STARTUP_DELAY); +} + +SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void) +{ + + DL_GPIO_initPeripheralAnalogFunction(GPIO_HFXIN_IOMUX); + DL_GPIO_initPeripheralAnalogFunction(GPIO_HFXOUT_IOMUX); + DL_GPIO_initPeripheralAnalogFunction(GPIO_LFXIN_IOMUX); + DL_GPIO_initPeripheralAnalogFunction(GPIO_LFXOUT_IOMUX); + + DL_GPIO_initPeripheralOutputFunction(GPIO_PWM_TIMA1_C0_IOMUX,GPIO_PWM_TIMA1_C0_IOMUX_FUNC); + DL_GPIO_enableOutput(GPIO_PWM_TIMA1_C0_PORT, GPIO_PWM_TIMA1_C0_PIN); + DL_GPIO_initPeripheralOutputFunction(GPIO_PWM_TIMA1_C1_IOMUX,GPIO_PWM_TIMA1_C1_IOMUX_FUNC); + DL_GPIO_enableOutput(GPIO_PWM_TIMA1_C1_PORT, GPIO_PWM_TIMA1_C1_PIN); + + DL_GPIO_initPeripheralInputFunction(GPIO_QEI_TIMG8_PHA_IOMUX,GPIO_QEI_TIMG8_PHA_IOMUX_FUNC); + DL_GPIO_initPeripheralInputFunction(GPIO_QEI_TIMG8_PHB_IOMUX,GPIO_QEI_TIMG8_PHB_IOMUX_FUNC); + DL_GPIO_initPeripheralInputFunction(GPIO_QEI_TIMG8_IDX_IOMUX,GPIO_QEI_TIMG8_IDX_IOMUX_FUNC); + + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_0_IOMUX_SDA, + GPIO_I2C_0_IOMUX_SDA_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_0_IOMUX_SCL, + GPIO_I2C_0_IOMUX_SCL_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_enableHiZ(GPIO_I2C_0_IOMUX_SDA); + DL_GPIO_enableHiZ(GPIO_I2C_0_IOMUX_SCL); + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_1_IOMUX_SDA, + GPIO_I2C_1_IOMUX_SDA_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_1_IOMUX_SCL, + GPIO_I2C_1_IOMUX_SCL_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_enableHiZ(GPIO_I2C_1_IOMUX_SDA); + DL_GPIO_enableHiZ(GPIO_I2C_1_IOMUX_SCL); + + DL_GPIO_initPeripheralOutputFunction( + GPIO_UART_0_IOMUX_TX, GPIO_UART_0_IOMUX_TX_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_UART_0_IOMUX_RX, GPIO_UART_0_IOMUX_RX_FUNC); + DL_GPIO_initPeripheralOutputFunction( + GPIO_UART_1_IOMUX_TX, GPIO_UART_1_IOMUX_TX_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_UART_1_IOMUX_RX, GPIO_UART_1_IOMUX_RX_FUNC); + + DL_GPIO_initPeripheralOutputFunction( + GPIO_SPI_1_IOMUX_SCLK, GPIO_SPI_1_IOMUX_SCLK_FUNC); + DL_GPIO_initPeripheralOutputFunction( + GPIO_SPI_1_IOMUX_PICO, GPIO_SPI_1_IOMUX_PICO_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_SPI_1_IOMUX_POCI, GPIO_SPI_1_IOMUX_POCI_FUNC); + + DL_GPIO_initPeripheralOutputFunctionFeatures( + GPIO_SPI_1_IOMUX_CS0, GPIO_SPI_1_IOMUX_CS0_FUNC, + DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_PULL_UP, + DL_GPIO_DRIVE_STRENGTH_LOW, DL_GPIO_HIZ_DISABLE); + + DL_GPIO_initDigitalOutput(GPIO_LEDS_PIN_LED1_IOMUX); + + DL_GPIO_initDigitalOutput(GPIO_LEDS_PIN_LED2_IOMUX); + + DL_GPIO_initDigitalInputFeatures(GPIO_KEYS_PIN_KEY1_IOMUX, + DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_NONE, + DL_GPIO_HYSTERESIS_DISABLE, DL_GPIO_WAKEUP_DISABLE); + + DL_GPIO_initDigitalInputFeatures(GPIO_KEYS_PIN_KEY2_IOMUX, + DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_NONE, + DL_GPIO_HYSTERESIS_DISABLE, DL_GPIO_WAKEUP_DISABLE); + + DL_GPIO_setPins(GPIOA, GPIO_LEDS_PIN_LED2_PIN); + DL_GPIO_enableOutput(GPIOA, GPIO_LEDS_PIN_LED2_PIN); + DL_GPIO_setPins(GPIOB, GPIO_LEDS_PIN_LED1_PIN); + DL_GPIO_enableOutput(GPIOB, GPIO_LEDS_PIN_LED1_PIN); + DL_GPIO_setUpperPinsPolarity(GPIOB, DL_GPIO_PIN_24_EDGE_FALL | + DL_GPIO_PIN_20_EDGE_FALL); + DL_GPIO_clearInterruptStatus(GPIOB, GPIO_KEYS_PIN_KEY1_PIN | + GPIO_KEYS_PIN_KEY2_PIN); + DL_GPIO_enableInterrupt(GPIOB, GPIO_KEYS_PIN_KEY1_PIN | + GPIO_KEYS_PIN_KEY2_PIN); + + DL_GPIO_initPeripheralOutputFunction( + GPIO_MCAN_0_IOMUX_CAN_TX, GPIO_MCAN_0_IOMUX_CAN_TX_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_MCAN_0_IOMUX_CAN_RX, GPIO_MCAN_0_IOMUX_CAN_RX_FUNC); + +} + + +static const DL_SYSCTL_SYSPLLConfig gSYSPLLConfig = { + .inputFreq = DL_SYSCTL_SYSPLL_INPUT_FREQ_8_16_MHZ, + .rDivClk2x = 3, + .rDivClk1 = 0, + .rDivClk0 = 0, + .enableCLK2x = DL_SYSCTL_SYSPLL_CLK2X_ENABLE, + .enableCLK1 = DL_SYSCTL_SYSPLL_CLK1_ENABLE, + .enableCLK0 = DL_SYSCTL_SYSPLL_CLK0_DISABLE, + .sysPLLMCLK = DL_SYSCTL_SYSPLL_MCLK_CLK2X, + .sysPLLRef = DL_SYSCTL_SYSPLL_REF_HFCLK, + .qDiv = 19, + .pDiv = DL_SYSCTL_SYSPLL_PDIV_2 +}; + +SYSCONFIG_WEAK bool SYSCFG_DL_SYSCTL_SYSPLL_init(void) +{ + bool fFCCRatioStatus = false; + uint32_t fFCCSysoscCount; + uint32_t fFCCPllCount; + uint32_t fFCCRatio; + uint32_t fccTimeOutCounter; + + DL_SYSCTL_setFCCPeriods( DL_SYSCTL_FCC_TRIG_CNT_02 ); + + /* Measuring PLL. */ + DL_SYSCTL_configFCC(DL_SYSCTL_FCC_TRIG_TYPE_RISE_RISE, + DL_SYSCTL_FCC_TRIG_SOURCE_LFCLK, + DL_SYSCTL_FCC_CLOCK_SOURCE_SYSPLLCLK1); + /* Get SYSPLL frequency using FCC */ + fccTimeOutCounter = 0; + DL_SYSCTL_startFCC(); + while (DL_SYSCTL_isFCCDone() == 0) { + delay_cycles(977); /* 1x LFCLK cycle = 32MHz/32.768kHz = 977, 30.5us */ + fccTimeOutCounter++; + if(fccTimeOutCounter > 65){ + /* Timeout set to approximately 2ms (user-customizable) */ + break; + } + } + + /* get measA= SYSPLLCLK1 freq wrt LFOSC*/ + fFCCPllCount = DL_SYSCTL_readFCC(); + + /* Measuring SYSPLL Source */ + DL_SYSCTL_configFCC(DL_SYSCTL_FCC_TRIG_TYPE_RISE_RISE, + DL_SYSCTL_FCC_TRIG_SOURCE_LFCLK, + DL_SYSCTL_FCC_CLOCK_SOURCE_HFCLK); + /* Get SYSPLL frequency using FCC */ + fccTimeOutCounter = 0; + DL_SYSCTL_startFCC(); + while (DL_SYSCTL_isFCCDone() == 0) { + delay_cycles(977); /* 1x LFCLK cycle = 32MHz/32.768kHz = 977, 30.5us */ + fccTimeOutCounter++; + if(fccTimeOutCounter > 65){ + /* Timeout set to approximately 2ms (user-customizable) */ + break; + } + } + + /* get measB= SYSOSC freq wrt LFOSC*/ + fFCCSysoscCount = DL_SYSCTL_readFCC(); + + /* Get ratio of both measurements*/ + fFCCRatio = (fFCCPllCount * FLOAT_TO_INT_SCALE) / fFCCSysoscCount; + /* Check ratio is within bounds*/ + if ((FCC_LOWER_BOUND < fFCCRatio) && (fFCCRatio < FCC_UPPER_BOUND)) + { + /* ratio is good for proceeding into application code. */ + fFCCRatioStatus = true; + } + + return fFCCRatioStatus; +} +static const DL_SYSCTL_LFCLKConfig gLFCLKConfig = { + .lowCap = false, + .monitor = false, + .xt1Drive = DL_SYSCTL_LFXT_DRIVE_STRENGTH_HIGHEST, +}; +SYSCONFIG_WEAK void SYSCFG_DL_SYSCTL_init(void) +{ + + //Low Power Mode is configured to be SLEEP0 + DL_SYSCTL_setBORThreshold(DL_SYSCTL_BOR_THRESHOLD_LEVEL_0); + DL_SYSCTL_setFlashWaitState(DL_SYSCTL_FLASH_WAIT_STATE_2); + + + DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_BASE); + /* Set default configuration */ + DL_SYSCTL_disableHFXT(); + DL_SYSCTL_disableSYSPLL(); + DL_SYSCTL_setHFCLKSourceHFXTParams(DL_SYSCTL_HFXT_RANGE_8_16_MHZ,255, true); + DL_SYSCTL_configSYSPLL((DL_SYSCTL_SYSPLLConfig *) &gSYSPLLConfig); + + /* + * [SYSPLL_ERR_01] + * PLL Incorrect locking WA start. + * Insert after every PLL enable. + * This can lead an infinite loop if the condition persists + * and can block entry to the application code. + */ + + while (SYSCFG_DL_SYSCTL_SYSPLL_init() == false) + { + /* Toggle SYSPLL enable to re-enable SYSPLL and re-check incorrect locking */ + DL_SYSCTL_disableSYSPLL(); + DL_SYSCTL_enableSYSPLL(); + + /* Wait until SYSPLL startup is stabilized*/ + while ((DL_SYSCTL_getClockStatus() & SYSCTL_CLKSTATUS_SYSPLLGOOD_MASK) != DL_SYSCTL_CLK_STATUS_SYSPLL_GOOD){} + } + DL_SYSCTL_setULPCLKDivider(DL_SYSCTL_ULPCLK_DIV_2); + DL_SYSCTL_setLFCLKSourceLFXT((DL_SYSCTL_LFCLKConfig *) &gLFCLKConfig); + DL_SYSCTL_enableMFPCLK(); + DL_SYSCTL_setMFPCLKSource(DL_SYSCTL_MFPCLK_SOURCE_SYSOSC); + DL_SYSCTL_setMCLKSource(SYSOSC, HSCLK, DL_SYSCTL_HSCLK_SOURCE_SYSPLL); + +} + + +/* + * Timer clock configuration to be sourced by / 1 (80000000 Hz) + * timerClkFreq = (timerClkSrc / (timerClkDivRatio * (timerClkPrescale + 1))) + * 80000000 Hz = 80000000 Hz / (1 * (0 + 1)) + */ +static const DL_TimerA_ClockConfig gPWM_TIMA1ClockConfig = { + .clockSel = DL_TIMER_CLOCK_BUSCLK, + .divideRatio = DL_TIMER_CLOCK_DIVIDE_1, + .prescale = 0U +}; + +static const DL_TimerA_PWMConfig gPWM_TIMA1Config = { + .pwmMode = DL_TIMER_PWM_MODE_EDGE_ALIGN, + .period = 1000, + .isTimerWithFourCC = false, + .startTimer = DL_TIMER_STOP, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_PWM_TIMA1_init(void) { + + DL_TimerA_setClockConfig( + PWM_TIMA1_INST, (DL_TimerA_ClockConfig *) &gPWM_TIMA1ClockConfig); + + DL_TimerA_initPWMMode( + PWM_TIMA1_INST, (DL_TimerA_PWMConfig *) &gPWM_TIMA1Config); + + // Set Counter control to the smallest CC index being used + DL_TimerA_setCounterControl(PWM_TIMA1_INST,DL_TIMER_CZC_CCCTL0_ZCOND,DL_TIMER_CAC_CCCTL0_ACOND,DL_TIMER_CLC_CCCTL0_LCOND); + + DL_TimerA_setCaptureCompareOutCtl(PWM_TIMA1_INST, DL_TIMER_CC_OCTL_INIT_VAL_LOW, + DL_TIMER_CC_OCTL_INV_OUT_DISABLED, DL_TIMER_CC_OCTL_SRC_FUNCVAL, + DL_TIMERA_CAPTURE_COMPARE_0_INDEX); + + DL_TimerA_setCaptCompUpdateMethod(PWM_TIMA1_INST, DL_TIMER_CC_UPDATE_METHOD_IMMEDIATE, DL_TIMERA_CAPTURE_COMPARE_0_INDEX); + DL_TimerA_setCaptureCompareValue(PWM_TIMA1_INST, 1000, DL_TIMER_CC_0_INDEX); + + DL_TimerA_setCaptureCompareOutCtl(PWM_TIMA1_INST, DL_TIMER_CC_OCTL_INIT_VAL_LOW, + DL_TIMER_CC_OCTL_INV_OUT_DISABLED, DL_TIMER_CC_OCTL_SRC_FUNCVAL, + DL_TIMERA_CAPTURE_COMPARE_1_INDEX); + + DL_TimerA_setCaptCompUpdateMethod(PWM_TIMA1_INST, DL_TIMER_CC_UPDATE_METHOD_IMMEDIATE, DL_TIMERA_CAPTURE_COMPARE_1_INDEX); + DL_TimerA_setCaptureCompareValue(PWM_TIMA1_INST, 1000, DL_TIMER_CC_1_INDEX); + + DL_TimerA_enableClock(PWM_TIMA1_INST); + + + + DL_TimerA_setCCPDirection(PWM_TIMA1_INST , DL_TIMER_CC0_OUTPUT | DL_TIMER_CC1_OUTPUT ); + + +} + + +static const DL_TimerG_ClockConfig gQEI_TIMG8ClockConfig = { + .clockSel = DL_TIMER_CLOCK_BUSCLK, + .divideRatio = DL_TIMER_CLOCK_DIVIDE_1, + .prescale = 0U +}; + + +SYSCONFIG_WEAK void SYSCFG_DL_QEI_TIMG8_init(void) { + + DL_TimerG_setClockConfig( + QEI_TIMG8_INST, (DL_TimerG_ClockConfig *) &gQEI_TIMG8ClockConfig); + + DL_TimerG_configQEI(QEI_TIMG8_INST, DL_TIMER_QEI_MODE_3_INPUT, + DL_TIMER_CC_INPUT_INV_NOINVERT, DL_TIMER_CC_0_INDEX); + DL_TimerG_configQEI(QEI_TIMG8_INST, DL_TIMER_QEI_MODE_3_INPUT, + DL_TIMER_CC_INPUT_INV_NOINVERT, DL_TIMER_CC_1_INDEX); + DL_TimerG_setLoadValue(QEI_TIMG8_INST, 65535); + DL_TimerG_enableClock(QEI_TIMG8_INST); +} + + +static const DL_I2C_ClockConfig gI2C_0ClockConfig = { + .clockSel = DL_I2C_CLOCK_BUSCLK, + .divideRatio = DL_I2C_CLOCK_DIVIDE_1, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_I2C_0_init(void) { + + DL_I2C_setClockConfig(I2C_0_INST, + (DL_I2C_ClockConfig *) &gI2C_0ClockConfig); + DL_I2C_setAnalogGlitchFilterPulseWidth(I2C_0_INST, + DL_I2C_ANALOG_GLITCH_FILTER_WIDTH_50NS); + DL_I2C_enableAnalogGlitchFilter(I2C_0_INST); + + /* Configure Controller Mode */ + DL_I2C_resetControllerTransfer(I2C_0_INST); + /* Set frequency to 100000 Hz*/ + DL_I2C_setTimerPeriod(I2C_0_INST, 39); + DL_I2C_setControllerTXFIFOThreshold(I2C_0_INST, DL_I2C_TX_FIFO_LEVEL_EMPTY); + DL_I2C_setControllerRXFIFOThreshold(I2C_0_INST, DL_I2C_RX_FIFO_LEVEL_BYTES_1); + DL_I2C_enableControllerClockStretching(I2C_0_INST); + + + /* Enable module */ + DL_I2C_enableController(I2C_0_INST); + + +} +static const DL_I2C_ClockConfig gI2C_1ClockConfig = { + .clockSel = DL_I2C_CLOCK_BUSCLK, + .divideRatio = DL_I2C_CLOCK_DIVIDE_1, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_I2C_1_init(void) { + + DL_I2C_setClockConfig(I2C_1_INST, + (DL_I2C_ClockConfig *) &gI2C_1ClockConfig); + DL_I2C_setAnalogGlitchFilterPulseWidth(I2C_1_INST, + DL_I2C_ANALOG_GLITCH_FILTER_WIDTH_50NS); + DL_I2C_enableAnalogGlitchFilter(I2C_1_INST); + + /* Configure Controller Mode */ + DL_I2C_resetControllerTransfer(I2C_1_INST); + /* Set frequency to 100000 Hz*/ + DL_I2C_setTimerPeriod(I2C_1_INST, 39); + DL_I2C_setControllerTXFIFOThreshold(I2C_1_INST, DL_I2C_TX_FIFO_LEVEL_EMPTY); + DL_I2C_setControllerRXFIFOThreshold(I2C_1_INST, DL_I2C_RX_FIFO_LEVEL_BYTES_1); + DL_I2C_enableControllerClockStretching(I2C_1_INST); + + + /* Enable module */ + DL_I2C_enableController(I2C_1_INST); + + +} + +static const DL_UART_Main_ClockConfig gUART_0ClockConfig = { + .clockSel = DL_UART_MAIN_CLOCK_BUSCLK, + .divideRatio = DL_UART_MAIN_CLOCK_DIVIDE_RATIO_1 +}; + +static const DL_UART_Main_Config gUART_0Config = { + .mode = DL_UART_MAIN_MODE_NORMAL, + .direction = DL_UART_MAIN_DIRECTION_TX_RX, + .flowControl = DL_UART_MAIN_FLOW_CONTROL_NONE, + .parity = DL_UART_MAIN_PARITY_NONE, + .wordLength = DL_UART_MAIN_WORD_LENGTH_8_BITS, + .stopBits = DL_UART_MAIN_STOP_BITS_ONE +}; + +SYSCONFIG_WEAK void SYSCFG_DL_UART_0_init(void) +{ + DL_UART_Main_setClockConfig(UART_0_INST, (DL_UART_Main_ClockConfig *) &gUART_0ClockConfig); + + DL_UART_Main_init(UART_0_INST, (DL_UART_Main_Config *) &gUART_0Config); + /* + * Configure baud rate by setting oversampling and baud rate divisors. + * Target baud rate: 115200 + * Actual baud rate: 115190.78 + */ + DL_UART_Main_setOversampling(UART_0_INST, DL_UART_OVERSAMPLING_RATE_16X); + DL_UART_Main_setBaudRateDivisor(UART_0_INST, UART_0_IBRD_40_MHZ_115200_BAUD, UART_0_FBRD_40_MHZ_115200_BAUD); + + + /* Configure DMA Transmit Event */ + DL_UART_Main_enableDMATransmitEvent(UART_0_INST); + /* Configure FIFOs */ + DL_UART_Main_enableFIFOs(UART_0_INST); + DL_UART_Main_setRXFIFOThreshold(UART_0_INST, DL_UART_RX_FIFO_LEVEL_ONE_ENTRY); + DL_UART_Main_setTXFIFOThreshold(UART_0_INST, DL_UART_TX_FIFO_LEVEL_ONE_ENTRY); + + DL_UART_Main_enable(UART_0_INST); +} +static const DL_UART_Main_ClockConfig gUART_1ClockConfig = { + .clockSel = DL_UART_MAIN_CLOCK_BUSCLK, + .divideRatio = DL_UART_MAIN_CLOCK_DIVIDE_RATIO_1 +}; + +static const DL_UART_Main_Config gUART_1Config = { + .mode = DL_UART_MAIN_MODE_NORMAL, + .direction = DL_UART_MAIN_DIRECTION_TX_RX, + .flowControl = DL_UART_MAIN_FLOW_CONTROL_NONE, + .parity = DL_UART_MAIN_PARITY_NONE, + .wordLength = DL_UART_MAIN_WORD_LENGTH_8_BITS, + .stopBits = DL_UART_MAIN_STOP_BITS_ONE +}; + +SYSCONFIG_WEAK void SYSCFG_DL_UART_1_init(void) +{ + DL_UART_Main_setClockConfig(UART_1_INST, (DL_UART_Main_ClockConfig *) &gUART_1ClockConfig); + + DL_UART_Main_init(UART_1_INST, (DL_UART_Main_Config *) &gUART_1Config); + /* + * Configure baud rate by setting oversampling and baud rate divisors. + * Target baud rate: 115200 + * Actual baud rate: 115190.78 + */ + DL_UART_Main_setOversampling(UART_1_INST, DL_UART_OVERSAMPLING_RATE_16X); + DL_UART_Main_setBaudRateDivisor(UART_1_INST, UART_1_IBRD_40_MHZ_115200_BAUD, UART_1_FBRD_40_MHZ_115200_BAUD); + + + /* Configure DMA Transmit Event */ + DL_UART_Main_enableDMATransmitEvent(UART_1_INST); + /* Configure FIFOs */ + DL_UART_Main_enableFIFOs(UART_1_INST); + DL_UART_Main_setRXFIFOThreshold(UART_1_INST, DL_UART_RX_FIFO_LEVEL_ONE_ENTRY); + DL_UART_Main_setTXFIFOThreshold(UART_1_INST, DL_UART_TX_FIFO_LEVEL_ONE_ENTRY); + + DL_UART_Main_enable(UART_1_INST); +} + +static const DL_SPI_Config gSPI_1_config = { + .mode = DL_SPI_MODE_CONTROLLER, + .frameFormat = DL_SPI_FRAME_FORMAT_MOTO4_POL0_PHA0, + .parity = DL_SPI_PARITY_NONE, + .dataSize = DL_SPI_DATA_SIZE_8, + .bitOrder = DL_SPI_BIT_ORDER_MSB_FIRST, + .chipSelectPin = DL_SPI_CHIP_SELECT_0, +}; + +static const DL_SPI_ClockConfig gSPI_1_clockConfig = { + .clockSel = DL_SPI_CLOCK_BUSCLK, + .divideRatio = DL_SPI_CLOCK_DIVIDE_RATIO_1 +}; + +SYSCONFIG_WEAK void SYSCFG_DL_SPI_1_init(void) { + DL_SPI_setClockConfig(SPI_1_INST, (DL_SPI_ClockConfig *) &gSPI_1_clockConfig); + + DL_SPI_init(SPI_1_INST, (DL_SPI_Config *) &gSPI_1_config); + + /* Configure Controller mode */ + /* + * Set the bit rate clock divider to generate the serial output clock + * outputBitRate = (spiInputClock) / ((1 + SCR) * 2) + * 8000000 = (80000000)/((1 + 4) * 2) + */ + DL_SPI_setBitRateSerialClockDivider(SPI_1_INST, 4); + + /* Enable SPI TX interrupt as a trigger for DMA */ + DL_SPI_enableDMATransmitEvent(SPI_1_INST); + + /* Enable SPI RX interrupt as a trigger for DMA */ + DL_SPI_enableDMAReceiveEvent(SPI_1_INST, DL_SPI_DMA_INTERRUPT_RX); + /* Set RX and TX FIFO threshold levels */ + DL_SPI_setFIFOThreshold(SPI_1_INST, DL_SPI_RX_FIFO_LEVEL_ONE_FRAME, DL_SPI_TX_FIFO_LEVEL_ONE_FRAME); + DL_SPI_enableInterrupt(SPI_1_INST, (DL_SPI_INTERRUPT_DMA_DONE_RX | + DL_SPI_INTERRUPT_DMA_DONE_TX)); + + /* Enable module */ + DL_SPI_enable(SPI_1_INST); +} + +/* ADC12_0 Initialization */ +static const DL_ADC12_ClockConfig gADC12_0ClockConfig = { + .clockSel = DL_ADC12_CLOCK_SYSOSC, + .divideRatio = DL_ADC12_CLOCK_DIVIDE_1, + .freqRange = DL_ADC12_CLOCK_FREQ_RANGE_24_TO_32, +}; +SYSCONFIG_WEAK void SYSCFG_DL_ADC12_0_init(void) +{ + DL_ADC12_setClockConfig(ADC12_0_INST, (DL_ADC12_ClockConfig *) &gADC12_0ClockConfig); + DL_ADC12_configConversionMem(ADC12_0_INST, ADC12_0_ADCMEM_0, + DL_ADC12_INPUT_CHAN_3, DL_ADC12_REFERENCE_VOLTAGE_VDDA, DL_ADC12_SAMPLE_TIMER_SOURCE_SCOMP0, DL_ADC12_AVERAGING_MODE_DISABLED, + DL_ADC12_BURN_OUT_SOURCE_DISABLED, DL_ADC12_TRIGGER_MODE_AUTO_NEXT, DL_ADC12_WINDOWS_COMP_MODE_DISABLED); + DL_ADC12_enableConversions(ADC12_0_INST); +} +/* ADC12_1 Initialization */ +static const DL_ADC12_ClockConfig gADC12_1ClockConfig = { + .clockSel = DL_ADC12_CLOCK_SYSOSC, + .divideRatio = DL_ADC12_CLOCK_DIVIDE_1, + .freqRange = DL_ADC12_CLOCK_FREQ_RANGE_24_TO_32, +}; +SYSCONFIG_WEAK void SYSCFG_DL_ADC12_1_init(void) +{ + DL_ADC12_setClockConfig(ADC12_1_INST, (DL_ADC12_ClockConfig *) &gADC12_1ClockConfig); + DL_ADC12_configConversionMem(ADC12_1_INST, ADC12_1_ADCMEM_0, + DL_ADC12_INPUT_CHAN_5, DL_ADC12_REFERENCE_VOLTAGE_VDDA, DL_ADC12_SAMPLE_TIMER_SOURCE_SCOMP0, DL_ADC12_AVERAGING_MODE_DISABLED, + DL_ADC12_BURN_OUT_SOURCE_DISABLED, DL_ADC12_TRIGGER_MODE_AUTO_NEXT, DL_ADC12_WINDOWS_COMP_MODE_DISABLED); + DL_ADC12_enableConversions(ADC12_1_INST); +} + +static const DL_DMA_Config gDMA_CH_SPI1_RXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_INCREMENT, + .srcIncrement = DL_DMA_ADDR_UNCHANGED, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = SPI_1_INST_DMA_TRIGGER_0, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_SPI1_RX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_SPI1_RX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_SPI1_RXConfig); +} +static const DL_DMA_Config gDMA_CH_SPI1_TXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_UNCHANGED, + .srcIncrement = DL_DMA_ADDR_INCREMENT, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = SPI_1_INST_DMA_TRIGGER_1, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_SPI1_TX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_SPI1_TX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_SPI1_TXConfig); +} +static const DL_DMA_Config gDMA_CH_UART0_TXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_UNCHANGED, + .srcIncrement = DL_DMA_ADDR_INCREMENT, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = UART_0_INST_DMA_TRIGGER, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_UART0_TX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_UART0_TX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_UART0_TXConfig); +} +static const DL_DMA_Config gDMA_CH_UART1_TXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_UNCHANGED, + .srcIncrement = DL_DMA_ADDR_INCREMENT, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = UART_1_INST_DMA_TRIGGER, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_UART1_TX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_UART1_TX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_UART1_TXConfig); +} +SYSCONFIG_WEAK void SYSCFG_DL_DMA_init(void){ + SYSCFG_DL_DMA_CH_SPI1_RX_init(); + SYSCFG_DL_DMA_CH_SPI1_TX_init(); + SYSCFG_DL_DMA_CH_UART0_TX_init(); + SYSCFG_DL_DMA_CH_UART1_TX_init(); +} + + +SYSCONFIG_WEAK void SYSCFG_DL_SYSTICK_init(void) +{ + /* + * Initializes the SysTick period to 1.00 ms, + * enables the interrupt, and starts the SysTick Timer + */ + DL_SYSTICK_config(80000); +} + +static const DL_DAC12_Config gDAC12Config = { + .outputEnable = DL_DAC12_OUTPUT_ENABLED, + .resolution = DL_DAC12_RESOLUTION_12BIT, + .representation = DL_DAC12_REPRESENTATION_BINARY, + .voltageReferenceSource = DL_DAC12_VREF_SOURCE_VDDA_VSSA, + .amplifierSetting = DL_DAC12_AMP_ON, + .fifoEnable = DL_DAC12_FIFO_DISABLED, + .fifoTriggerSource = DL_DAC12_FIFO_TRIGGER_SAMPLETIMER, + .dmaTriggerEnable = DL_DAC12_DMA_TRIGGER_DISABLED, + .dmaTriggerThreshold = DL_DAC12_FIFO_THRESHOLD_ONE_QTR_EMPTY, + .sampleTimeGeneratorEnable = DL_DAC12_SAMPLETIMER_DISABLE, + .sampleRate = DL_DAC12_SAMPLES_PER_SECOND_500, +}; +SYSCONFIG_WEAK void SYSCFG_DL_DAC12_init(void) +{ + DL_DAC12_init(DAC0, (DL_DAC12_Config *) &gDAC12Config); + DL_DAC12_enable(DAC0); +} + +static const DL_MCAN_ClockConfig gMCAN_0ClockConf = { + .clockSel = DL_MCAN_FCLK_SYSPLLCLK1, + .divider = DL_MCAN_FCLK_DIV_1, +}; + +static const DL_MCAN_InitParams gMCAN_0InitParams= { + +/* Initialize MCAN Init parameters. */ + .fdMode = true, + .brsEnable = true, + .txpEnable = false, + .efbi = false, + .pxhddisable = false, + .darEnable = false, + .wkupReqEnable = false, + .autoWkupEnable = false, + .emulationEnable = false, + .tdcEnable = false, + .wdcPreload = 255, + +/* Transmitter Delay Compensation parameters. */ + .tdcConfig.tdcf = 10, + .tdcConfig.tdco = 6, +}; + + +static const DL_MCAN_MsgRAMConfigParams gMCAN_0MsgRAMConfigParams ={ + + /* Standard ID Filter List Start Address. */ + .flssa = MCAN_0_INST_MCAN_STD_ID_FILT_START_ADDR, + /* List Size: Standard ID. */ + .lss = MCAN_0_INST_MCAN_STD_ID_FILTER_NUM, + /* Extended ID Filter List Start Address. */ + .flesa = MCAN_0_INST_MCAN_EXT_ID_FILT_START_ADDR, + /* List Size: Extended ID. */ + .lse = MCAN_0_INST_MCAN_EXT_ID_FILTER_NUM, + /* Tx Buffers Start Address. */ + .txStartAddr = MCAN_0_INST_MCAN_TX_BUFF_START_ADDR, + /* Number of Dedicated Transmit Buffers. */ + .txBufNum = MCAN_0_INST_MCAN_TX_BUFF_SIZE, + .txFIFOSize = 0, + /* Tx Buffer Element Size. */ + .txBufMode = 0, + .txBufElemSize = DL_MCAN_ELEM_SIZE_64BYTES, + /* Tx Event FIFO Start Address. */ + .txEventFIFOStartAddr = MCAN_0_INST_MCAN_TX_EVENT_START_ADDR, + /* Event FIFO Size. */ + .txEventFIFOSize = MCAN_0_INST_MCAN_TX_EVENT_SIZE, + /* Level for Tx Event FIFO watermark interrupt. */ + .txEventFIFOWaterMark = 3, + /* Rx FIFO0 Start Address. */ + .rxFIFO0startAddr = MCAN_0_INST_MCAN_FIFO_0_START_ADDR, + /* Number of Rx FIFO elements. */ + .rxFIFO0size = MCAN_0_INST_MCAN_FIFO_0_NUM, + /* Rx FIFO0 Watermark. */ + .rxFIFO0waterMark = 3, + .rxFIFO0OpMode = 0, + /* Rx FIFO1 Start Address. */ + .rxFIFO1startAddr = MCAN_0_INST_MCAN_FIFO_1_START_ADDR, + /* Number of Rx FIFO elements. */ + .rxFIFO1size = MCAN_0_INST_MCAN_FIFO_1_NUM, + /* Level for Rx FIFO 1 watermark interrupt. */ + .rxFIFO1waterMark = 3, + /* FIFO blocking mode. */ + .rxFIFO1OpMode = 0, + /* Rx Buffer Start Address. */ + .rxBufStartAddr = MCAN_0_INST_MCAN_RX_BUFF_START_ADDR, + /* Rx Buffer Element Size. */ + .rxBufElemSize = DL_MCAN_ELEM_SIZE_64BYTES, + /* Rx FIFO0 Element Size. */ + .rxFIFO0ElemSize = DL_MCAN_ELEM_SIZE_64BYTES, + /* Rx FIFO1 Element Size. */ + .rxFIFO1ElemSize = DL_MCAN_ELEM_SIZE_64BYTES, +}; + + + +static const DL_MCAN_BitTimingParams gMCAN_0BitTimes = { + /* Arbitration Baud Rate Pre-scaler. */ + .nomRatePrescalar = 3, + /* Arbitration Time segment before sample point. */ + .nomTimeSeg1 = 33, + /* Arbitration Time segment after sample point. */ + .nomTimeSeg2 = 4, + /* Arbitration (Re)Synchronization Jump Width Range. */ + .nomSynchJumpWidth = 4, + /* Data Baud Rate Pre-scaler. */ + .dataRatePrescalar = 3, + /* Data Time segment before sample point. */ + .dataTimeSeg1 = 16, + /* Data Time segment after sample point. */ + .dataTimeSeg2 = 1, + /* Data (Re)Synchronization Jump Width. */ + .dataSynchJumpWidth = 1, +}; + + +SYSCONFIG_WEAK void SYSCFG_DL_MCAN_0_init(void) { + DL_MCAN_RevisionId revid_MCAN_0; + + DL_MCAN_enableModuleClock(MCAN_0_INST); + + DL_MCAN_setClockConfig(MCAN_0_INST, (DL_MCAN_ClockConfig *) &gMCAN_0ClockConf); + + /* Get MCANSS Revision ID. */ + DL_MCAN_getRevisionId(MCAN_0_INST, &revid_MCAN_0); + + /* Wait for Memory initialization to be completed. */ + while(false == DL_MCAN_isMemInitDone(MCAN_0_INST)); + + /* Put MCAN in SW initialization mode. */ + + DL_MCAN_setOpMode(MCAN_0_INST, DL_MCAN_OPERATION_MODE_SW_INIT); + + /* Wait till MCAN is not initialized. */ + while (DL_MCAN_OPERATION_MODE_SW_INIT != DL_MCAN_getOpMode(MCAN_0_INST)); + + /* Initialize MCAN module. */ + DL_MCAN_init(MCAN_0_INST, (DL_MCAN_InitParams *) &gMCAN_0InitParams); + + + /* Configure Bit timings. */ + DL_MCAN_setBitTime(MCAN_0_INST, (DL_MCAN_BitTimingParams*) &gMCAN_0BitTimes); + + /* Configure Message RAM Sections */ + DL_MCAN_msgRAMConfig(MCAN_0_INST, (DL_MCAN_MsgRAMConfigParams*) &gMCAN_0MsgRAMConfigParams); + + + + /* Set Extended ID Mask. */ + DL_MCAN_setExtIDAndMask(MCAN_0_INST, MCAN_0_INST_MCAN_EXT_ID_AND_MASK ); + + /* Loopback mode */ + + /* Take MCAN out of the SW initialization mode */ + DL_MCAN_setOpMode(MCAN_0_INST, DL_MCAN_OPERATION_MODE_NORMAL); + + while (DL_MCAN_OPERATION_MODE_NORMAL != DL_MCAN_getOpMode(MCAN_0_INST)); + + +} + diff --git a/tests/data/mspm0/g3507_ti_msp_dl_config.h b/tests/data/mspm0/g3507_ti_msp_dl_config.h new file mode 100644 index 0000000..2cc1696 --- /dev/null +++ b/tests/data/mspm0/g3507_ti_msp_dl_config.h @@ -0,0 +1,367 @@ +/* + * Copyright (c) 2023, Texas Instruments Incorporated - http://www.ti.com + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * ============ ti_msp_dl_config.h ============= + * Configured MSPM0 DriverLib module declarations + * + * DO NOT EDIT - This file is generated for the MSPM0G350X + * by the SysConfig tool. + */ +#ifndef ti_msp_dl_config_h +#define ti_msp_dl_config_h + +#define CONFIG_MSPM0G350X +#define CONFIG_MSPM0G3507 + +#if defined(__ti_version__) || defined(__TI_COMPILER_VERSION__) +#define SYSCONFIG_WEAK __attribute__((weak)) +#elif defined(__IAR_SYSTEMS_ICC__) +#define SYSCONFIG_WEAK __weak +#elif defined(__GNUC__) +#define SYSCONFIG_WEAK __attribute__((weak)) +#endif + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * ======== SYSCFG_DL_init ======== + * Perform all required MSP DL initialization + * + * This function should be called once at a point before any use of + * MSP DL. + */ + + +/* clang-format off */ + +#define POWER_STARTUP_DELAY (16) + + +#define GPIO_HFXT_PORT GPIOA +#define GPIO_HFXIN_PIN DL_GPIO_PIN_5 +#define GPIO_HFXIN_IOMUX (IOMUX_PINCM10) +#define GPIO_HFXOUT_PIN DL_GPIO_PIN_6 +#define GPIO_HFXOUT_IOMUX (IOMUX_PINCM11) +#define GPIO_LFXT_PORT GPIOA +#define GPIO_LFXIN_PIN DL_GPIO_PIN_3 +#define GPIO_LFXIN_IOMUX (IOMUX_PINCM8) +#define GPIO_LFXOUT_PIN DL_GPIO_PIN_4 +#define GPIO_LFXOUT_IOMUX (IOMUX_PINCM9) +#define CPUCLK_FREQ 80000000 +/* Defines for SYSPLL_ERR_01 Workaround */ +/* Represent 1.000 as 1000 */ +#define FLOAT_TO_INT_SCALE (1000U) +#define FCC_EXPECTED_RATIO 5000 +#define FCC_UPPER_BOUND (FCC_EXPECTED_RATIO * (1 + 0.003)) +#define FCC_LOWER_BOUND (FCC_EXPECTED_RATIO * (1 - 0.003)) + +bool SYSCFG_DL_SYSCTL_SYSPLL_init(void); + + +/* Defines for PWM_TIMA1 */ +#define PWM_TIMA1_INST TIMA1 +#define PWM_TIMA1_INST_IRQHandler TIMA1_IRQHandler +#define PWM_TIMA1_INST_INT_IRQN (TIMA1_INT_IRQn) +#define PWM_TIMA1_INST_CLK_FREQ 80000000 +/* GPIO defines for channel 0 */ +#define GPIO_PWM_TIMA1_C0_PORT GPIOA +#define GPIO_PWM_TIMA1_C0_PIN DL_GPIO_PIN_28 +#define GPIO_PWM_TIMA1_C0_IOMUX (IOMUX_PINCM3) +#define GPIO_PWM_TIMA1_C0_IOMUX_FUNC IOMUX_PINCM3_PF_TIMA1_CCP0 +#define GPIO_PWM_TIMA1_C0_IDX DL_TIMER_CC_0_INDEX +/* GPIO defines for channel 1 */ +#define GPIO_PWM_TIMA1_C1_PORT GPIOA +#define GPIO_PWM_TIMA1_C1_PIN DL_GPIO_PIN_31 +#define GPIO_PWM_TIMA1_C1_IOMUX (IOMUX_PINCM6) +#define GPIO_PWM_TIMA1_C1_IOMUX_FUNC IOMUX_PINCM6_PF_TIMA1_CCP1 +#define GPIO_PWM_TIMA1_C1_IDX DL_TIMER_CC_1_INDEX + + + + +/* Defines for QEI_TIMG8 */ +#define QEI_TIMG8_INST TIMG8 +#define QEI_TIMG8_INST_IRQHandler TIMG8_IRQHandler +#define QEI_TIMG8_INST_INT_IRQN (TIMG8_INT_IRQn) +/* Pin configuration defines for QEI_TIMG8 PHA Pin */ +#define GPIO_QEI_TIMG8_PHA_PORT GPIOA +#define GPIO_QEI_TIMG8_PHA_PIN DL_GPIO_PIN_26 +#define GPIO_QEI_TIMG8_PHA_IOMUX (IOMUX_PINCM59) +#define GPIO_QEI_TIMG8_PHA_IOMUX_FUNC IOMUX_PINCM59_PF_TIMG8_CCP0 +/* Pin configuration defines for QEI_TIMG8 PHB Pin */ +#define GPIO_QEI_TIMG8_PHB_PORT GPIOA +#define GPIO_QEI_TIMG8_PHB_PIN DL_GPIO_PIN_22 +#define GPIO_QEI_TIMG8_PHB_IOMUX (IOMUX_PINCM47) +#define GPIO_QEI_TIMG8_PHB_IOMUX_FUNC IOMUX_PINCM47_PF_TIMG8_CCP1 +/* Pin configuration defines for QEI_TIMG8 IDX Pin */ +#define GPIO_QEI_TIMG8_IDX_PORT GPIOB +#define GPIO_QEI_TIMG8_IDX_PIN DL_GPIO_PIN_14 +#define GPIO_QEI_TIMG8_IDX_IOMUX (IOMUX_PINCM31) +#define GPIO_QEI_TIMG8_IDX_IOMUX_FUNC IOMUX_PINCM31_PF_TIMG8_IDX + + + +/* Defines for I2C_0 */ +#define I2C_0_INST I2C0 +#define I2C_0_INST_IRQHandler I2C0_IRQHandler +#define I2C_0_INST_INT_IRQN I2C0_INT_IRQn +#define I2C_0_BUS_SPEED_HZ 100000 +#define GPIO_I2C_0_SDA_PORT GPIOA +#define GPIO_I2C_0_SDA_PIN DL_GPIO_PIN_0 +#define GPIO_I2C_0_IOMUX_SDA (IOMUX_PINCM1) +#define GPIO_I2C_0_IOMUX_SDA_FUNC IOMUX_PINCM1_PF_I2C0_SDA +#define GPIO_I2C_0_SCL_PORT GPIOA +#define GPIO_I2C_0_SCL_PIN DL_GPIO_PIN_1 +#define GPIO_I2C_0_IOMUX_SCL (IOMUX_PINCM2) +#define GPIO_I2C_0_IOMUX_SCL_FUNC IOMUX_PINCM2_PF_I2C0_SCL + +/* Defines for I2C_1 */ +#define I2C_1_INST I2C1 +#define I2C_1_INST_IRQHandler I2C1_IRQHandler +#define I2C_1_INST_INT_IRQN I2C1_INT_IRQn +#define I2C_1_BUS_SPEED_HZ 100000 +#define GPIO_I2C_1_SDA_PORT GPIOB +#define GPIO_I2C_1_SDA_PIN DL_GPIO_PIN_3 +#define GPIO_I2C_1_IOMUX_SDA (IOMUX_PINCM16) +#define GPIO_I2C_1_IOMUX_SDA_FUNC IOMUX_PINCM16_PF_I2C1_SDA +#define GPIO_I2C_1_SCL_PORT GPIOB +#define GPIO_I2C_1_SCL_PIN DL_GPIO_PIN_2 +#define GPIO_I2C_1_IOMUX_SCL (IOMUX_PINCM15) +#define GPIO_I2C_1_IOMUX_SCL_FUNC IOMUX_PINCM15_PF_I2C1_SCL + + +/* Defines for UART_0 */ +#define UART_0_INST UART0 +#define UART_0_INST_FREQUENCY 40000000 +#define UART_0_INST_IRQHandler UART0_IRQHandler +#define UART_0_INST_INT_IRQN UART0_INT_IRQn +#define GPIO_UART_0_RX_PORT GPIOA +#define GPIO_UART_0_TX_PORT GPIOA +#define GPIO_UART_0_RX_PIN DL_GPIO_PIN_11 +#define GPIO_UART_0_TX_PIN DL_GPIO_PIN_10 +#define GPIO_UART_0_IOMUX_RX (IOMUX_PINCM22) +#define GPIO_UART_0_IOMUX_TX (IOMUX_PINCM21) +#define GPIO_UART_0_IOMUX_RX_FUNC IOMUX_PINCM22_PF_UART0_RX +#define GPIO_UART_0_IOMUX_TX_FUNC IOMUX_PINCM21_PF_UART0_TX +#define UART_0_BAUD_RATE (115200) +#define UART_0_IBRD_40_MHZ_115200_BAUD (21) +#define UART_0_FBRD_40_MHZ_115200_BAUD (45) +/* Defines for UART_1 */ +#define UART_1_INST UART1 +#define UART_1_INST_FREQUENCY 40000000 +#define UART_1_INST_IRQHandler UART1_IRQHandler +#define UART_1_INST_INT_IRQN UART1_INT_IRQn +#define GPIO_UART_1_RX_PORT GPIOA +#define GPIO_UART_1_TX_PORT GPIOA +#define GPIO_UART_1_RX_PIN DL_GPIO_PIN_9 +#define GPIO_UART_1_TX_PIN DL_GPIO_PIN_8 +#define GPIO_UART_1_IOMUX_RX (IOMUX_PINCM20) +#define GPIO_UART_1_IOMUX_TX (IOMUX_PINCM19) +#define GPIO_UART_1_IOMUX_RX_FUNC IOMUX_PINCM20_PF_UART1_RX +#define GPIO_UART_1_IOMUX_TX_FUNC IOMUX_PINCM19_PF_UART1_TX +#define UART_1_BAUD_RATE (115200) +#define UART_1_IBRD_40_MHZ_115200_BAUD (21) +#define UART_1_FBRD_40_MHZ_115200_BAUD (45) + + + + +/* Defines for SPI_1 */ +#define SPI_1_INST SPI1 +#define SPI_1_INST_IRQHandler SPI1_IRQHandler +#define SPI_1_INST_INT_IRQN SPI1_INT_IRQn +#define GPIO_SPI_1_PICO_PORT GPIOB +#define GPIO_SPI_1_PICO_PIN DL_GPIO_PIN_15 +#define GPIO_SPI_1_IOMUX_PICO (IOMUX_PINCM32) +#define GPIO_SPI_1_IOMUX_PICO_FUNC IOMUX_PINCM32_PF_SPI1_PICO +#define GPIO_SPI_1_POCI_PORT GPIOB +#define GPIO_SPI_1_POCI_PIN DL_GPIO_PIN_7 +#define GPIO_SPI_1_IOMUX_POCI (IOMUX_PINCM24) +#define GPIO_SPI_1_IOMUX_POCI_FUNC IOMUX_PINCM24_PF_SPI1_POCI +/* GPIO configuration for SPI_1 */ +#define GPIO_SPI_1_SCLK_PORT GPIOB +#define GPIO_SPI_1_SCLK_PIN DL_GPIO_PIN_9 +#define GPIO_SPI_1_IOMUX_SCLK (IOMUX_PINCM26) +#define GPIO_SPI_1_IOMUX_SCLK_FUNC IOMUX_PINCM26_PF_SPI1_SCLK +#define GPIO_SPI_1_CS0_PORT GPIOB +#define GPIO_SPI_1_CS0_PIN DL_GPIO_PIN_6 +#define GPIO_SPI_1_IOMUX_CS0 (IOMUX_PINCM23) +#define GPIO_SPI_1_IOMUX_CS0_FUNC IOMUX_PINCM23_PF_SPI1_CS0 + + + +/* Defines for ADC12_0 */ +#define ADC12_0_INST ADC0 +#define ADC12_0_INST_IRQHandler ADC0_IRQHandler +#define ADC12_0_INST_INT_IRQN (ADC0_INT_IRQn) +#define ADC12_0_ADCMEM_0 DL_ADC12_MEM_IDX_0 +#define ADC12_0_ADCMEM_0_REF DL_ADC12_REFERENCE_VOLTAGE_VDDA +#define ADC12_0_ADCMEM_0_REF_VOLTAGE_V 3.3 +#define GPIO_ADC12_0_C3_PORT GPIOA +#define GPIO_ADC12_0_C3_PIN DL_GPIO_PIN_24 +#define GPIO_ADC12_0_IOMUX_C3 (IOMUX_PINCM54) +#define GPIO_ADC12_0_IOMUX_C3_FUNC (IOMUX_PINCM54_PF_UNCONNECTED) + +/* Defines for ADC12_1 */ +#define ADC12_1_INST ADC1 +#define ADC12_1_INST_IRQHandler ADC1_IRQHandler +#define ADC12_1_INST_INT_IRQN (ADC1_INT_IRQn) +#define ADC12_1_ADCMEM_0 DL_ADC12_MEM_IDX_0 +#define ADC12_1_ADCMEM_0_REF DL_ADC12_REFERENCE_VOLTAGE_VDDA +#define ADC12_1_ADCMEM_0_REF_VOLTAGE_V 3.3 +#define GPIO_ADC12_1_C5_PORT GPIOB +#define GPIO_ADC12_1_C5_PIN DL_GPIO_PIN_18 +#define GPIO_ADC12_1_IOMUX_C5 (IOMUX_PINCM44) +#define GPIO_ADC12_1_IOMUX_C5_FUNC (IOMUX_PINCM44_PF_UNCONNECTED) + + + +/* Defines for DMA_CH_SPI1_RX */ +#define DMA_CH_SPI1_RX_CHAN_ID (6) +#define SPI_1_INST_DMA_TRIGGER_0 (DMA_SPI1_RX_TRIG) +/* Defines for DMA_CH_SPI1_TX */ +#define DMA_CH_SPI1_TX_CHAN_ID (2) +#define SPI_1_INST_DMA_TRIGGER_1 (DMA_SPI1_TX_TRIG) +/* Defines for DMA_CH_UART0_TX */ +#define DMA_CH_UART0_TX_CHAN_ID (3) +#define UART_0_INST_DMA_TRIGGER (DMA_UART0_TX_TRIG) +/* Defines for DMA_CH_UART1_TX */ +#define DMA_CH_UART1_TX_CHAN_ID (4) +#define UART_1_INST_DMA_TRIGGER (DMA_UART1_TX_TRIG) + + +/* Defines for PIN_LED1: GPIOB.8 with pinCMx 25 on package pin 22 */ +#define GPIO_LEDS_PIN_LED1_PORT (GPIOB) +#define GPIO_LEDS_PIN_LED1_PIN (DL_GPIO_PIN_8) +#define GPIO_LEDS_PIN_LED1_IOMUX (IOMUX_PINCM25) +/* Defines for PIN_LED2: GPIOA.16 with pinCMx 38 on package pin 31 */ +#define GPIO_LEDS_PIN_LED2_PORT (GPIOA) +#define GPIO_LEDS_PIN_LED2_PIN (DL_GPIO_PIN_16) +#define GPIO_LEDS_PIN_LED2_IOMUX (IOMUX_PINCM38) +/* Port definition for Pin Group GPIO_KEYS */ +#define GPIO_KEYS_PORT (GPIOB) + +/* Defines for PIN_KEY1: GPIOB.24 with pinCMx 52 on package pin 42 */ +// pins affected by this interrupt request:["PIN_KEY1","PIN_KEY2"] +#define GPIO_KEYS_INT_IRQN (GPIOB_INT_IRQn) +#define GPIO_KEYS_INT_IIDX (DL_INTERRUPT_GROUP1_IIDX_GPIOB) +#define GPIO_KEYS_PIN_KEY1_IIDX (DL_GPIO_IIDX_DIO24) +#define GPIO_KEYS_PIN_KEY1_PIN (DL_GPIO_PIN_24) +#define GPIO_KEYS_PIN_KEY1_IOMUX (IOMUX_PINCM52) +/* Defines for PIN_KEY2: GPIOB.20 with pinCMx 48 on package pin 41 */ +#define GPIO_KEYS_PIN_KEY2_IIDX (DL_GPIO_IIDX_DIO20) +#define GPIO_KEYS_PIN_KEY2_PIN (DL_GPIO_PIN_20) +#define GPIO_KEYS_PIN_KEY2_IOMUX (IOMUX_PINCM48) + + + + + +/* Defines for DAC12 */ +#define DAC12_IRQHandler DAC0_IRQHandler +#define DAC12_INT_IRQN (DAC0_INT_IRQn) +#define GPIO_DAC12_OUT_PORT GPIOA +#define GPIO_DAC12_OUT_PIN DL_GPIO_PIN_15 +#define GPIO_DAC12_IOMUX_OUT (IOMUX_PINCM37) +#define GPIO_DAC12_IOMUX_OUT_FUNC IOMUX_PINCM37_PF_UNCONNECTED + + +/* Defines for MCAN_0 */ +#define MCAN_0_INST CANFD0 +#define GPIO_MCAN_0_CAN_TX_PORT GPIOA +#define GPIO_MCAN_0_CAN_TX_PIN DL_GPIO_PIN_12 +#define GPIO_MCAN_0_IOMUX_CAN_TX (IOMUX_PINCM34) +#define GPIO_MCAN_0_IOMUX_CAN_TX_FUNC IOMUX_PINCM34_PF_CANFD0_CANTX +#define GPIO_MCAN_0_CAN_RX_PORT GPIOA +#define GPIO_MCAN_0_CAN_RX_PIN DL_GPIO_PIN_13 +#define GPIO_MCAN_0_IOMUX_CAN_RX (IOMUX_PINCM35) +#define GPIO_MCAN_0_IOMUX_CAN_RX_FUNC IOMUX_PINCM35_PF_CANFD0_CANRX + + +/* Defines for MCAN_0 MCAN RAM configuration */ +#define MCAN_0_INST_MCAN_STD_ID_FILT_START_ADDR (0) +#define MCAN_0_INST_MCAN_STD_ID_FILTER_NUM (1) +#define MCAN_0_INST_MCAN_EXT_ID_FILT_START_ADDR (48) +#define MCAN_0_INST_MCAN_EXT_ID_FILTER_NUM (1) +#define MCAN_0_INST_MCAN_TX_BUFF_START_ADDR (148) +#define MCAN_0_INST_MCAN_TX_BUFF_SIZE (2) +#define MCAN_0_INST_MCAN_FIFO_1_START_ADDR (192) +#define MCAN_0_INST_MCAN_FIFO_1_NUM (2) +#define MCAN_0_INST_MCAN_TX_EVENT_START_ADDR (164) +#define MCAN_0_INST_MCAN_TX_EVENT_SIZE (2) +#define MCAN_0_INST_MCAN_EXT_ID_AND_MASK (0x1FFFFFFFU) +#define MCAN_0_INST_MCAN_RX_BUFF_START_ADDR (208) +#define MCAN_0_INST_MCAN_FIFO_0_START_ADDR (172) +#define MCAN_0_INST_MCAN_FIFO_0_NUM (3) + + + + + +/* clang-format on */ + +void SYSCFG_DL_init(void); +void SYSCFG_DL_initPower(void); +void SYSCFG_DL_GPIO_init(void); +void SYSCFG_DL_SYSCTL_init(void); + +bool SYSCFG_DL_SYSCTL_SYSPLL_init(void); +void SYSCFG_DL_PWM_TIMA1_init(void); +void SYSCFG_DL_QEI_TIMG8_init(void); +void SYSCFG_DL_I2C_0_init(void); +void SYSCFG_DL_I2C_1_init(void); +void SYSCFG_DL_UART_0_init(void); +void SYSCFG_DL_UART_1_init(void); +void SYSCFG_DL_SPI_1_init(void); +void SYSCFG_DL_ADC12_0_init(void); +void SYSCFG_DL_ADC12_1_init(void); +void SYSCFG_DL_DMA_init(void); + +void SYSCFG_DL_SYSTICK_init(void); +void SYSCFG_DL_DAC12_init(void); +void SYSCFG_DL_MCAN_0_init(void); + +bool SYSCFG_DL_saveConfiguration(void); +bool SYSCFG_DL_restoreConfiguration(void); + +#ifdef __cplusplus +} +#endif + +#endif /* ti_msp_dl_config_h */ diff --git a/tests/data/mspm0/g3519.syscfg b/tests/data/mspm0/g3519.syscfg new file mode 100644 index 0000000..a5183c0 --- /dev/null +++ b/tests/data/mspm0/g3519.syscfg @@ -0,0 +1,248 @@ +/** + * These arguments were used when this file was generated. They will be automatically applied on subsequent loads + * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments. + * @cliArgs --device "MSPM0G351X" --part "Default" --package "LQFP-48(PT)" --product "mspm0_sdk@2.11.00.07" + * @v2CliArgs --device "MSPM0G3519" --package "LQFP-48(PT)" --product "mspm0_sdk@2.11.00.07" + * @versions {"tool":"1.28.1+4785"} + */ + +/** + * Import the modules used in this configuration. + */ +const ADC12 = scripting.addModule("/ti/driverlib/ADC12", {}, false); +const ADC121 = ADC12.addInstance(); +const ADC122 = ADC12.addInstance(); +const DAC12 = scripting.addModule("/ti/driverlib/DAC12"); +const GPIO = scripting.addModule("/ti/driverlib/GPIO", {}, false); +const GPIO1 = GPIO.addInstance(); +const GPIO2 = GPIO.addInstance(); +const I2C = scripting.addModule("/ti/driverlib/I2C", {}, false); +const I2C1 = I2C.addInstance(); +const I2C2 = I2C.addInstance(); +const MCAN = scripting.addModule("/ti/driverlib/MCAN", {}, false); +const MCAN1 = MCAN.addInstance(); +const PWM = scripting.addModule("/ti/driverlib/PWM", {}, false); +const PWM1 = PWM.addInstance(); +const QEI = scripting.addModule("/ti/driverlib/QEI", {}, false); +const QEI1 = QEI.addInstance(); +const SPI = scripting.addModule("/ti/driverlib/SPI", {}, false); +const SPI1 = SPI.addInstance(); +const SYSCTL = scripting.addModule("/ti/driverlib/SYSCTL"); +const SYSTICK = scripting.addModule("/ti/driverlib/SYSTICK"); +const UART = scripting.addModule("/ti/driverlib/UART", {}, false); +const UART1 = UART.addInstance(); +const UART2 = UART.addInstance(); +const UART3 = UART.addInstance(); + +/** + * Write custom configuration values to the imported modules. + */ +const divider1 = system.clockTree["PLL_CLK2X_DIV"]; +divider1.divideValue = 4; + +const divider2 = system.clockTree["PLL_CLK1_DIV"]; +divider2.divideValue = 2; + +const divider3 = system.clockTree["PLL_PDIV"]; +divider3.divideValue = 2; + +const divider4 = system.clockTree["UDIV"]; +divider4.divideValue = 2; + +const gate1 = system.clockTree["MFPCLKGATE"]; +gate1.enable = true; + +const multiplier1 = system.clockTree["PLL_QDIV"]; +multiplier1.multiplyValue = 20; + +const mux0 = system.clockTree["CANCLKMUX"]; +mux0.inputSelect = "CANCLKMUX_PLLCLK1_OUT"; + +const mux1 = system.clockTree["EXHFMUX"]; +mux1.inputSelect = "EXHFMUX_XTAL"; + +const mux2 = system.clockTree["SYSPLLMUX"]; +mux2.inputSelect = "zSYSPLLMUX_HFCLK"; + +const mux3 = system.clockTree["HSCLKMUX"]; +mux3.inputSelect = "HSCLKMUX_SYSPLL2X"; + +const mux4 = system.clockTree["EXLFMUX"]; +mux4.inputSelect = "EXLFMUX_XTAL"; + +const mux5 = system.clockTree["LFXTMUX"]; +mux5.inputSelect = "LFXTMUX_TRUE"; + +const pinFunction1 = system.clockTree["HFXT"]; +pinFunction1.enable = true; +pinFunction1.inputFreq = 16; +pinFunction1.HFXTStartup = 255; +pinFunction1.HFCLKMonitor = true; +pinFunction1.peripheral.hfxInPin.$assign = "PA5"; +pinFunction1.peripheral.hfxOutPin.$assign = "PA6"; + +const pinFunction2 = system.clockTree["LFXT"]; +pinFunction2.enable = true; +pinFunction2.inputFreq = 32.768; +pinFunction2.peripheral.lfxInPin.$assign = "PA3"; +pinFunction2.peripheral.lfxOutPin.$assign = "PA4"; + +ADC121.$name = "ADC12_0"; +ADC121.adcMem0chansel = "DL_ADC12_INPUT_CHAN_3"; +ADC121.peripheral.$assign = "ADC0"; +ADC121.peripheral.adcPin3.$assign = "PA24"; + +ADC122.$name = "ADC12_1"; +ADC122.adcMem0chansel = "DL_ADC12_INPUT_CHAN_6"; +ADC122.peripheral.$assign = "ADC1"; +ADC122.peripheral.adcPin6.$assign = "PB19"; + +DAC12.dacOutputPinEn = true; +DAC12.dacAmplifier = "ON"; +DAC12.peripheral.$assign = "DAC0"; +DAC12.peripheral.OutPin.$assign = "PA15"; + +GPIO1.$name = "GPIO_LEDS"; +GPIO1.associatedPins.create(2); +GPIO1.associatedPins[0].$name = "PIN_LED1"; +GPIO1.associatedPins[0].initialValue = "SET"; +GPIO1.associatedPins[0].pin.$assign = "PA25"; +GPIO1.associatedPins[1].$name = "PIN_LED2"; +GPIO1.associatedPins[1].initialValue = "SET"; +GPIO1.associatedPins[1].pin.$assign = "PA16"; + +GPIO2.$name = "GPIO_KEYS"; +GPIO2.associatedPins.create(2); +GPIO2.associatedPins[0].$name = "PIN_KEY1"; +GPIO2.associatedPins[0].direction = "INPUT"; +GPIO2.associatedPins[0].internalResistor = "NONE"; +GPIO2.associatedPins[0].interruptEn = true; +GPIO2.associatedPins[0].polarity = "FALL"; +GPIO2.associatedPins[0].pin.$assign = "PB24"; +GPIO2.associatedPins[1].$name = "PIN_KEY2"; +GPIO2.associatedPins[1].direction = "INPUT"; +GPIO2.associatedPins[1].internalResistor = "NONE"; +GPIO2.associatedPins[1].interruptEn = true; +GPIO2.associatedPins[1].polarity = "FALL"; +GPIO2.associatedPins[1].pin.$assign = "PB20"; + +I2C1.$name = "I2C_0"; +I2C1.basicEnableController = true; +I2C1.basicControllerBusSpeed = 100000; +I2C1.peripheral.$assign = "I2C0"; +I2C1.peripheral.sdaPin.$assign = "PA0"; +I2C1.peripheral.sclPin.$assign = "PA1"; + +I2C2.$name = "I2C_1"; +I2C2.basicEnableController = true; +I2C2.basicControllerBusSpeed = 100000; +I2C2.peripheral.$assign = "I2C1"; +I2C2.peripheral.sdaPin.$assign = "PB3"; +I2C2.peripheral.sclPin.$assign = "PB2"; + +MCAN1.$name = "MCAN_0"; +MCAN1.peripheral.$assign = "CANFD0"; +MCAN1.peripheral.rxPin.$assign = "PA13"; +MCAN1.peripheral.txPin.$assign = "PA12"; + +PWM1.$name = "PWM_TIMA1"; +PWM1.peripheral.$assign = "TIMA1"; +PWM1.peripheral.ccp0Pin.$assign = "PA28"; +PWM1.peripheral.ccp1Pin.$assign = "PA31"; + +QEI1.$name = "QEI_TIMG8"; +QEI1.enableIndexInput = true; +QEI1.peripheral.$assign = "TIMG8"; +QEI1.peripheral.ccp0Pin.$assign = "PA26"; +QEI1.peripheral.ccp1Pin.$assign = "PA22"; +QEI1.peripheral.idxPin.$assign = "PB14"; + +const Board = scripting.addModule("/ti/driverlib/Board", {}, false); +Board.peripheral.$assign = "DEBUGSS"; +Board.peripheral.swclkPin.$assign = "PA20"; +Board.peripheral.swdioPin.$assign = "PA19"; + +SPI1.$name = "SPI_1"; +SPI1.chipSelect = ["0"]; +SPI1.rxFifoThreshold = "DL_SPI_RX_FIFO_LEVEL_ONE_FRAME"; +SPI1.txFifoThreshold = "DL_SPI_TX_FIFO_LEVEL_ONE_FRAME"; +SPI1.enabledInterrupts = ["DMA_DONE_RX","DMA_DONE_TX"]; +SPI1.enabledDMAEvent1Triggers = "DL_SPI_DMA_INTERRUPT_RX"; +SPI1.enabledDMAEvent2Triggers = "DL_SPI_DMA_INTERRUPT_TX"; +SPI1.peripheral.$assign = "SPI1"; +SPI1.peripheral.sclkPin.$assign = "PB9"; +SPI1.peripheral.mosiPin.$assign = "PB15"; +SPI1.peripheral.misoPin.$assign = "PB7"; +SPI1.peripheral.cs0Pin.$assign = "PB6"; +SPI1.cs0PinConfig.enableConfig = true; +SPI1.cs0PinConfig.internalResistor = "PULL_UP"; +SPI1.DMA_CHANNEL_EVENT1.$name = "DMA_CH_SPI1_RX"; +SPI1.DMA_CHANNEL_EVENT1.addressMode = "f2b"; +SPI1.DMA_CHANNEL_EVENT1.srcLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT1.dstLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT1.peripheral.$assign = "DMA_CH6"; +SPI1.DMA_CHANNEL_EVENT2.$name = "DMA_CH_SPI1_TX"; +SPI1.DMA_CHANNEL_EVENT2.addressMode = "b2f"; +SPI1.DMA_CHANNEL_EVENT2.srcLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT2.dstLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT2.peripheral.$assign = "DMA_CH2"; + +SYSCTL.forceDefaultClkConfig = true; +SYSCTL.clockTreeEn = true; + +SYSTICK.periodEnable = true; +SYSTICK.period = 80000; +SYSTICK.interruptEnable = true; +SYSTICK.systickEnable = true; + +UART1.$name = "UART_0"; +UART1.targetBaudRate = 115200; +UART1.enableFIFO = true; +UART1.rxFifoThreshold = "DL_UART_RX_FIFO_LEVEL_ONE_ENTRY"; +UART1.txFifoThreshold = "DL_UART_TX_FIFO_LEVEL_ONE_ENTRY"; +UART1.enableDMATX = true; +UART1.enabledDMATXTriggers = "DL_UART_DMA_INTERRUPT_TX"; +UART1.peripheral.$assign = "UART0"; +UART1.peripheral.rxPin.$assign = "PA11"; +UART1.peripheral.txPin.$assign = "PA10"; +UART1.DMA_CHANNEL_TX.$name = "DMA_CH_UART0_TX"; +UART1.DMA_CHANNEL_TX.addressMode = "b2f"; +UART1.DMA_CHANNEL_TX.srcLength = "BYTE"; +UART1.DMA_CHANNEL_TX.dstLength = "BYTE"; +UART1.DMA_CHANNEL_TX.srcIncDec = "INCREMENT"; +UART1.DMA_CHANNEL_TX.peripheral.$assign = "DMA_CH3"; + +UART2.$name = "UART_1"; +UART2.targetBaudRate = 115200; +UART2.enableFIFO = true; +UART2.rxFifoThreshold = "DL_UART_RX_FIFO_LEVEL_ONE_ENTRY"; +UART2.txFifoThreshold = "DL_UART_TX_FIFO_LEVEL_ONE_ENTRY"; +UART2.enableDMATX = true; +UART2.enabledDMATXTriggers = "DL_UART_DMA_INTERRUPT_TX"; +UART2.peripheral.$assign = "UART1"; +UART2.peripheral.rxPin.$assign = "PA9"; +UART2.peripheral.txPin.$assign = "PA8"; +UART2.DMA_CHANNEL_TX.$name = "DMA_CH_UART1_TX"; +UART2.DMA_CHANNEL_TX.addressMode = "b2f"; +UART2.DMA_CHANNEL_TX.srcLength = "BYTE"; +UART2.DMA_CHANNEL_TX.dstLength = "BYTE"; +UART2.DMA_CHANNEL_TX.srcIncDec = "INCREMENT"; +UART2.DMA_CHANNEL_TX.peripheral.$assign = "DMA_CH4"; + +UART3.$name = "UART_7"; +UART3.targetBaudRate = 115200; +UART3.enableFIFO = true; +UART3.rxFifoThreshold = "DL_UART_RX_FIFO_LEVEL_ONE_ENTRY"; +UART3.txFifoThreshold = "DL_UART_TX_FIFO_LEVEL_ONE_ENTRY"; +UART3.enableDMATX = true; +UART3.enabledDMATXTriggers = "DL_UART_DMA_INTERRUPT_TX"; +UART3.peripheral.$assign = "UART7"; +UART3.peripheral.rxPin.$assign = "PB18"; +UART3.peripheral.txPin.$assign = "PB17"; +UART3.DMA_CHANNEL_TX.$name = "DMA_CH_UART7_TX"; +UART3.DMA_CHANNEL_TX.addressMode = "b2f"; +UART3.DMA_CHANNEL_TX.srcLength = "BYTE"; +UART3.DMA_CHANNEL_TX.dstLength = "BYTE"; +UART3.DMA_CHANNEL_TX.srcIncDec = "INCREMENT"; +UART3.DMA_CHANNEL_TX.peripheral.$assign = "DMA_CH7"; + diff --git a/tests/data/mspm0/g3519_expected_app_main.cpp b/tests/data/mspm0/g3519_expected_app_main.cpp new file mode 100644 index 0000000..ade37a7 --- /dev/null +++ b/tests/data/mspm0/g3519_expected_app_main.cpp @@ -0,0 +1,144 @@ +// Generated by `libxr gen`; do not edit by hand. +// Generated from mspm0g3519_minidb48.syscfg (MSPM0G3519); SysConfig configures the +// clocks, pins, DMA channels and peripherals (SYSCFG_DL_init() in main.c). Put +// application code between the "User Code Begin" and "User Code End" markers. +#include "app_main.h" + +#include "libxr.hpp" +#include "mspm0_gpio.hpp" +#include "mspm0_i2c.hpp" +#include "mspm0_pwm.hpp" +#include "mspm0_spi.hpp" +#include "mspm0_timebase.hpp" +#include "mspm0_uart.hpp" +#include "ti_msp_dl_config.h" +#include "xrobot_main.hpp" + +using namespace LibXR; + +/* User Code Begin 1 */ +#include +#include + +// KEY interrupt counters, incremented in the GPIO interrupt callbacks. +static std::atomic key1_irq_count{0}; +static std::atomic key2_irq_count{0}; + +static void OnKeyInterrupt(bool in_isr, std::atomic* count) +{ + (void)in_isr; + count->fetch_add(1, std::memory_order_relaxed); +} +/* User Code End 1 */ + +// Input clocks: the BUSCLK of the power domain. PD0 from ULPCLK = CPUCLK_FREQ / 2 +// (DL_SYSCTL_setULPCLKDivider) and PD1 from MCLK (CPUCLK_FREQ). The I2C driver resets +// the clock configuration of its peripherals, so the BUSCLK of the domain is the right +// argument. +static constexpr uint32_t PD0_BUSCLK_FREQ = (CPUCLK_FREQ / 2); +static constexpr uint32_t PD1_BUSCLK_FREQ = CPUCLK_FREQ; + +// Ownership of the DMA channels that serve a UART transmitter; +// MSPM0_UART_MAIN_INIT checks these names against the ones SysConfig generated. +#define DMA_CH_UART0_TX_LIBXR_UART_IRQN UART_0_INST_INT_IRQN +#define DMA_CH_UART0_TX_LIBXR_UART_TX 1 +#define DMA_CH_UART1_TX_LIBXR_UART_IRQN UART_1_INST_INT_IRQN +#define DMA_CH_UART1_TX_LIBXR_UART_TX 1 +#define DMA_CH_UART7_TX_LIBXR_UART_IRQN UART_7_INST_INT_IRQN +#define DMA_CH_UART7_TX_LIBXR_UART_TX 1 + +// DMA buffers. A UART gets 2 x N bytes for its two transmit halves; the receive side +// runs on byte interrupts. The SPI DMA buffers are split in two halves as well; the +// I2C driver uses polling, its buffer is the staging area for DMA transfers. +alignas(size_t) static uint8_t uart0_tx_buf[2 * 128]; +alignas(size_t) static uint8_t uart1_tx_buf[2 * 128]; +alignas(size_t) static uint8_t uart7_tx_buf[2 * 128]; +alignas(4) static uint8_t spi1_rx_buf[32]; +alignas(4) static uint8_t spi1_tx_buf[32]; +alignas(4) static uint8_t i2c0_buf[32]; +alignas(4) static uint8_t i2c1_buf[32]; + +extern "C" void app_main(void) +{ + /* User Code Begin 2 */ + /* User Code End 2 */ + + // Timebase and platform + static MSPM0Timebase timebase; + PlatformInit(); + + // GPIO: SysConfig configured LED1 (PA25), LED2 (PA16) as output pins and KEY1 (PB24), + // KEY2 (PB20) as input pins. The interrupt edge comes from SysConfig; RegisterCallback + // and EnableInterrupt belong to the consumer (a Module or the User Code). + static MSPM0GPIO LED1(GPIO_LEDS_PORT, GPIO_LEDS_PIN_LED1_PIN, GPIO_LEDS_PIN_LED1_IOMUX); + static MSPM0GPIO LED2(GPIO_LEDS_PORT, GPIO_LEDS_PIN_LED2_PIN, GPIO_LEDS_PIN_LED2_IOMUX); + static MSPM0GPIO KEY1(GPIO_KEYS_PORT, GPIO_KEYS_PIN_KEY1_PIN, GPIO_KEYS_PIN_KEY1_IOMUX); + static MSPM0GPIO KEY2(GPIO_KEYS_PORT, GPIO_KEYS_PIN_KEY2_PIN, GPIO_KEYS_PIN_KEY2_IOMUX); + + // UART: TX with DMA; the receive side runs on byte interrupts. + static MSPM0UART uart0(MSPM0_UART_MAIN_INIT(UART_0, DMA_CH_UART0_TX, uart0_tx_buf, + sizeof(uart0_tx_buf), 5, 128)); + static MSPM0UART uart1(MSPM0_UART_MAIN_INIT(UART_1, DMA_CH_UART1_TX, uart1_tx_buf, + sizeof(uart1_tx_buf), 5, 128)); + static MSPM0UART uart7(MSPM0_UART_MAIN_INIT(UART_7, DMA_CH_UART7_TX, uart7_tx_buf, + sizeof(uart7_tx_buf), 5, 128)); + + // I2C: polling; the buffer stages DMA transfers. + static MSPM0I2C i2c0(MSPM0_I2C_INIT(I2C_0, PD0_BUSCLK_FREQ, i2c0_buf, sizeof(i2c0_buf), + 8), {I2C_0_BUS_SPEED_HZ}); + static MSPM0I2C i2c1(MSPM0_I2C_INIT(I2C_1, PD0_BUSCLK_FREQ, i2c1_buf, sizeof(i2c1_buf), + 8), {I2C_1_BUS_SPEED_HZ}); + + // SPI: DMA for transfers longer than the threshold. + static MSPM0SPI spi1(MSPM0_SPI_INIT(SPI_1, PD1_BUSCLK_FREQ, DMA_CH_SPI1_RX, + DMA_CH_SPI1_TX, spi1_rx_buf, sizeof(spi1_rx_buf), spi1_tx_buf, + sizeof(spi1_tx_buf), 3)); + + // PWM: the channels of one timer share one period, which SysConfig configures. + static MSPM0PWM pwm_tima1_c0(MSPM0_PWM_CH(PWM_TIMA1, 0)); + static MSPM0PWM pwm_tima1_c1(MSPM0_PWM_CH(PWM_TIMA1, 1)); + + // Terminal on uart0 + STDIO::read_ = uart0.read_port_; + STDIO::write_ = uart0.write_port_; + static RamFS ramfs("XRobot"); + static Terminal<32, 32, 5, 5> terminal(ramfs); + static auto terminal_task = Timer::CreateTask(terminal.TaskFun, &terminal, 10); + Timer::Add(terminal_task); + Timer::Start(terminal_task); + + // Hardware registration + XR_REGISTER(LED1, LibXR::GPIO); + XR_REGISTER(LED2, LibXR::GPIO); + XR_REGISTER(KEY1, LibXR::GPIO); + XR_REGISTER(KEY2, LibXR::GPIO); + + XR_REGISTER(pwm_tima1_c0, LibXR::PWM); + XR_REGISTER(pwm_tima1_c1, LibXR::PWM); + + XR_REGISTER(spi1, LibXR::SPI); + + XR_REGISTER(uart0, LibXR::UART); + XR_REGISTER(uart1, LibXR::UART); + XR_REGISTER(uart7, LibXR::UART); + + XR_REGISTER(i2c0, LibXR::I2C); + XR_REGISTER(i2c1, LibXR::I2C); + + XR_REGISTER(ramfs, LibXR::RamFS); + + XR_REGISTER(terminal, LibXR::Terminal<32, 32, 5, 5>); + + /* User Code Begin 3 */ + // The keys pull the pin low against an external 15k pull-up: falling edge, no internal + // pull. The interrupt registration belongs to the consumer (O1: the generator creates + // the GPIO object only). + KEY1.SetConfig({GPIO::Direction::FALL_INTERRUPT, GPIO::Pull::NONE}); + KEY1.RegisterCallback(GPIO::Callback::Create(OnKeyInterrupt, &key1_irq_count)); + KEY1.EnableInterrupt(); + KEY2.SetConfig({GPIO::Direction::FALL_INTERRUPT, GPIO::Pull::NONE}); + KEY2.RegisterCallback(GPIO::Callback::Create(OnKeyInterrupt, &key2_irq_count)); + KEY2.EnableInterrupt(); + /* User Code End 3 */ + XROBOT_MAIN(); +} diff --git a/tests/data/mspm0/g3519_ti_msp_dl_config.c b/tests/data/mspm0/g3519_ti_msp_dl_config.c new file mode 100644 index 0000000..1fba821 --- /dev/null +++ b/tests/data/mspm0/g3519_ti_msp_dl_config.c @@ -0,0 +1,924 @@ +/* + * Copyright (c) 2023, Texas Instruments Incorporated + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * ============ ti_msp_dl_config.c ============= + * Configured MSPM0 DriverLib module definitions + * + * DO NOT EDIT - This file is generated for the MSPM0G351X + * by the SysConfig tool. + */ + +#include "ti_msp_dl_config.h" + +DL_TimerA_backupConfig gPWM_TIMA1Backup; +DL_TimerG_backupConfig gQEI_TIMG8Backup; +DL_SPI_backupConfig gSPI_1Backup; +DL_MCAN_backupConfig gMCAN_0Backup; + +/* + * ======== SYSCFG_DL_init ======== + * Perform any initialization needed before using any board APIs + */ +SYSCONFIG_WEAK void SYSCFG_DL_init(void) +{ + SYSCFG_DL_initPower(); + SYSCFG_DL_GPIO_init(); + /* Module-Specific Initializations*/ + SYSCFG_DL_SYSCTL_init(); + SYSCFG_DL_PWM_TIMA1_init(); + SYSCFG_DL_QEI_TIMG8_init(); + SYSCFG_DL_I2C_0_init(); + SYSCFG_DL_I2C_1_init(); + SYSCFG_DL_UART_0_init(); + SYSCFG_DL_UART_1_init(); + SYSCFG_DL_UART_7_init(); + SYSCFG_DL_SPI_1_init(); + SYSCFG_DL_ADC12_0_init(); + SYSCFG_DL_ADC12_1_init(); + SYSCFG_DL_DMA_init(); + SYSCFG_DL_SYSTICK_init(); + SYSCFG_DL_DAC12_init(); + SYSCFG_DL_MCAN_0_init(); + /* Ensure backup structures have no valid state */ + gPWM_TIMA1Backup.backupRdy = false; + gQEI_TIMG8Backup.backupRdy = false; + + gSPI_1Backup.backupRdy = false; + gMCAN_0Backup.backupRdy = false; + +} +/* + * User should take care to save and restore register configuration in application. + * See Retention Configuration section for more details. + */ +SYSCONFIG_WEAK bool SYSCFG_DL_saveConfiguration(void) +{ + bool retStatus = true; + + retStatus &= DL_TimerA_saveConfiguration(PWM_TIMA1_INST, &gPWM_TIMA1Backup); + retStatus &= DL_TimerG_saveConfiguration(QEI_TIMG8_INST, &gQEI_TIMG8Backup); + retStatus &= DL_SPI_saveConfiguration(SPI_1_INST, &gSPI_1Backup); + retStatus &= DL_MCAN_saveConfiguration(MCAN_0_INST, &gMCAN_0Backup); + + return retStatus; +} + + +SYSCONFIG_WEAK bool SYSCFG_DL_restoreConfiguration(void) +{ + bool retStatus = true; + + retStatus &= DL_TimerA_restoreConfiguration(PWM_TIMA1_INST, &gPWM_TIMA1Backup, false); + retStatus &= DL_TimerG_restoreConfiguration(QEI_TIMG8_INST, &gQEI_TIMG8Backup, false); + retStatus &= DL_SPI_restoreConfiguration(SPI_1_INST, &gSPI_1Backup); + retStatus &= DL_MCAN_restoreConfiguration(MCAN_0_INST, &gMCAN_0Backup); + + return retStatus; +} + +SYSCONFIG_WEAK void SYSCFG_DL_initPower(void) +{ + DL_GPIO_reset(GPIOA); + DL_GPIO_reset(GPIOB); + DL_TimerA_reset(PWM_TIMA1_INST); + DL_TimerG_reset(QEI_TIMG8_INST); + DL_I2C_reset(I2C_0_INST); + DL_I2C_reset(I2C_1_INST); + DL_UART_Main_reset(UART_0_INST); + DL_UART_Main_reset(UART_1_INST); + DL_UART_Main_reset(UART_7_INST); + DL_SPI_reset(SPI_1_INST); + DL_ADC12_reset(ADC12_0_INST); + DL_ADC12_reset(ADC12_1_INST); + + + DL_DAC12_reset(DAC0); + DL_MCAN_reset(MCAN_0_INST); + + DL_GPIO_enablePower(GPIOA); + DL_GPIO_enablePower(GPIOB); + DL_TimerA_enablePower(PWM_TIMA1_INST); + DL_TimerG_enablePower(QEI_TIMG8_INST); + DL_I2C_enablePower(I2C_0_INST); + DL_I2C_enablePower(I2C_1_INST); + DL_UART_Main_enablePower(UART_0_INST); + DL_UART_Main_enablePower(UART_1_INST); + DL_UART_Main_enablePower(UART_7_INST); + DL_SPI_enablePower(SPI_1_INST); + DL_ADC12_enablePower(ADC12_0_INST); + DL_ADC12_enablePower(ADC12_1_INST); + + + DL_DAC12_enablePower(DAC0); + DL_MCAN_enablePower(MCAN_0_INST); + delay_cycles(POWER_STARTUP_DELAY); +} + +SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void) +{ + + DL_GPIO_initPeripheralAnalogFunction(GPIO_HFXIN_IOMUX); + DL_GPIO_initPeripheralAnalogFunction(GPIO_HFXOUT_IOMUX); + DL_GPIO_initPeripheralAnalogFunction(GPIO_LFXIN_IOMUX); + DL_GPIO_initPeripheralAnalogFunction(GPIO_LFXOUT_IOMUX); + + DL_GPIO_initPeripheralOutputFunction(GPIO_PWM_TIMA1_C0_IOMUX,GPIO_PWM_TIMA1_C0_IOMUX_FUNC); + DL_GPIO_enableOutput(GPIO_PWM_TIMA1_C0_PORT, GPIO_PWM_TIMA1_C0_PIN); + DL_GPIO_initPeripheralOutputFunction(GPIO_PWM_TIMA1_C1_IOMUX,GPIO_PWM_TIMA1_C1_IOMUX_FUNC); + DL_GPIO_enableOutput(GPIO_PWM_TIMA1_C1_PORT, GPIO_PWM_TIMA1_C1_PIN); + + DL_GPIO_initPeripheralInputFunction(GPIO_QEI_TIMG8_PHA_IOMUX,GPIO_QEI_TIMG8_PHA_IOMUX_FUNC); + DL_GPIO_initPeripheralInputFunction(GPIO_QEI_TIMG8_PHB_IOMUX,GPIO_QEI_TIMG8_PHB_IOMUX_FUNC); + DL_GPIO_initPeripheralInputFunction(GPIO_QEI_TIMG8_IDX_IOMUX,GPIO_QEI_TIMG8_IDX_IOMUX_FUNC); + + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_0_IOMUX_SDA, + GPIO_I2C_0_IOMUX_SDA_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_0_IOMUX_SCL, + GPIO_I2C_0_IOMUX_SCL_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_enableHiZ(GPIO_I2C_0_IOMUX_SDA); + DL_GPIO_enableHiZ(GPIO_I2C_0_IOMUX_SCL); + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_1_IOMUX_SDA, + GPIO_I2C_1_IOMUX_SDA_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_1_IOMUX_SCL, + GPIO_I2C_1_IOMUX_SCL_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_enableHiZ(GPIO_I2C_1_IOMUX_SDA); + DL_GPIO_enableHiZ(GPIO_I2C_1_IOMUX_SCL); + + DL_GPIO_initPeripheralOutputFunction( + GPIO_UART_0_IOMUX_TX, GPIO_UART_0_IOMUX_TX_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_UART_0_IOMUX_RX, GPIO_UART_0_IOMUX_RX_FUNC); + DL_GPIO_initPeripheralOutputFunction( + GPIO_UART_1_IOMUX_TX, GPIO_UART_1_IOMUX_TX_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_UART_1_IOMUX_RX, GPIO_UART_1_IOMUX_RX_FUNC); + DL_GPIO_initPeripheralOutputFunction( + GPIO_UART_7_IOMUX_TX, GPIO_UART_7_IOMUX_TX_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_UART_7_IOMUX_RX, GPIO_UART_7_IOMUX_RX_FUNC); + + DL_GPIO_initPeripheralOutputFunction( + GPIO_SPI_1_IOMUX_SCLK, GPIO_SPI_1_IOMUX_SCLK_FUNC); + DL_GPIO_initPeripheralOutputFunction( + GPIO_SPI_1_IOMUX_PICO, GPIO_SPI_1_IOMUX_PICO_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_SPI_1_IOMUX_POCI, GPIO_SPI_1_IOMUX_POCI_FUNC); + + DL_GPIO_initPeripheralOutputFunctionFeatures( + GPIO_SPI_1_IOMUX_CS0, GPIO_SPI_1_IOMUX_CS0_FUNC, + DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_PULL_UP, + DL_GPIO_DRIVE_STRENGTH_LOW, DL_GPIO_HIZ_DISABLE); + + DL_GPIO_initDigitalOutput(GPIO_LEDS_PIN_LED1_IOMUX); + + DL_GPIO_initDigitalOutput(GPIO_LEDS_PIN_LED2_IOMUX); + + DL_GPIO_initDigitalInputFeatures(GPIO_KEYS_PIN_KEY1_IOMUX, + DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_NONE, + DL_GPIO_HYSTERESIS_DISABLE, DL_GPIO_WAKEUP_DISABLE); + + DL_GPIO_initDigitalInputFeatures(GPIO_KEYS_PIN_KEY2_IOMUX, + DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_NONE, + DL_GPIO_HYSTERESIS_DISABLE, DL_GPIO_WAKEUP_DISABLE); + + DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_PIN_LED1_PIN | + GPIO_LEDS_PIN_LED2_PIN); + DL_GPIO_enableOutput(GPIO_LEDS_PORT, GPIO_LEDS_PIN_LED1_PIN | + GPIO_LEDS_PIN_LED2_PIN); + DL_GPIO_setUpperPinsPolarity(GPIO_KEYS_PORT, DL_GPIO_PIN_24_EDGE_FALL | + DL_GPIO_PIN_20_EDGE_FALL); + DL_GPIO_clearInterruptStatus(GPIO_KEYS_PORT, GPIO_KEYS_PIN_KEY1_PIN | + GPIO_KEYS_PIN_KEY2_PIN); + DL_GPIO_enableInterrupt(GPIO_KEYS_PORT, GPIO_KEYS_PIN_KEY1_PIN | + GPIO_KEYS_PIN_KEY2_PIN); + + DL_GPIO_initPeripheralOutputFunction( + GPIO_MCAN_0_IOMUX_CAN_TX, GPIO_MCAN_0_IOMUX_CAN_TX_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_MCAN_0_IOMUX_CAN_RX, GPIO_MCAN_0_IOMUX_CAN_RX_FUNC); + +} + + +static const DL_SYSCTL_SYSPLLConfig gSYSPLLConfig = { + .inputFreq = DL_SYSCTL_SYSPLL_INPUT_FREQ_8_16_MHZ, + .rDivClk2x = 3, + .rDivClk1 = 0, + .rDivClk0 = 0, + .enableCLK2x = DL_SYSCTL_SYSPLL_CLK2X_ENABLE, + .enableCLK1 = DL_SYSCTL_SYSPLL_CLK1_ENABLE, + .enableCLK0 = DL_SYSCTL_SYSPLL_CLK0_DISABLE, + .sysPLLMCLK = DL_SYSCTL_SYSPLL_MCLK_CLK2X, + .sysPLLRef = DL_SYSCTL_SYSPLL_REF_HFCLK, + .qDiv = 19, + .pDiv = DL_SYSCTL_SYSPLL_PDIV_2 +}; + +SYSCONFIG_WEAK bool SYSCFG_DL_SYSCTL_SYSPLL_init(void) +{ + bool fFCCRatioStatus = false; + uint32_t fFCCSysoscCount; + uint32_t fFCCPllCount; + uint32_t fFCCRatio; + uint32_t fccTimeOutCounter; + + DL_SYSCTL_setFCCPeriods( DL_SYSCTL_FCC_TRIG_CNT_02 ); + + /* Measuring PLL. */ + DL_SYSCTL_configFCC(DL_SYSCTL_FCC_TRIG_TYPE_RISE_RISE, + DL_SYSCTL_FCC_TRIG_SOURCE_LFCLK, + DL_SYSCTL_FCC_CLOCK_SOURCE_SYSPLLCLK1); + /* Get SYSPLL frequency using FCC */ + fccTimeOutCounter = 0; + DL_SYSCTL_startFCC(); + while (DL_SYSCTL_isFCCDone() == 0) { + delay_cycles(977); /* 1x LFCLK cycle = 32MHz/32.768kHz = 977, 30.5us */ + fccTimeOutCounter++; + if(fccTimeOutCounter > 65){ + /* Timeout set to approximately 2ms (user-customizable) */ + break; + } + } + + /* get measA= SYSPLLCLK1 freq wrt LFOSC*/ + fFCCPllCount = DL_SYSCTL_readFCC(); + + /* Measuring SYSPLL Source */ + DL_SYSCTL_configFCC(DL_SYSCTL_FCC_TRIG_TYPE_RISE_RISE, + DL_SYSCTL_FCC_TRIG_SOURCE_LFCLK, + DL_SYSCTL_FCC_CLOCK_SOURCE_HFCLK); + /* Get SYSPLL frequency using FCC */ + fccTimeOutCounter = 0; + DL_SYSCTL_startFCC(); + while (DL_SYSCTL_isFCCDone() == 0) { + delay_cycles(977); /* 1x LFCLK cycle = 32MHz/32.768kHz = 977, 30.5us */ + fccTimeOutCounter++; + if(fccTimeOutCounter > 65){ + /* Timeout set to approximately 2ms (user-customizable) */ + break; + } + } + + /* get measB= SYSOSC freq wrt LFOSC*/ + fFCCSysoscCount = DL_SYSCTL_readFCC(); + + /* Get ratio of both measurements*/ + fFCCRatio = (fFCCPllCount * FLOAT_TO_INT_SCALE) / fFCCSysoscCount; + /* Check ratio is within bounds*/ + if ((FCC_LOWER_BOUND < fFCCRatio) && (fFCCRatio < FCC_UPPER_BOUND)) + { + /* ratio is good for proceeding into application code. */ + fFCCRatioStatus = true; + } + + return fFCCRatioStatus; +} +static const DL_SYSCTL_LFCLKConfig gLFCLKConfig = { + .lowCap = false, + .monitor = false, + .xt1Drive = DL_SYSCTL_LFXT_DRIVE_STRENGTH_HIGHEST, +}; +SYSCONFIG_WEAK void SYSCFG_DL_SYSCTL_init(void) +{ + + //Low Power Mode is configured to be SLEEP0 + DL_SYSCTL_setBORThreshold(DL_SYSCTL_BOR_THRESHOLD_LEVEL_0); + DL_SYSCTL_setFlashWaitState(DL_SYSCTL_FLASH_WAIT_STATE_2); + + + DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_BASE); + /* Set default configuration */ + DL_SYSCTL_disableHFXT(); + DL_SYSCTL_disableSYSPLL(); + DL_SYSCTL_setHFCLKSourceHFXTParams(DL_SYSCTL_HFXT_RANGE_8_16_MHZ,255, true); + DL_SYSCTL_configSYSPLL((DL_SYSCTL_SYSPLLConfig *) &gSYSPLLConfig); + + /* + * [SYSPLL_ERR_01] + * PLL Incorrect locking WA start. + * Insert after every PLL enable. + * This can lead an infinite loop if the condition persists + * and can block entry to the application code. + */ + + while (SYSCFG_DL_SYSCTL_SYSPLL_init() == false) + { + /* Toggle SYSPLL enable to re-enable SYSPLL and re-check incorrect locking */ + DL_SYSCTL_disableSYSPLL(); + DL_SYSCTL_enableSYSPLL(); + + /* Wait until SYSPLL startup is stabilized*/ + while ((DL_SYSCTL_getClockStatus() & SYSCTL_CLKSTATUS_SYSPLLGOOD_MASK) != DL_SYSCTL_CLK_STATUS_SYSPLL_GOOD){} + } + DL_SYSCTL_setULPCLKDivider(DL_SYSCTL_ULPCLK_DIV_2); + DL_SYSCTL_setLFCLKSourceLFXT((DL_SYSCTL_LFCLKConfig *) &gLFCLKConfig); + DL_SYSCTL_enableMFPCLK(); + DL_SYSCTL_setMFPCLKSource(DL_SYSCTL_MFPCLK_SOURCE_SYSOSC); + DL_SYSCTL_setMCLKSource(SYSOSC, HSCLK, DL_SYSCTL_HSCLK_SOURCE_SYSPLL); + +} + + +/* + * Timer clock configuration to be sourced by / 1 (80000000 Hz) + * timerClkFreq = (timerClkSrc / (timerClkDivRatio * (timerClkPrescale + 1))) + * 80000000 Hz = 80000000 Hz / (1 * (0 + 1)) + */ +static const DL_TimerA_ClockConfig gPWM_TIMA1ClockConfig = { + .clockSel = DL_TIMER_CLOCK_BUSCLK, + .divideRatio = DL_TIMER_CLOCK_DIVIDE_1, + .prescale = 0U +}; + +static const DL_TimerA_PWMConfig gPWM_TIMA1Config = { + .pwmMode = DL_TIMER_PWM_MODE_EDGE_ALIGN, + .period = 1000, + .isTimerWithFourCC = false, + .startTimer = DL_TIMER_STOP, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_PWM_TIMA1_init(void) { + + DL_TimerA_setClockConfig( + PWM_TIMA1_INST, (DL_TimerA_ClockConfig *) &gPWM_TIMA1ClockConfig); + + DL_TimerA_initPWMMode( + PWM_TIMA1_INST, (DL_TimerA_PWMConfig *) &gPWM_TIMA1Config); + + // Set Counter control to the smallest CC index being used + DL_TimerA_setCounterControl(PWM_TIMA1_INST,DL_TIMER_CZC_CCCTL0_ZCOND,DL_TIMER_CAC_CCCTL0_ACOND,DL_TIMER_CLC_CCCTL0_LCOND); + + DL_TimerA_setCaptureCompareOutCtl(PWM_TIMA1_INST, DL_TIMER_CC_OCTL_INIT_VAL_LOW, + DL_TIMER_CC_OCTL_INV_OUT_DISABLED, DL_TIMER_CC_OCTL_SRC_FUNCVAL, + DL_TIMERA_CAPTURE_COMPARE_0_INDEX); + + DL_TimerA_setCaptCompUpdateMethod(PWM_TIMA1_INST, DL_TIMER_CC_UPDATE_METHOD_IMMEDIATE, DL_TIMERA_CAPTURE_COMPARE_0_INDEX); + DL_TimerA_setCaptureCompareValue(PWM_TIMA1_INST, 1000, DL_TIMER_CC_0_INDEX); + + DL_TimerA_setCaptureCompareOutCtl(PWM_TIMA1_INST, DL_TIMER_CC_OCTL_INIT_VAL_LOW, + DL_TIMER_CC_OCTL_INV_OUT_DISABLED, DL_TIMER_CC_OCTL_SRC_FUNCVAL, + DL_TIMERA_CAPTURE_COMPARE_1_INDEX); + + DL_TimerA_setCaptCompUpdateMethod(PWM_TIMA1_INST, DL_TIMER_CC_UPDATE_METHOD_IMMEDIATE, DL_TIMERA_CAPTURE_COMPARE_1_INDEX); + DL_TimerA_setCaptureCompareValue(PWM_TIMA1_INST, 1000, DL_TIMER_CC_1_INDEX); + + DL_TimerA_enableClock(PWM_TIMA1_INST); + + + + DL_TimerA_setCCPDirection(PWM_TIMA1_INST , DL_TIMER_CC0_OUTPUT | DL_TIMER_CC1_OUTPUT ); + + +} + + +static const DL_TimerG_ClockConfig gQEI_TIMG8ClockConfig = { + .clockSel = DL_TIMER_CLOCK_BUSCLK, + .divideRatio = DL_TIMER_CLOCK_DIVIDE_1, + .prescale = 0U +}; + + +SYSCONFIG_WEAK void SYSCFG_DL_QEI_TIMG8_init(void) { + + DL_TimerG_setClockConfig( + QEI_TIMG8_INST, (DL_TimerG_ClockConfig *) &gQEI_TIMG8ClockConfig); + + DL_TimerG_configQEI(QEI_TIMG8_INST, DL_TIMER_QEI_MODE_3_INPUT, + DL_TIMER_CC_INPUT_INV_NOINVERT, DL_TIMER_CC_0_INDEX); + DL_TimerG_configQEI(QEI_TIMG8_INST, DL_TIMER_QEI_MODE_3_INPUT, + DL_TIMER_CC_INPUT_INV_NOINVERT, DL_TIMER_CC_1_INDEX); + DL_TimerG_setLoadValue(QEI_TIMG8_INST, 65535); + DL_TimerG_enableClock(QEI_TIMG8_INST); +} + + +static const DL_I2C_ClockConfig gI2C_0ClockConfig = { + .clockSel = DL_I2C_CLOCK_BUSCLK, + .divideRatio = DL_I2C_CLOCK_DIVIDE_1, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_I2C_0_init(void) { + + DL_I2C_setClockConfig(I2C_0_INST, + (DL_I2C_ClockConfig *) &gI2C_0ClockConfig); + DL_I2C_setAnalogGlitchFilterPulseWidth(I2C_0_INST, + DL_I2C_ANALOG_GLITCH_FILTER_WIDTH_50NS); + DL_I2C_enableAnalogGlitchFilter(I2C_0_INST); + + /* Configure Controller Mode */ + DL_I2C_resetControllerTransfer(I2C_0_INST); + /* Set frequency to 100000 Hz*/ + DL_I2C_setTimerPeriod(I2C_0_INST, 39); + DL_I2C_setControllerTXFIFOThreshold(I2C_0_INST, DL_I2C_TX_FIFO_LEVEL_EMPTY); + DL_I2C_setControllerRXFIFOThreshold(I2C_0_INST, DL_I2C_RX_FIFO_LEVEL_BYTES_1); + DL_I2C_enableControllerClockStretching(I2C_0_INST); + + + /* Enable module */ + DL_I2C_enableController(I2C_0_INST); + + +} +static const DL_I2C_ClockConfig gI2C_1ClockConfig = { + .clockSel = DL_I2C_CLOCK_BUSCLK, + .divideRatio = DL_I2C_CLOCK_DIVIDE_1, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_I2C_1_init(void) { + + DL_I2C_setClockConfig(I2C_1_INST, + (DL_I2C_ClockConfig *) &gI2C_1ClockConfig); + DL_I2C_setAnalogGlitchFilterPulseWidth(I2C_1_INST, + DL_I2C_ANALOG_GLITCH_FILTER_WIDTH_50NS); + DL_I2C_enableAnalogGlitchFilter(I2C_1_INST); + + /* Configure Controller Mode */ + DL_I2C_resetControllerTransfer(I2C_1_INST); + /* Set frequency to 100000 Hz*/ + DL_I2C_setTimerPeriod(I2C_1_INST, 39); + DL_I2C_setControllerTXFIFOThreshold(I2C_1_INST, DL_I2C_TX_FIFO_LEVEL_EMPTY); + DL_I2C_setControllerRXFIFOThreshold(I2C_1_INST, DL_I2C_RX_FIFO_LEVEL_BYTES_1); + DL_I2C_enableControllerClockStretching(I2C_1_INST); + + + /* Enable module */ + DL_I2C_enableController(I2C_1_INST); + + +} + +static const DL_UART_Main_ClockConfig gUART_0ClockConfig = { + .clockSel = DL_UART_MAIN_CLOCK_BUSCLK, + .divideRatio = DL_UART_MAIN_CLOCK_DIVIDE_RATIO_1 +}; + +static const DL_UART_Main_Config gUART_0Config = { + .mode = DL_UART_MAIN_MODE_NORMAL, + .direction = DL_UART_MAIN_DIRECTION_TX_RX, + .flowControl = DL_UART_MAIN_FLOW_CONTROL_NONE, + .parity = DL_UART_MAIN_PARITY_NONE, + .wordLength = DL_UART_MAIN_WORD_LENGTH_8_BITS, + .stopBits = DL_UART_MAIN_STOP_BITS_ONE +}; + +SYSCONFIG_WEAK void SYSCFG_DL_UART_0_init(void) +{ + DL_UART_Main_setClockConfig(UART_0_INST, (DL_UART_Main_ClockConfig *) &gUART_0ClockConfig); + + DL_UART_Main_init(UART_0_INST, (DL_UART_Main_Config *) &gUART_0Config); + /* + * Configure baud rate by setting oversampling and baud rate divisors. + * Target baud rate: 115200 + * Actual baud rate: 115190.78 + */ + DL_UART_Main_setOversampling(UART_0_INST, DL_UART_OVERSAMPLING_RATE_16X); + DL_UART_Main_setBaudRateDivisor(UART_0_INST, UART_0_IBRD_40_MHZ_115200_BAUD, UART_0_FBRD_40_MHZ_115200_BAUD); + + + /* Configure DMA Transmit Event */ + DL_UART_Main_enableDMATransmitEvent(UART_0_INST); + /* Configure FIFOs */ + DL_UART_Main_enableFIFOs(UART_0_INST); + DL_UART_Main_setRXFIFOThreshold(UART_0_INST, DL_UART_RX_FIFO_LEVEL_ONE_ENTRY); + DL_UART_Main_setTXFIFOThreshold(UART_0_INST, DL_UART_TX_FIFO_LEVEL_ONE_ENTRY); + + DL_UART_Main_enable(UART_0_INST); +} +static const DL_UART_Main_ClockConfig gUART_1ClockConfig = { + .clockSel = DL_UART_MAIN_CLOCK_BUSCLK, + .divideRatio = DL_UART_MAIN_CLOCK_DIVIDE_RATIO_1 +}; + +static const DL_UART_Main_Config gUART_1Config = { + .mode = DL_UART_MAIN_MODE_NORMAL, + .direction = DL_UART_MAIN_DIRECTION_TX_RX, + .flowControl = DL_UART_MAIN_FLOW_CONTROL_NONE, + .parity = DL_UART_MAIN_PARITY_NONE, + .wordLength = DL_UART_MAIN_WORD_LENGTH_8_BITS, + .stopBits = DL_UART_MAIN_STOP_BITS_ONE +}; + +SYSCONFIG_WEAK void SYSCFG_DL_UART_1_init(void) +{ + DL_UART_Main_setClockConfig(UART_1_INST, (DL_UART_Main_ClockConfig *) &gUART_1ClockConfig); + + DL_UART_Main_init(UART_1_INST, (DL_UART_Main_Config *) &gUART_1Config); + /* + * Configure baud rate by setting oversampling and baud rate divisors. + * Target baud rate: 115200 + * Actual baud rate: 115190.78 + */ + DL_UART_Main_setOversampling(UART_1_INST, DL_UART_OVERSAMPLING_RATE_16X); + DL_UART_Main_setBaudRateDivisor(UART_1_INST, UART_1_IBRD_40_MHZ_115200_BAUD, UART_1_FBRD_40_MHZ_115200_BAUD); + + + /* Configure DMA Transmit Event */ + DL_UART_Main_enableDMATransmitEvent(UART_1_INST); + /* Configure FIFOs */ + DL_UART_Main_enableFIFOs(UART_1_INST); + DL_UART_Main_setRXFIFOThreshold(UART_1_INST, DL_UART_RX_FIFO_LEVEL_ONE_ENTRY); + DL_UART_Main_setTXFIFOThreshold(UART_1_INST, DL_UART_TX_FIFO_LEVEL_ONE_ENTRY); + + DL_UART_Main_enable(UART_1_INST); +} +static const DL_UART_Main_ClockConfig gUART_7ClockConfig = { + .clockSel = DL_UART_MAIN_CLOCK_BUSCLK, + .divideRatio = DL_UART_MAIN_CLOCK_DIVIDE_RATIO_1 +}; + +static const DL_UART_Main_Config gUART_7Config = { + .mode = DL_UART_MAIN_MODE_NORMAL, + .direction = DL_UART_MAIN_DIRECTION_TX_RX, + .flowControl = DL_UART_MAIN_FLOW_CONTROL_NONE, + .parity = DL_UART_MAIN_PARITY_NONE, + .wordLength = DL_UART_MAIN_WORD_LENGTH_8_BITS, + .stopBits = DL_UART_MAIN_STOP_BITS_ONE +}; + +SYSCONFIG_WEAK void SYSCFG_DL_UART_7_init(void) +{ + DL_UART_Main_setClockConfig(UART_7_INST, (DL_UART_Main_ClockConfig *) &gUART_7ClockConfig); + + DL_UART_Main_init(UART_7_INST, (DL_UART_Main_Config *) &gUART_7Config); + /* + * Configure baud rate by setting oversampling and baud rate divisors. + * Target baud rate: 115200 + * Actual baud rate: 115190.78 + */ + DL_UART_Main_setOversampling(UART_7_INST, DL_UART_OVERSAMPLING_RATE_16X); + DL_UART_Main_setBaudRateDivisor(UART_7_INST, UART_7_IBRD_40_MHZ_115200_BAUD, UART_7_FBRD_40_MHZ_115200_BAUD); + + + /* Configure DMA Transmit Event */ + DL_UART_Main_enableDMATransmitEvent(UART_7_INST); + /* Configure FIFOs */ + DL_UART_Main_enableFIFOs(UART_7_INST); + DL_UART_Main_setRXFIFOThreshold(UART_7_INST, DL_UART_RX_FIFO_LEVEL_ONE_ENTRY); + DL_UART_Main_setTXFIFOThreshold(UART_7_INST, DL_UART_TX_FIFO_LEVEL_ONE_ENTRY); + + DL_UART_Main_enable(UART_7_INST); +} + +static const DL_SPI_Config gSPI_1_config = { + .mode = DL_SPI_MODE_CONTROLLER, + .frameFormat = DL_SPI_FRAME_FORMAT_MOTO4_POL0_PHA0, + .parity = DL_SPI_PARITY_NONE, + .dataSize = DL_SPI_DATA_SIZE_8, + .bitOrder = DL_SPI_BIT_ORDER_MSB_FIRST, + .chipSelectPin = DL_SPI_CHIP_SELECT_0, +}; + +static const DL_SPI_ClockConfig gSPI_1_clockConfig = { + .clockSel = DL_SPI_CLOCK_BUSCLK, + .divideRatio = DL_SPI_CLOCK_DIVIDE_RATIO_1 +}; + +SYSCONFIG_WEAK void SYSCFG_DL_SPI_1_init(void) { + DL_SPI_setClockConfig(SPI_1_INST, (DL_SPI_ClockConfig *) &gSPI_1_clockConfig); + + DL_SPI_init(SPI_1_INST, (DL_SPI_Config *) &gSPI_1_config); + + /* Configure Controller mode */ + /* + * Set the bit rate clock divider to generate the serial output clock + * outputBitRate = (spiInputClock) / ((1 + SCR) * 2) + * 8000000 = (80000000)/((1 + 4) * 2) + */ + DL_SPI_setBitRateSerialClockDivider(SPI_1_INST, 4); + + /* Enable SPI TX interrupt as a trigger for DMA */ + DL_SPI_enableDMATransmitEvent(SPI_1_INST); + + /* Enable SPI RX interrupt as a trigger for DMA */ + DL_SPI_enableDMAReceiveEvent(SPI_1_INST, DL_SPI_DMA_INTERRUPT_RX); + /* Set RX and TX FIFO threshold levels */ + DL_SPI_setFIFOThreshold(SPI_1_INST, DL_SPI_RX_FIFO_LEVEL_ONE_FRAME, DL_SPI_TX_FIFO_LEVEL_ONE_FRAME); + DL_SPI_enableInterrupt(SPI_1_INST, (DL_SPI_INTERRUPT_DMA_DONE_RX | + DL_SPI_INTERRUPT_DMA_DONE_TX)); + + /* Enable module */ + DL_SPI_enable(SPI_1_INST); +} + +/* ADC12_0 Initialization */ +static const DL_ADC12_ClockConfig gADC12_0ClockConfig = { + .clockSel = DL_ADC12_CLOCK_SYSOSC, + .divideRatio = DL_ADC12_CLOCK_DIVIDE_1, + .freqRange = DL_ADC12_CLOCK_FREQ_RANGE_24_TO_32, +}; +SYSCONFIG_WEAK void SYSCFG_DL_ADC12_0_init(void) +{ + DL_ADC12_setClockConfig(ADC12_0_INST, (DL_ADC12_ClockConfig *) &gADC12_0ClockConfig); + DL_ADC12_configConversionMem(ADC12_0_INST, ADC12_0_ADCMEM_0, + DL_ADC12_INPUT_CHAN_3, DL_ADC12_REFERENCE_VOLTAGE_VDDA_VSSA, DL_ADC12_SAMPLE_TIMER_SOURCE_SCOMP0, DL_ADC12_AVERAGING_MODE_DISABLED, + DL_ADC12_BURN_OUT_SOURCE_DISABLED, DL_ADC12_TRIGGER_MODE_AUTO_NEXT, DL_ADC12_WINDOWS_COMP_MODE_DISABLED); + DL_ADC12_enableConversions(ADC12_0_INST); +} +/* ADC12_1 Initialization */ +static const DL_ADC12_ClockConfig gADC12_1ClockConfig = { + .clockSel = DL_ADC12_CLOCK_SYSOSC, + .divideRatio = DL_ADC12_CLOCK_DIVIDE_1, + .freqRange = DL_ADC12_CLOCK_FREQ_RANGE_24_TO_32, +}; +SYSCONFIG_WEAK void SYSCFG_DL_ADC12_1_init(void) +{ + DL_ADC12_setClockConfig(ADC12_1_INST, (DL_ADC12_ClockConfig *) &gADC12_1ClockConfig); + DL_ADC12_configConversionMem(ADC12_1_INST, ADC12_1_ADCMEM_0, + DL_ADC12_INPUT_CHAN_6, DL_ADC12_REFERENCE_VOLTAGE_VDDA_VSSA, DL_ADC12_SAMPLE_TIMER_SOURCE_SCOMP0, DL_ADC12_AVERAGING_MODE_DISABLED, + DL_ADC12_BURN_OUT_SOURCE_DISABLED, DL_ADC12_TRIGGER_MODE_AUTO_NEXT, DL_ADC12_WINDOWS_COMP_MODE_DISABLED); + DL_ADC12_enableConversions(ADC12_1_INST); +} + +static const DL_DMA_Config gDMA_CH_SPI1_RXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_INCREMENT, + .srcIncrement = DL_DMA_ADDR_UNCHANGED, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = SPI_1_INST_DMA_TRIGGER_0, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_SPI1_RX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_SPI1_RX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_SPI1_RXConfig); +} +static const DL_DMA_Config gDMA_CH_SPI1_TXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_UNCHANGED, + .srcIncrement = DL_DMA_ADDR_INCREMENT, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = SPI_1_INST_DMA_TRIGGER_1, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_SPI1_TX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_SPI1_TX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_SPI1_TXConfig); +} +static const DL_DMA_Config gDMA_CH_UART0_TXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_UNCHANGED, + .srcIncrement = DL_DMA_ADDR_INCREMENT, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = UART_0_INST_DMA_TRIGGER, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_UART0_TX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_UART0_TX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_UART0_TXConfig); +} +static const DL_DMA_Config gDMA_CH_UART1_TXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_UNCHANGED, + .srcIncrement = DL_DMA_ADDR_INCREMENT, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = UART_1_INST_DMA_TRIGGER, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_UART1_TX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_UART1_TX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_UART1_TXConfig); +} +static const DL_DMA_Config gDMA_CH_UART7_TXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_UNCHANGED, + .srcIncrement = DL_DMA_ADDR_INCREMENT, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = UART_7_INST_DMA_TRIGGER, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_UART7_TX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_UART7_TX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_UART7_TXConfig); +} +SYSCONFIG_WEAK void SYSCFG_DL_DMA_init(void){ + SYSCFG_DL_DMA_CH_SPI1_RX_init(); + SYSCFG_DL_DMA_CH_SPI1_TX_init(); + SYSCFG_DL_DMA_CH_UART0_TX_init(); + SYSCFG_DL_DMA_CH_UART1_TX_init(); + SYSCFG_DL_DMA_CH_UART7_TX_init(); +} + + +SYSCONFIG_WEAK void SYSCFG_DL_SYSTICK_init(void) +{ + /* + * Initializes the SysTick period to 1.00 ms, + * enables the interrupt, and starts the SysTick Timer + */ + DL_SYSTICK_config(80000); +} + +static const DL_DAC12_Config gDAC12Config = { + .outputEnable = DL_DAC12_OUTPUT_ENABLED, + .resolution = DL_DAC12_RESOLUTION_12BIT, + .representation = DL_DAC12_REPRESENTATION_BINARY, + .voltageReferenceSource = DL_DAC12_VREF_SOURCE_VDDA_VSSA, + .amplifierSetting = DL_DAC12_AMP_ON, + .fifoEnable = DL_DAC12_FIFO_DISABLED, + .fifoTriggerSource = DL_DAC12_FIFO_TRIGGER_SAMPLETIMER, + .dmaTriggerEnable = DL_DAC12_DMA_TRIGGER_DISABLED, + .dmaTriggerThreshold = DL_DAC12_FIFO_THRESHOLD_ONE_QTR_EMPTY, + .sampleTimeGeneratorEnable = DL_DAC12_SAMPLETIMER_DISABLE, + .sampleRate = DL_DAC12_SAMPLES_PER_SECOND_500, +}; +SYSCONFIG_WEAK void SYSCFG_DL_DAC12_init(void) +{ + DL_DAC12_init(DAC0, (DL_DAC12_Config *) &gDAC12Config); + DL_DAC12_enable(DAC0); +} + +static const DL_MCAN_ClockConfig gMCAN_0ClockConf = { + .clockSel = DL_MCAN_FCLK_SYSPLLCLK1, + .divider = DL_MCAN_FCLK_DIV_1, +}; + +static const DL_MCAN_InitParams gMCAN_0InitParams= { + +/* Initialize MCAN Init parameters. */ + .fdMode = true, + .brsEnable = true, + .txpEnable = false, + .efbi = false, + .pxhddisable = false, + .darEnable = false, + .wkupReqEnable = false, + .autoWkupEnable = false, + .emulationEnable = false, + .tdcEnable = false, + .wdcPreload = 255, + +/* Transmitter Delay Compensation parameters. */ + .tdcConfig.tdcf = 10, + .tdcConfig.tdco = 6, +}; + + +static const DL_MCAN_MsgRAMConfigParams gMCAN_0MsgRAMConfigParams ={ + + /* Standard ID Filter List Start Address. */ + .flssa = MCAN_0_INST_MCAN_STD_ID_FILT_START_ADDR, + /* List Size: Standard ID. */ + .lss = MCAN_0_INST_MCAN_STD_ID_FILTER_NUM, + /* Extended ID Filter List Start Address. */ + .flesa = MCAN_0_INST_MCAN_EXT_ID_FILT_START_ADDR, + /* List Size: Extended ID. */ + .lse = MCAN_0_INST_MCAN_EXT_ID_FILTER_NUM, + /* Tx Buffers Start Address. */ + .txStartAddr = MCAN_0_INST_MCAN_TX_BUFF_START_ADDR, + /* Number of Dedicated Transmit Buffers. */ + .txBufNum = MCAN_0_INST_MCAN_TX_BUFF_SIZE, + .txFIFOSize = 0, + /* Tx Buffer Element Size. */ + .txBufMode = 0, + .txBufElemSize = DL_MCAN_ELEM_SIZE_64BYTES, + /* Tx Event FIFO Start Address. */ + .txEventFIFOStartAddr = MCAN_0_INST_MCAN_TX_EVENT_START_ADDR, + /* Event FIFO Size. */ + .txEventFIFOSize = MCAN_0_INST_MCAN_TX_EVENT_SIZE, + /* Level for Tx Event FIFO watermark interrupt. */ + .txEventFIFOWaterMark = 3, + /* Rx FIFO0 Start Address. */ + .rxFIFO0startAddr = MCAN_0_INST_MCAN_FIFO_0_START_ADDR, + /* Number of Rx FIFO elements. */ + .rxFIFO0size = MCAN_0_INST_MCAN_FIFO_0_NUM, + /* Rx FIFO0 Watermark. */ + .rxFIFO0waterMark = 3, + .rxFIFO0OpMode = 0, + /* Rx FIFO1 Start Address. */ + .rxFIFO1startAddr = MCAN_0_INST_MCAN_FIFO_1_START_ADDR, + /* Number of Rx FIFO elements. */ + .rxFIFO1size = MCAN_0_INST_MCAN_FIFO_1_NUM, + /* Level for Rx FIFO 1 watermark interrupt. */ + .rxFIFO1waterMark = 3, + /* FIFO blocking mode. */ + .rxFIFO1OpMode = 0, + /* Rx Buffer Start Address. */ + .rxBufStartAddr = MCAN_0_INST_MCAN_RX_BUFF_START_ADDR, + /* Rx Buffer Element Size. */ + .rxBufElemSize = DL_MCAN_ELEM_SIZE_64BYTES, + /* Rx FIFO0 Element Size. */ + .rxFIFO0ElemSize = DL_MCAN_ELEM_SIZE_64BYTES, + /* Rx FIFO1 Element Size. */ + .rxFIFO1ElemSize = DL_MCAN_ELEM_SIZE_64BYTES, +}; + + + +static const DL_MCAN_BitTimingParams gMCAN_0BitTimes = { + /* Arbitration Baud Rate Pre-scaler. */ + .nomRatePrescalar = 3, + /* Arbitration Time segment before sample point. */ + .nomTimeSeg1 = 33, + /* Arbitration Time segment after sample point. */ + .nomTimeSeg2 = 4, + /* Arbitration (Re)Synchronization Jump Width Range. */ + .nomSynchJumpWidth = 4, + /* Data Baud Rate Pre-scaler. */ + .dataRatePrescalar = 3, + /* Data Time segment before sample point. */ + .dataTimeSeg1 = 16, + /* Data Time segment after sample point. */ + .dataTimeSeg2 = 1, + /* Data (Re)Synchronization Jump Width. */ + .dataSynchJumpWidth = 1, +}; + + +SYSCONFIG_WEAK void SYSCFG_DL_MCAN_0_init(void) { + DL_MCAN_RevisionId revid_MCAN_0; + + DL_MCAN_enableModuleClock(MCAN_0_INST); + + DL_MCAN_setClockConfig(MCAN_0_INST, (DL_MCAN_ClockConfig *) &gMCAN_0ClockConf); + + /* Get MCANSS Revision ID. */ + DL_MCAN_getRevisionId(MCAN_0_INST, &revid_MCAN_0); + + /* Wait for Memory initialization to be completed. */ + while(false == DL_MCAN_isMemInitDone(MCAN_0_INST)); + + /* Put MCAN in SW initialization mode. */ + + DL_MCAN_setOpMode(MCAN_0_INST, DL_MCAN_OPERATION_MODE_SW_INIT); + + /* Wait till MCAN is not initialized. */ + while (DL_MCAN_OPERATION_MODE_SW_INIT != DL_MCAN_getOpMode(MCAN_0_INST)); + + /* Initialize MCAN module. */ + DL_MCAN_init(MCAN_0_INST, (DL_MCAN_InitParams *) &gMCAN_0InitParams); + + + /* Configure Bit timings. */ + DL_MCAN_setBitTime(MCAN_0_INST, (DL_MCAN_BitTimingParams*) &gMCAN_0BitTimes); + + /* Configure Message RAM Sections */ + DL_MCAN_msgRAMConfig(MCAN_0_INST, (DL_MCAN_MsgRAMConfigParams*) &gMCAN_0MsgRAMConfigParams); + + + + /* Set Extended ID Mask. */ + DL_MCAN_setExtIDAndMask(MCAN_0_INST, MCAN_0_INST_MCAN_EXT_ID_AND_MASK ); + + /* Loopback mode */ + + /* Take MCAN out of the SW initialization mode */ + DL_MCAN_setOpMode(MCAN_0_INST, DL_MCAN_OPERATION_MODE_NORMAL); + + while (DL_MCAN_OPERATION_MODE_NORMAL != DL_MCAN_getOpMode(MCAN_0_INST)); + + +} + diff --git a/tests/data/mspm0/g3519_ti_msp_dl_config.h b/tests/data/mspm0/g3519_ti_msp_dl_config.h new file mode 100644 index 0000000..ec28223 --- /dev/null +++ b/tests/data/mspm0/g3519_ti_msp_dl_config.h @@ -0,0 +1,386 @@ +/* + * Copyright (c) 2023, Texas Instruments Incorporated - http://www.ti.com + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * ============ ti_msp_dl_config.h ============= + * Configured MSPM0 DriverLib module declarations + * + * DO NOT EDIT - This file is generated for the MSPM0G351X + * by the SysConfig tool. + */ +#ifndef ti_msp_dl_config_h +#define ti_msp_dl_config_h + +#define CONFIG_MSPM0G351X +#define CONFIG_MSPM0G3519 + +#if defined(__ti_version__) || defined(__TI_COMPILER_VERSION__) +#define SYSCONFIG_WEAK __attribute__((weak)) +#elif defined(__IAR_SYSTEMS_ICC__) +#define SYSCONFIG_WEAK __weak +#elif defined(__GNUC__) +#define SYSCONFIG_WEAK __attribute__((weak)) +#endif + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * ======== SYSCFG_DL_init ======== + * Perform all required MSP DL initialization + * + * This function should be called once at a point before any use of + * MSP DL. + */ + + +/* clang-format off */ + +#define POWER_STARTUP_DELAY (16) + + +#define GPIO_HFXT_PORT GPIOA +#define GPIO_HFXIN_PIN DL_GPIO_PIN_5 +#define GPIO_HFXIN_IOMUX (IOMUX_PINCM10) +#define GPIO_HFXOUT_PIN DL_GPIO_PIN_6 +#define GPIO_HFXOUT_IOMUX (IOMUX_PINCM11) +#define GPIO_LFXT_PORT GPIOA +#define GPIO_LFXIN_PIN DL_GPIO_PIN_3 +#define GPIO_LFXIN_IOMUX (IOMUX_PINCM8) +#define GPIO_LFXOUT_PIN DL_GPIO_PIN_4 +#define GPIO_LFXOUT_IOMUX (IOMUX_PINCM9) +#define CPUCLK_FREQ 80000000 +/* Defines for SYSPLL_ERR_01 Workaround */ +/* Represent 1.000 as 1000 */ +#define FLOAT_TO_INT_SCALE (1000U) +#define FCC_EXPECTED_RATIO 5000 +#define FCC_UPPER_BOUND (FCC_EXPECTED_RATIO * (1 + 0.003)) +#define FCC_LOWER_BOUND (FCC_EXPECTED_RATIO * (1 - 0.003)) + +bool SYSCFG_DL_SYSCTL_SYSPLL_init(void); + + +/* Defines for PWM_TIMA1 */ +#define PWM_TIMA1_INST TIMA1 +#define PWM_TIMA1_INST_IRQHandler TIMA1_IRQHandler +#define PWM_TIMA1_INST_INT_IRQN (TIMA1_INT_IRQn) +#define PWM_TIMA1_INST_CLK_FREQ 80000000 +/* GPIO defines for channel 0 */ +#define GPIO_PWM_TIMA1_C0_PORT GPIOA +#define GPIO_PWM_TIMA1_C0_PIN DL_GPIO_PIN_28 +#define GPIO_PWM_TIMA1_C0_IOMUX (IOMUX_PINCM3) +#define GPIO_PWM_TIMA1_C0_IOMUX_FUNC IOMUX_PINCM3_PF_TIMA1_CCP0 +#define GPIO_PWM_TIMA1_C0_IDX DL_TIMER_CC_0_INDEX +/* GPIO defines for channel 1 */ +#define GPIO_PWM_TIMA1_C1_PORT GPIOA +#define GPIO_PWM_TIMA1_C1_PIN DL_GPIO_PIN_31 +#define GPIO_PWM_TIMA1_C1_IOMUX (IOMUX_PINCM6) +#define GPIO_PWM_TIMA1_C1_IOMUX_FUNC IOMUX_PINCM6_PF_TIMA1_CCP1 +#define GPIO_PWM_TIMA1_C1_IDX DL_TIMER_CC_1_INDEX + + + + +/* Defines for QEI_TIMG8 */ +#define QEI_TIMG8_INST TIMG8 +#define QEI_TIMG8_INST_IRQHandler TIMG8_IRQHandler +#define QEI_TIMG8_INST_INT_IRQN (TIMG8_INT_IRQn) +/* Pin configuration defines for QEI_TIMG8 PHA Pin */ +#define GPIO_QEI_TIMG8_PHA_PORT GPIOA +#define GPIO_QEI_TIMG8_PHA_PIN DL_GPIO_PIN_26 +#define GPIO_QEI_TIMG8_PHA_IOMUX (IOMUX_PINCM59) +#define GPIO_QEI_TIMG8_PHA_IOMUX_FUNC IOMUX_PINCM59_PF_TIMG8_CCP0 +/* Pin configuration defines for QEI_TIMG8 PHB Pin */ +#define GPIO_QEI_TIMG8_PHB_PORT GPIOA +#define GPIO_QEI_TIMG8_PHB_PIN DL_GPIO_PIN_22 +#define GPIO_QEI_TIMG8_PHB_IOMUX (IOMUX_PINCM47) +#define GPIO_QEI_TIMG8_PHB_IOMUX_FUNC IOMUX_PINCM47_PF_TIMG8_CCP1 +/* Pin configuration defines for QEI_TIMG8 IDX Pin */ +#define GPIO_QEI_TIMG8_IDX_PORT GPIOB +#define GPIO_QEI_TIMG8_IDX_PIN DL_GPIO_PIN_14 +#define GPIO_QEI_TIMG8_IDX_IOMUX (IOMUX_PINCM31) +#define GPIO_QEI_TIMG8_IDX_IOMUX_FUNC IOMUX_PINCM31_PF_TIMG8_IDX + + + +/* Defines for I2C_0 */ +#define I2C_0_INST I2C0 +#define I2C_0_INST_IRQHandler I2C0_IRQHandler +#define I2C_0_INST_INT_IRQN I2C0_INT_IRQn +#define I2C_0_BUS_SPEED_HZ 100000 +#define GPIO_I2C_0_SDA_PORT GPIOA +#define GPIO_I2C_0_SDA_PIN DL_GPIO_PIN_0 +#define GPIO_I2C_0_IOMUX_SDA (IOMUX_PINCM1) +#define GPIO_I2C_0_IOMUX_SDA_FUNC IOMUX_PINCM1_PF_I2C0_SDA +#define GPIO_I2C_0_SCL_PORT GPIOA +#define GPIO_I2C_0_SCL_PIN DL_GPIO_PIN_1 +#define GPIO_I2C_0_IOMUX_SCL (IOMUX_PINCM2) +#define GPIO_I2C_0_IOMUX_SCL_FUNC IOMUX_PINCM2_PF_I2C0_SCL + +/* Defines for I2C_1 */ +#define I2C_1_INST I2C1 +#define I2C_1_INST_IRQHandler I2C1_IRQHandler +#define I2C_1_INST_INT_IRQN I2C1_INT_IRQn +#define I2C_1_BUS_SPEED_HZ 100000 +#define GPIO_I2C_1_SDA_PORT GPIOB +#define GPIO_I2C_1_SDA_PIN DL_GPIO_PIN_3 +#define GPIO_I2C_1_IOMUX_SDA (IOMUX_PINCM16) +#define GPIO_I2C_1_IOMUX_SDA_FUNC IOMUX_PINCM16_PF_I2C1_SDA +#define GPIO_I2C_1_SCL_PORT GPIOB +#define GPIO_I2C_1_SCL_PIN DL_GPIO_PIN_2 +#define GPIO_I2C_1_IOMUX_SCL (IOMUX_PINCM15) +#define GPIO_I2C_1_IOMUX_SCL_FUNC IOMUX_PINCM15_PF_I2C1_SCL + + +/* Defines for UART_0 */ +#define UART_0_INST UART0 +#define UART_0_INST_FREQUENCY 40000000 +#define UART_0_INST_IRQHandler UART0_IRQHandler +#define UART_0_INST_INT_IRQN UART0_INT_IRQn +#define GPIO_UART_0_RX_PORT GPIOA +#define GPIO_UART_0_TX_PORT GPIOA +#define GPIO_UART_0_RX_PIN DL_GPIO_PIN_11 +#define GPIO_UART_0_TX_PIN DL_GPIO_PIN_10 +#define GPIO_UART_0_IOMUX_RX (IOMUX_PINCM22) +#define GPIO_UART_0_IOMUX_TX (IOMUX_PINCM21) +#define GPIO_UART_0_IOMUX_RX_FUNC IOMUX_PINCM22_PF_UART0_RX +#define GPIO_UART_0_IOMUX_TX_FUNC IOMUX_PINCM21_PF_UART0_TX +#define UART_0_BAUD_RATE (115200) +#define UART_0_IBRD_40_MHZ_115200_BAUD (21) +#define UART_0_FBRD_40_MHZ_115200_BAUD (45) +/* Defines for UART_1 */ +#define UART_1_INST UART1 +#define UART_1_INST_FREQUENCY 40000000 +#define UART_1_INST_IRQHandler UART1_IRQHandler +#define UART_1_INST_INT_IRQN UART1_INT_IRQn +#define GPIO_UART_1_RX_PORT GPIOA +#define GPIO_UART_1_TX_PORT GPIOA +#define GPIO_UART_1_RX_PIN DL_GPIO_PIN_9 +#define GPIO_UART_1_TX_PIN DL_GPIO_PIN_8 +#define GPIO_UART_1_IOMUX_RX (IOMUX_PINCM20) +#define GPIO_UART_1_IOMUX_TX (IOMUX_PINCM19) +#define GPIO_UART_1_IOMUX_RX_FUNC IOMUX_PINCM20_PF_UART1_RX +#define GPIO_UART_1_IOMUX_TX_FUNC IOMUX_PINCM19_PF_UART1_TX +#define UART_1_BAUD_RATE (115200) +#define UART_1_IBRD_40_MHZ_115200_BAUD (21) +#define UART_1_FBRD_40_MHZ_115200_BAUD (45) +/* Defines for UART_7 */ +#define UART_7_INST UART7 +#define UART_7_INST_FREQUENCY 40000000 +#define UART_7_INST_IRQHandler UART7_IRQHandler +#define UART_7_INST_INT_IRQN UART7_INT_IRQn +#define GPIO_UART_7_RX_PORT GPIOB +#define GPIO_UART_7_TX_PORT GPIOB +#define GPIO_UART_7_RX_PIN DL_GPIO_PIN_18 +#define GPIO_UART_7_TX_PIN DL_GPIO_PIN_17 +#define GPIO_UART_7_IOMUX_RX (IOMUX_PINCM44) +#define GPIO_UART_7_IOMUX_TX (IOMUX_PINCM43) +#define GPIO_UART_7_IOMUX_RX_FUNC IOMUX_PINCM44_PF_UART7_RX +#define GPIO_UART_7_IOMUX_TX_FUNC IOMUX_PINCM43_PF_UART7_TX +#define UART_7_BAUD_RATE (115200) +#define UART_7_IBRD_40_MHZ_115200_BAUD (21) +#define UART_7_FBRD_40_MHZ_115200_BAUD (45) + + + + +/* Defines for SPI_1 */ +#define SPI_1_INST SPI1 +#define SPI_1_INST_IRQHandler SPI1_IRQHandler +#define SPI_1_INST_INT_IRQN SPI1_INT_IRQn +#define GPIO_SPI_1_PICO_PORT GPIOB +#define GPIO_SPI_1_PICO_PIN DL_GPIO_PIN_15 +#define GPIO_SPI_1_IOMUX_PICO (IOMUX_PINCM32) +#define GPIO_SPI_1_IOMUX_PICO_FUNC IOMUX_PINCM32_PF_SPI1_PICO +#define GPIO_SPI_1_POCI_PORT GPIOB +#define GPIO_SPI_1_POCI_PIN DL_GPIO_PIN_7 +#define GPIO_SPI_1_IOMUX_POCI (IOMUX_PINCM24) +#define GPIO_SPI_1_IOMUX_POCI_FUNC IOMUX_PINCM24_PF_SPI1_POCI +/* GPIO configuration for SPI_1 */ +#define GPIO_SPI_1_SCLK_PORT GPIOB +#define GPIO_SPI_1_SCLK_PIN DL_GPIO_PIN_9 +#define GPIO_SPI_1_IOMUX_SCLK (IOMUX_PINCM26) +#define GPIO_SPI_1_IOMUX_SCLK_FUNC IOMUX_PINCM26_PF_SPI1_SCLK +#define GPIO_SPI_1_CS0_PORT GPIOB +#define GPIO_SPI_1_CS0_PIN DL_GPIO_PIN_6 +#define GPIO_SPI_1_IOMUX_CS0 (IOMUX_PINCM23) +#define GPIO_SPI_1_IOMUX_CS0_FUNC IOMUX_PINCM23_PF_SPI1_CS0 + + + +/* Defines for ADC12_0 */ +#define ADC12_0_INST ADC0 +#define ADC12_0_INST_IRQHandler ADC0_IRQHandler +#define ADC12_0_INST_INT_IRQN (ADC0_INT_IRQn) +#define ADC12_0_ADCMEM_0 DL_ADC12_MEM_IDX_0 +#define ADC12_0_ADCMEM_0_REF DL_ADC12_REFERENCE_VOLTAGE_VDDA_VSSA +#define GPIO_ADC12_0_C3_PORT GPIOA +#define GPIO_ADC12_0_C3_PIN DL_GPIO_PIN_24 +#define GPIO_ADC12_0_IOMUX_C3 (IOMUX_PINCM54) +#define GPIO_ADC12_0_IOMUX_C3_FUNC (IOMUX_PINCM54_PF_UNCONNECTED) + +/* Defines for ADC12_1 */ +#define ADC12_1_INST ADC1 +#define ADC12_1_INST_IRQHandler ADC1_IRQHandler +#define ADC12_1_INST_INT_IRQN (ADC1_INT_IRQn) +#define ADC12_1_ADCMEM_0 DL_ADC12_MEM_IDX_0 +#define ADC12_1_ADCMEM_0_REF DL_ADC12_REFERENCE_VOLTAGE_VDDA_VSSA +#define GPIO_ADC12_1_C6_PORT GPIOB +#define GPIO_ADC12_1_C6_PIN DL_GPIO_PIN_19 +#define GPIO_ADC12_1_IOMUX_C6 (IOMUX_PINCM45) +#define GPIO_ADC12_1_IOMUX_C6_FUNC (IOMUX_PINCM45_PF_UNCONNECTED) + + + +/* Defines for DMA_CH_SPI1_RX */ +#define DMA_CH_SPI1_RX_CHAN_ID (6) +#define SPI_1_INST_DMA_TRIGGER_0 (DMA_SPI1_RX_TRIG) +/* Defines for DMA_CH_SPI1_TX */ +#define DMA_CH_SPI1_TX_CHAN_ID (2) +#define SPI_1_INST_DMA_TRIGGER_1 (DMA_SPI1_TX_TRIG) +/* Defines for DMA_CH_UART0_TX */ +#define DMA_CH_UART0_TX_CHAN_ID (3) +#define UART_0_INST_DMA_TRIGGER (DMA_UART0_TX_TRIG) +/* Defines for DMA_CH_UART1_TX */ +#define DMA_CH_UART1_TX_CHAN_ID (4) +#define UART_1_INST_DMA_TRIGGER (DMA_UART1_TX_TRIG) +/* Defines for DMA_CH_UART7_TX */ +#define DMA_CH_UART7_TX_CHAN_ID (7) +#define UART_7_INST_DMA_TRIGGER (DMA_UART7_TX_TRIG) + + +/* Port definition for Pin Group GPIO_LEDS */ +#define GPIO_LEDS_PORT (GPIOA) + +/* Defines for PIN_LED1: GPIOA.25 with pinCMx 55 on package pin 45 */ +#define GPIO_LEDS_PIN_LED1_PIN (DL_GPIO_PIN_25) +#define GPIO_LEDS_PIN_LED1_IOMUX (IOMUX_PINCM55) +/* Defines for PIN_LED2: GPIOA.16 with pinCMx 38 on package pin 31 */ +#define GPIO_LEDS_PIN_LED2_PIN (DL_GPIO_PIN_16) +#define GPIO_LEDS_PIN_LED2_IOMUX (IOMUX_PINCM38) +/* Port definition for Pin Group GPIO_KEYS */ +#define GPIO_KEYS_PORT (GPIOB) + +/* Defines for PIN_KEY1: GPIOB.24 with pinCMx 52 on package pin 42 */ +// pins affected by this interrupt request:["PIN_KEY1","PIN_KEY2"] +#define GPIO_KEYS_INT_IRQN (GPIOB_INT_IRQn) +#define GPIO_KEYS_INT_IIDX (DL_INTERRUPT_GROUP1_IIDX_GPIOB) +#define GPIO_KEYS_PIN_KEY1_IIDX (DL_GPIO_IIDX_DIO24) +#define GPIO_KEYS_PIN_KEY1_PIN (DL_GPIO_PIN_24) +#define GPIO_KEYS_PIN_KEY1_IOMUX (IOMUX_PINCM52) +/* Defines for PIN_KEY2: GPIOB.20 with pinCMx 48 on package pin 41 */ +#define GPIO_KEYS_PIN_KEY2_IIDX (DL_GPIO_IIDX_DIO20) +#define GPIO_KEYS_PIN_KEY2_PIN (DL_GPIO_PIN_20) +#define GPIO_KEYS_PIN_KEY2_IOMUX (IOMUX_PINCM48) + + + + + +/* Defines for DAC12 */ +#define DAC12_IRQHandler DAC0_IRQHandler +#define DAC12_INT_IRQN (DAC0_INT_IRQn) +#define GPIO_DAC12_OUT_PORT GPIOA +#define GPIO_DAC12_OUT_PIN DL_GPIO_PIN_15 +#define GPIO_DAC12_IOMUX_OUT (IOMUX_PINCM37) +#define GPIO_DAC12_IOMUX_OUT_FUNC IOMUX_PINCM37_PF_UNCONNECTED + + +/* Defines for MCAN_0 */ +#define MCAN_0_INST CANFD0 +#define GPIO_MCAN_0_CAN_TX_PORT GPIOA +#define GPIO_MCAN_0_CAN_TX_PIN DL_GPIO_PIN_12 +#define GPIO_MCAN_0_IOMUX_CAN_TX (IOMUX_PINCM34) +#define GPIO_MCAN_0_IOMUX_CAN_TX_FUNC IOMUX_PINCM34_PF_CANFD0_CANTX +#define GPIO_MCAN_0_CAN_RX_PORT GPIOA +#define GPIO_MCAN_0_CAN_RX_PIN DL_GPIO_PIN_13 +#define GPIO_MCAN_0_IOMUX_CAN_RX (IOMUX_PINCM35) +#define GPIO_MCAN_0_IOMUX_CAN_RX_FUNC IOMUX_PINCM35_PF_CANFD0_CANRX + + +/* Defines for MCAN_0 MCAN RAM configuration */ +#define MCAN_0_INST_MCAN_STD_ID_FILT_START_ADDR (0) +#define MCAN_0_INST_MCAN_STD_ID_FILTER_NUM (1) +#define MCAN_0_INST_MCAN_EXT_ID_FILT_START_ADDR (48) +#define MCAN_0_INST_MCAN_EXT_ID_FILTER_NUM (1) +#define MCAN_0_INST_MCAN_TX_BUFF_START_ADDR (148) +#define MCAN_0_INST_MCAN_TX_BUFF_SIZE (2) +#define MCAN_0_INST_MCAN_FIFO_1_START_ADDR (192) +#define MCAN_0_INST_MCAN_FIFO_1_NUM (2) +#define MCAN_0_INST_MCAN_TX_EVENT_START_ADDR (164) +#define MCAN_0_INST_MCAN_TX_EVENT_SIZE (2) +#define MCAN_0_INST_MCAN_EXT_ID_AND_MASK (0x1FFFFFFFU) +#define MCAN_0_INST_MCAN_RX_BUFF_START_ADDR (208) +#define MCAN_0_INST_MCAN_FIFO_0_START_ADDR (172) +#define MCAN_0_INST_MCAN_FIFO_0_NUM (3) + + + + + +/* clang-format on */ + +void SYSCFG_DL_init(void); +void SYSCFG_DL_initPower(void); +void SYSCFG_DL_GPIO_init(void); +void SYSCFG_DL_SYSCTL_init(void); + +bool SYSCFG_DL_SYSCTL_SYSPLL_init(void); +void SYSCFG_DL_PWM_TIMA1_init(void); +void SYSCFG_DL_QEI_TIMG8_init(void); +void SYSCFG_DL_I2C_0_init(void); +void SYSCFG_DL_I2C_1_init(void); +void SYSCFG_DL_UART_0_init(void); +void SYSCFG_DL_UART_1_init(void); +void SYSCFG_DL_UART_7_init(void); +void SYSCFG_DL_SPI_1_init(void); +void SYSCFG_DL_ADC12_0_init(void); +void SYSCFG_DL_ADC12_1_init(void); +void SYSCFG_DL_DMA_init(void); + +void SYSCFG_DL_SYSTICK_init(void); +void SYSCFG_DL_DAC12_init(void); +void SYSCFG_DL_MCAN_0_init(void); + +bool SYSCFG_DL_saveConfiguration(void); +bool SYSCFG_DL_restoreConfiguration(void); + +#ifdef __cplusplus +} +#endif + +#endif /* ti_msp_dl_config_h */ diff --git a/tests/test_cli.py b/tests/test_cli.py index 146617b..26c070f 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -42,7 +42,8 @@ def test_an_unrecognized_project_is_an_error(self): logs.output, [ f"ERROR:root:{self.root}: no supported platform recognized " - "(stm32: a directory with an STM32CubeMX .ioc file)" + "(stm32: a directory with an STM32CubeMX .ioc file; mspm0: a directory with " + "a SysConfig .syscfg file in its root)" ], ) @@ -95,7 +96,8 @@ def test_without_a_recorded_platform_gen_reads_the_project_directory(self): logs.output, [ "ERROR:root:.: no supported platform recognized " - "(stm32: a directory with an STM32CubeMX .ioc file)" + "(stm32: a directory with an STM32CubeMX .ioc file; mspm0: a directory with " + "a SysConfig .syscfg file in its root)" ], ) self.assertFalse(output.exists()) @@ -111,7 +113,8 @@ def test_an_unsupported_recorded_platform_is_an_error(self): logs.output, [ f"ERROR:root:{config}: platform 'zephyr' is not supported " - "(stm32: a directory with an STM32CubeMX .ioc file)" + "(stm32: a directory with an STM32CubeMX .ioc file; mspm0: a directory with " + "a SysConfig .syscfg file in its root)" ], ) diff --git a/tests/test_generator_code_mspm0.py b/tests/test_generator_code_mspm0.py new file mode 100644 index 0000000..371fa3e --- /dev/null +++ b/tests/test_generator_code_mspm0.py @@ -0,0 +1,218 @@ +"""MSPM0 的解析与生成(libxr.peripheral_analyzer_mspm0、libxr.generator_code_mspm0):工程 +YAML 的内容、生成的 app_main 源文件,以及重新生成时保留的用户代码。 +Parsing and generating an MSPM0 project (libxr.peripheral_analyzer_mspm0, +libxr.generator_code_mspm0): the project YAML, the generated app_main source, and the user +code kept on regeneration. + +测试固件是两个 BSP 的真实工程文件:.syscfg 加上 SysConfig 生成的 ti_msp_dl_config.h/.c(CI 里 +没有 SysConfig,输出随工程一起提交)。测试把固件复制进临时工程,使生成输出的修改时间比 .syscfg +新,解析直接复用它。 +The fixtures are the real project files of the two BSPs: the .syscfg plus the +ti_msp_dl_config.h/.c that SysConfig generated (CI has no SysConfig, so the output is committed +with the project). A test copies the fixtures into a temporary project, so the generated output +is newer than the .syscfg and parsing reuses it. +""" + +import os +import shutil +import tempfile +from pathlib import Path + +import yaml +from fixtures import DATA, TestCase + +from libxr import generator_code_mspm0 as generator +from libxr.peripheral_analyzer_mspm0 import parse_project + +# 与 CI 无关的本地 SysConfig 环境;设置了就顺便测试运行 SysConfig 的路径,否则只测复用路径。 +# A local SysConfig environment, independent of CI; when set, the run-SysConfig path is +# exercised as well, otherwise only the reuse path. +SYSCONFIG_ENV = { + name: os.environ.get(name, "") for name in ("SYSCONFIG_TOOL", "MSPM0_SDK_INSTALL_DIR") +} + + +def bsp(name: str) -> str: + """g3507 这样的短名对应的固件 .syscfg 文件名。 + The fixture .syscfg file name of a short name such as g3507. + """ + return { + "g3507": "mspm0g3507_minidb48.syscfg", + "g3519": "mspm0g3519_minidb48.syscfg", + }[name] + + +def project_of(name: str) -> Path: + """把 name 的固件复制进一个临时工程:根目录的 .syscfg 加上 build/test/syscfg 里的 SysConfig + 输出(修改时间更新);返回工程目录。测试结束时删除。 + Copy the fixtures of name into a temporary project: the .syscfg in the root plus the + SysConfig output in build/test/syscfg (with a newer modification time); the project + directory is returned and removed at the end of the test. + """ + root = Path(tempfile.mkdtemp(prefix="libxr-mspm0-")) + shutil.copy(DATA / "mspm0" / f"{name}.syscfg", root / bsp(name)) + output = root / "build" / "test" / "syscfg" + output.mkdir(parents=True) + for suffix in ("ti_msp_dl_config.h", "ti_msp_dl_config.c"): + target = output / suffix + shutil.copy(DATA / "mspm0" / f"{name}_{suffix}", target) + # 复制保留了源文件的旧修改时间;更新它,使解析认定输出比 .syscfg 新。 + # The copy keeps the old mtime of the source; touch it so parsing takes the output as + # newer than the .syscfg. + os.utime(target) + return root + + +class Parsing(TestCase): + """libxr parse:工程 YAML 由 .syscfg 和 SysConfig 输出组成。 + libxr parse: the project YAML comes from the .syscfg and the SysConfig output. + """ + + def parse(self, name: str) -> dict: + """解析 name 的临时工程,返回写出的工程 YAML。 + Parse the temporary project of name and return the project YAML it wrote. + """ + root = project_of(name) + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + parse_project(str(root), summary=False) + return yaml.safe_load((root / ".config.yaml").read_text(encoding="utf-8")) + + def test_the_platform_the_device_and_the_clocks_come_from_the_project(self): + data = self.parse("g3507") + self.assertEqual(data["Platform"], "mspm0") + self.assertEqual(data["Syscfg"], "mspm0g3507_minidb48.syscfg") + self.assertEqual(data["Mcu"], {"Family": "MSPM0", "Type": "MSPM0G3507"}) + self.assertEqual(data["CPUCLK"], 80000000) + self.assertEqual(data["ULPCLKDivider"], 2) + + def test_gpio_pins_carry_the_macros_the_output_actually_emits(self): + gpio = self.parse("g3507")["GPIO"] + self.assertEqual( + gpio["LED1"], + { + "Group": "GPIO_LEDS", + "Pin": "PB8", + "Port": "GPIO_LEDS_PIN_LED1_PORT", + "PinMacro": "GPIO_LEDS_PIN_LED1_PIN", + "IOMUX": "GPIO_LEDS_PIN_LED1_IOMUX", + "Direction": "OUTPUT", + "Resistor": "NONE", + }, + ) + self.assertEqual(gpio["KEY1"]["Port"], "GPIO_KEYS_PORT") + self.assertEqual(gpio["KEY1"]["Direction"], "INPUT") + self.assertEqual(gpio["KEY1"]["Interrupt"], "FALL") + + def test_peripherals_carry_the_dma_channels_the_power_domain_and_the_pwm_channels(self): + peripherals = self.parse("g3507")["Peripherals"] + self.assertEqual( + peripherals["UART"]["UART_0"], + { + "Peripheral": "UART0", + "DMA_TX": "DMA_CH_UART0_TX", + "Pins": {"rxPin": "PA11", "txPin": "PA10"}, + "PowerDomain": 0, + }, + ) + self.assertEqual(peripherals["SPI"]["SPI_1"]["PowerDomain"], 1) + self.assertEqual(peripherals["SPI"]["SPI_1"]["DMA_RX"], "DMA_CH_SPI1_RX") + self.assertEqual(peripherals["PWM"]["PWM_TIMA1"]["Channels"], [0, 1]) + self.assertNotIn("GPIO", peripherals) + + def test_ignored_peripherals_are_kept_for_display(self): + peripherals = self.parse("g3507")["Peripherals"] + self.assertEqual(peripherals["Other"]["MCAN_0"], {"Module": "MCAN", "Peripheral": "CANFD0"}) + + def test_the_second_uart_of_the_other_board_is_parsed_as_well(self): + peripherals = self.parse("g3519")["Peripherals"] + self.assertEqual(peripherals["UART"]["UART_7"]["DMA_TX"], "DMA_CH_UART7_TX") + self.assertEqual(peripherals["UART"]["UART_7"]["PowerDomain"], 0) + + +class Generation(TestCase): + """libxr gen:生成的 app_main 源文件与设置,以及重新生成时保留的用户代码。 + libxr gen: the generated app_main source and settings, and the user code kept on + regeneration. + """ + + def setUp(self): + super().setUp() + generator.initialize_registry() + generator.reset_settings() + + def generate(self, name: str, use_xrobot: bool = True) -> tuple[Path, str]: + """解析 name 的临时工程并生成 app_main 源文件;工程里的 User/app_main.cpp 先放上审查过 + 的输出(重新生成的起点)。返回工程目录和重新生成的文本。 + Parse the temporary project of name and generate the app_main source; the reviewed + output is placed at User/app_main.cpp first, as the starting point of the + regeneration. The project directory and the regenerated text are returned. + """ + root = project_of(name) + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + parse_project(str(root), summary=False) + output = root / "User" / "app_main.cpp" + output.parent.mkdir() + reviewed = DATA / "mspm0" / f"{name}_expected_app_main.cpp" + if use_xrobot: + shutil.copy(reviewed, output) + generator.generate(str(root / ".config.yaml"), str(output), use_xrobot, "") + return root, output.read_text(encoding="utf-8") + + def test_the_generated_source_matches_the_reviewed_output(self): + for name in ("g3507", "g3519"): + with self.subTest(name=name): + _root, code = self.generate(name) + expected = (DATA / "mspm0" / f"{name}_expected_app_main.cpp").read_text( + encoding="utf-8" + ) + self.assertEqual(code, expected) + + def test_the_written_settings_hold_the_defaults_the_generated_code_uses(self): + root, code = self.generate("g3507") + settings = yaml.safe_load((root / "User" / "libxr_config.yaml").read_text(encoding="utf-8")) + self.assertEqual(settings["terminal_source"], "uart0") + self.assertEqual(settings["UART"]["uart0"]["tx_buffer_size"], 128) + self.assertEqual(settings["I2C"]["i2c0"]["dma_enable_min_size"], 8) + self.assertEqual(settings["SPI"]["spi1"]["tx_buffer_size"], 32) + self.assertIn("frequency", settings["PWM"]["pwm_tima1_c0"]) + self.assertNotIn("USART", settings) + self.assertNotIn("SYSTEM", settings) + # 缓冲区按设置写出,重新生成只写有变化的文件之外,文本保持不变。 + # The buffers follow the settings; regenerating the same project writes the same text. + self.assertIn("static uint8_t uart0_tx_buf[2 * 128];", code) + + def test_a_configured_frequency_and_changed_sizes_are_applied(self): + root, _code = self.generate("g3507") + config = root / "User" / "libxr_config.yaml" + settings = yaml.safe_load(config.read_text(encoding="utf-8")) + settings["PWM"]["pwm_tima1_c0"]["frequency"] = 1000 + settings["UART"]["uart1"]["tx_buffer_size"] = 64 + config.write_text(yaml.dump(settings), encoding="utf-8") + generator.generate( + str(root / ".config.yaml"), str(root / "User" / "app_main.cpp"), True, "" + ) + code = (root / "User" / "app_main.cpp").read_text(encoding="utf-8") + self.assertIn("pwm_tima1_c0.SetConfig({1000});", code) + self.assertIn("static uint8_t uart1_tx_buf[2 * 64];", code) + + def test_the_user_code_of_an_existing_file_is_kept(self): + root, _code = self.generate("g3507") + output = root / "User" / "app_main.cpp" + code = output.read_text(encoding="utf-8") + code = code.replace( + "/* User Code Begin 1 */", + "/* User Code Begin 1 */\n// A user note that must survive regeneration.", + ) + output.write_text(code, encoding="utf-8") + generator.generate(str(root / ".config.yaml"), str(output), True, "") + self.assertIn( + "// A user note that must survive regeneration.", + output.read_text(encoding="utf-8"), + ) + + def test_without_xrobot_the_entry_sleeps_and_registers_nothing(self): + _root, code = self.generate("g3507", use_xrobot=False) + self.assertNotIn("XR_REGISTER", code) + self.assertNotIn("xrobot_main.hpp", code) + self.assertIn("Thread::Sleep(UINT32_MAX);", code) + self.assertNotIn("XROBOT_MAIN();", code) From ca2f7914fbefe975229f040742389ab839109b6c Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 00:17:36 +0100 Subject: [PATCH 13/34] Optional interface name per CDC An item of USB..cdc may set interface; it becomes the control and data interface names of the CDCUart, so a host can tell CDCs with the same VID:PID apart. Items without it generate the same code as before. --- README.md | 16 +++++++++++++ src/libxr/generator_code_stm32.py | 32 +++++++++++++++++++------- tests/test_generator_code_stm32.py | 36 ++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 4cb8180..e90ee0b 100644 --- a/README.md +++ b/README.md @@ -408,6 +408,22 @@ USB: - {tx_fifo_size: 128, rx_fifo_size: 128, queue_size: 3} ``` +每一项可以加上 `interface`,作为这路 CDC 控制接口和数据接口的名字。几路 CDC 的 VID:PID 相同,主机按接口名 +区分它们;没有 `interface` 的一路使用 LibXR 的默认名 `XRUSB CDC Control` 和 `XRUSB CDC Data`: + +Each item can add `interface`, the name of the control and data interfaces of that CDC. The CDCs +share VID:PID, and the host tells them apart by the interface name; a CDC without `interface` +keeps the LibXR default names `XRUSB CDC Control` and `XRUSB CDC Data`: + +```yaml +USB: + usb_otg_hs: + enable: true + cdc: + - {tx_fifo_size: 128, rx_fifo_size: 128, queue_size: 3, interface: Console} + - {tx_fifo_size: 128, rx_fifo_size: 128, queue_size: 3, interface: Telemetry} +``` + `database.enable` 为 true 时,`app_main()` 生成 `STM32Flash flash(FLASH_REGIONS, FLASH_REGION_NUMBER)` 和 `DatabaseRaw database(flash)`,数据库以 `database` 注册;`FLASH_REGIONS` 来自 `User/flash_map.hpp`,数据库使用 Flash 末尾的两个扇区。模板参数 `N` 是 Flash 的最小写入单元,单位为 diff --git a/src/libxr/generator_code_stm32.py b/src/libxr/generator_code_stm32.py index 81b0b97..5a8da37 100644 --- a/src/libxr/generator_code_stm32.py +++ b/src/libxr/generator_code_stm32.py @@ -1102,7 +1102,8 @@ def _usb_settings(instance: str) -> tuple[str, dict] | None: enable 的默认值由 _default_usb_enables() 先行写入,仍然缺少时为 false;未启用的实例不再补其他 设置。已启用的实例按固定顺序补上缺少的设置:包大小、缓冲区和 FIFO 大小、dma_section、cdc 列表 - (每路 CDC 一项,含 tx_fifo_size、rx_fifo_size 和 queue_size,默认一路),以及描述符(默认 + (每路 CDC 一项,含 tx_fifo_size、rx_fifo_size、queue_size 和可选的 interface,默认一路), + 以及描述符(默认 1d50:6199 / 0x0100 / "XRUSB-DEMO-",1d50:6199 的分配记录见 https://github.com/openmoko/openmoko-usb-oui/commit/27f3846d77e0d0d10271b809b831f70040c6197a)。 旧版的 cdc_tx_fifo_size、cdc_rx_fifo_size 和 cdc_queue_size 转换为 cdc 的一项,并在原来的位置 @@ -1111,7 +1112,8 @@ def _usb_settings(instance: str) -> tuple[str, dict] | None: _default_usb_enables() writes the default enable first; when it is still missing it is false, and a disabled instance gets no other setting. An enabled instance gets its missing settings in a fixed order: packet size, buffer and FIFO sizes, dma_section, the cdc list (one - item per CDC with tx_fifo_size, rx_fifo_size and queue_size, one CDC by default), and the + item per CDC with tx_fifo_size, rx_fifo_size, queue_size and an optional interface, one CDC + by default), and the descriptor (default 1d50:6199 / 0x0100 / "XRUSB-DEMO-"; see the link above for the allocation of 1d50:6199). The earlier cdc_tx_fifo_size, cdc_rx_fifo_size and cdc_queue_size become one item of cdc, written back where they were. An ep0_packet_size @@ -1258,6 +1260,9 @@ def _check_cdc(prefix: str, cfg: dict, is_otg: bool) -> None: Check the cdc list and give each item its defaults: a non-empty list whose items are mappings with positive integer values. + 可选的 interface 是字符串,不补默认值。 + The optional interface is a string and gets no default. + CDC 的路数不得超过端点号 EP1 到 EP15 能容纳的路数;OTG 设备的接收 FIFO 为 EP0 和每路 CDC 的 OUT 端点各留 64 字节。 The number of CDCs may not exceed what the endpoint numbers EP1 to EP15 hold; the receive @@ -1280,6 +1285,8 @@ def _check_cdc(prefix: str, cfg: dict, is_otg: bool) -> None: raise _invalid_setting(f"{key}[{index}]", item, "a mapping", "映射") for name, default in _CDC_DEFAULTS.items(): _integer(f"{key}[{index}].{name}", item.setdefault(name, default)) + if "interface" in item: + item["interface"] = _text(f"{key}[{index}].interface", item["interface"]) if len(cdc) > _MAX_CDC: raise LibXRConfigError( tr( @@ -1486,13 +1493,16 @@ def _usb_buffer_plan(is_otg: bool, cdc_count: int, ep0: int, tx: int, rx: int) - def _cdc_items(cfg: dict) -> list[dict]: - """USB 设备的 CDC 串口设置列表:每个 CDC 一个映射,含 tx_fifo_size、rx_fifo_size 和 - queue_size,均为整数。 - The list of CDC serial port settings of a USB device: one mapping per CDC with - tx_fifo_size, rx_fifo_size and queue_size, all integers. + """USB 设备的 CDC 串口设置列表:每个 CDC 一个映射,含整数 tx_fifo_size、rx_fifo_size 和 + queue_size,以及接口名 interface(未设置时为空字符串)。 + The list of CDC serial port settings of a USB device: one mapping per CDC with the integers + tx_fifo_size, rx_fifo_size and queue_size and the interface name interface (an empty string + when it is not set). """ return [ - {name: _integer(f"cdc.{name}", item[name]) for name in _CDC_DEFAULTS} for item in cfg["cdc"] + {name: _integer(f"cdc.{name}", item[name]) for name in _CDC_DEFAULTS} + | {"interface": _text("cdc.interface", item.get("interface"))} + for item in cfg["cdc"] ] @@ -2163,6 +2173,11 @@ def endpoint(number: int) -> str: cdc_names.append(cdc_name) data_in = 2 * index + 1 data_out = index + 1 if is_otg else data_in + # 设置了 interface 时它同时作为控制接口和数据接口的名字;主机按它区分 VID:PID 相同的 + # 各路 CDC。 + # A set interface names both the control and the data interface; the host tells the + # CDCs that share VID:PID apart by it. + interface = cdc["interface"].replace('"', '\\"') lines += layout( f"static USB::CDCUart {cdc_name}", [ @@ -2172,7 +2187,8 @@ def endpoint(number: int) -> str: str(cdc["rx_fifo_size"]), str(cdc["tx_fifo_size"]), str(cdc["queue_size"]), - ], + ] + + ([f'"{interface}"'] * 2 if interface else []), ) def buffer(suffix: str) -> "str | Braces": diff --git a/tests/test_generator_code_stm32.py b/tests/test_generator_code_stm32.py index 13e3c87..c2c04e0 100644 --- a/tests/test_generator_code_stm32.py +++ b/tests/test_generator_code_stm32.py @@ -476,6 +476,42 @@ def test_each_cdc_takes_its_own_queue_sizes(self): self.assertIn("USB::Endpoint::EPNumber::EP2, 64, 256, 2);", code) self.assertIn("USB::Endpoint::EPNumber::EP4, 128, 128, 7);", code) + def test_a_cdc_interface_names_its_control_and_data_interfaces(self): + # interface 接在队列容量之后,作为 CDCUart 的控制接口名和数据接口名;未设置的 CDC + # 使用 LibXR 的默认名,不写 interface 键。 + # interface follows the queue sizes as the control and data interface names of + # CDCUart; a CDC without it keeps the LibXR default names, and no interface key is + # written for it. + project = self.usb_otg_hs(cdc=[{"interface": 'Port "A"'}, {}]) + code = self.generate(project) + self.assertIn( + " static USB::CDCUart usb_otg_hs_cdc(\n" + " USB::Endpoint::EPNumber::EP1, USB::Endpoint::EPNumber::EP1,\n" + ' USB::Endpoint::EPNumber::EP2, 128, 128, 3, "Port \\"A\\"", "Port \\"A\\"");\n' + " static USB::CDCUart usb_otg_hs_cdc2(USB::Endpoint::EPNumber::EP3,\n" + " USB::Endpoint::EPNumber::EP2,\n" + " USB::Endpoint::EPNumber::EP4, 128, 128, 3);\n", + code, + ) + self.assertEqual( + generator.libxr_settings["USB"]["usb_otg_hs"]["cdc"], + [ + { + "interface": 'Port "A"', + "tx_fifo_size": 128, + "rx_fifo_size": 128, + "queue_size": 3, + }, + {"tx_fifo_size": 128, "rx_fifo_size": 128, "queue_size": 3}, + ], + ) + + def test_a_cdc_interface_must_be_a_string(self): + project = self.usb_otg_hs(cdc=[{"interface": 7}]) + with self.assertRaises(LibXRConfigError) as raised: + self.generate(project) + self.assertIn("USB.usb_otg_hs.cdc[0].interface", str(raised.exception)) + def test_on_fsdev_each_cdc_has_a_data_endpoint_and_a_notification_endpoint( self, ): From 4c1fc8372fce8bfb372c3b73b293979921d0db43 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 00:41:32 +0100 Subject: [PATCH 14/34] Read the HPM pin function calls from the root main.c The HPM BSPs move their main out of User/ to a root main.c (C), mirroring MSPM0, so the active pinmux functions come from there now. --- src/libxr/pin_project.py | 30 +++++++++++++++--------------- tests/test_pin_project.py | 12 +++++------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/libxr/pin_project.py b/src/libxr/pin_project.py index 1d9f271..1b53450 100644 --- a/src/libxr/pin_project.py +++ b/src/libxr/pin_project.py @@ -4,12 +4,12 @@ STM32 的已选信号来自 CubeMX 的 .ioc(Pxn.Signal),MSPM0 的来自根目录 SysConfig 工程 (.syscfg)的 $assign 行(求解器选的 $suggestSolution 作兜底),HPM 的来自 boards/ 下 .hpmpc -里 main.cpp 调用的 pinmux 函数。信号按布局中该引脚的可选信号核对;核对不上的原样给出, +里 main.c 调用的 pinmux 函数。信号按布局中该引脚的可选信号核对;核对不上的原样给出, matched 为 false。 The selected signals of an STM32 come from the CubeMX .ioc (Pxn.Signal), those of an MSPM0 from the $assign lines of a SysConfig project (.syscfg) in the root (the solver's $suggestSolution as the fallback), and those of an HPM from the pinmux functions of the .hpmpc under boards/ -that main.cpp calls. A signal is checked against the selectable signals of its pin in the +that the root main.c calls. A signal is checked against the selectable signals of its pin in the layout; one that does not match is given as it is, with matched false. """ @@ -473,18 +473,18 @@ def hpm_canonical(signal: str) -> str: HPM_CALL = re.compile(r"^\s*(\w+)\(\);\s*$") -def hpm_active_functions(main_cpp: Path, functions: dict) -> list[str]: - """main.cpp 在预处理条件外调用的、.hpmpc 里存在的 pinmux 函数;main.cpp 不存在或没有调用 +def hpm_active_functions(main_c: Path, functions: dict) -> list[str]: + """main.c 在预处理条件外调用的、.hpmpc 里存在的 pinmux 函数;main.c 不存在或没有调用 时退回 init_bsp_pins。条件编译里的调用不算(rmcs 的 JTAG 共用引脚在 #if 里,O2 的决定)。 - The pinmux functions of the .hpmpc that main.cpp calls outside preprocessor conditions; the - fallback is init_bsp_pins when main.cpp does not exist or calls none. A call inside a + The pinmux functions of the .hpmpc that the root main.c calls outside preprocessor conditions; the + fallback is init_bsp_pins when main.c does not exist or calls none. A call inside a conditional does not count (rmcs' JTAG shared pins sit in an #if, the decision of O2). """ - if not main_cpp.is_file(): + if not main_c.is_file(): return ["init_bsp_pins"] if "init_bsp_pins" in functions else [] active: list[str] = [] depth = 0 - for line in main_cpp.read_text(encoding="utf-8", errors="replace").splitlines(): + for line in main_c.read_text(encoding="utf-8", errors="replace").splitlines(): directive = HPM_DIRECTIVE.match(line) if directive: if directive.group(1) in ("if", "ifdef", "ifndef"): @@ -500,9 +500,9 @@ def hpm_active_functions(main_cpp: Path, functions: dict) -> list[str]: return active -def hpm_assignments(hpmpc: Path, main_cpp: Path, layout: PinLayout) -> dict[str, dict]: - """.hpmpc 里 main.cpp 调用的 pinmux 函数的已选信号:引脚名 -> 信号及其识别结果。 - The selected signals of the pinmux functions of the .hpmpc that main.cpp calls: pin name -> +def hpm_assignments(hpmpc: Path, main_c: Path, layout: PinLayout) -> dict[str, dict]: + """.hpmpc 里 main.c 调用的 pinmux 函数的已选信号:引脚名 -> 信号及其识别结果。 + The selected signals of the pinmux functions of the .hpmpc that the root main.c calls: pin name -> signal and what it was recognized as. 信号是工具的三段式(UART0.A.TXD),化成 hpm_iomux.h 的宏名(UART0_TXD)后按引脚的信号表 @@ -514,7 +514,7 @@ def hpm_assignments(hpmpc: Path, main_cpp: Path, layout: PinLayout) -> dict[str, functions = json.loads(hpmpc.read_text(encoding="utf-8"))["content"]["pinmux"]["functions"] by_name = {pin.name: pin for pin in layout.pins} assigned: dict[str, dict] = {} - for function in hpm_active_functions(main_cpp, functions): + for function in hpm_active_functions(main_c, functions): for pad, selection in functions[function].get("selectPins", {}).items(): pin = by_name.get(pad) if pin is None or not selection.get("signal"): @@ -634,10 +634,10 @@ def layout_with_project( f"{root}:boards/ 下有多个 .hpmpc;请只保留一个", ) ) - # HPM 的工程:SoC 和封装在 .hpmpc 的 info 里,已选信号取 main.cpp 无条件调用的 pinmux + # HPM 的工程:SoC 和封装在 .hpmpc 的 info 里,已选信号取 main.c 无条件调用的 pinmux # 函数(O2:条件编译里的不算)。 # An HPM project: the SoC and the package are in the info of the .hpmpc, and the selected - # signals come from the pinmux functions main.cpp calls without a condition (O2: a call + # signals come from the pinmux functions main.c calls without a condition (O2: a call # inside a conditional does not count). info = json.loads(hpmpcs[0].read_text(encoding="utf-8"))["content"]["info"] soc = model or info.get("socName") @@ -649,7 +649,7 @@ def layout_with_project( ) ) layout = pin_layout.layout_pins(soc, package or info.get("packageName")) - assigned = hpm_assignments(hpmpcs[0], root / "User" / "main.cpp", layout) + assigned = hpm_assignments(hpmpcs[0], root / "main.c", layout) source = hpmpcs[0].relative_to(root).as_posix() # sysconfig_file 对 HPM 是 .hpmpc 本身:外设配置就住在里面。 # sysconfig_file is the .hpmpc itself for an HPM: the peripheral configuration lives in diff --git a/tests/test_pin_project.py b/tests/test_pin_project.py index e9a86eb..14ddcaf 100644 --- a/tests/test_pin_project.py +++ b/tests/test_pin_project.py @@ -485,10 +485,10 @@ def test_an_assignment_wins_over_the_suggestion(self): class HpmProjects(TestCase): - """HPM 工程:SoC 和封装取自 boards/ 下的 .hpmpc,已选信号取 main.cpp 无条件调用的 pinmux + """HPM 工程:SoC 和封装取自 boards/ 下的 .hpmpc,已选信号取根目录 main.c 无条件调用的 pinmux 函数。 An HPM project: the SoC and the package come from the .hpmpc under boards/, and the selected - signals from the pinmux functions main.cpp calls without a condition. + signals from the pinmux functions the root main.c calls without a condition. """ HPMPC = json.dumps( @@ -548,7 +548,7 @@ def project_files(self, main=MAIN): return { "app.yaml": "dependency: []\n", "boards/board/tool_config.hpmpc": self.HPMPC, - "User/main.cpp": main, + "main.c": main, } def test_the_soc_the_package_and_the_called_functions_drive_the_overlay(self): @@ -570,10 +570,8 @@ def test_a_call_inside_a_conditional_is_not_active(self): # O2: a function inside a conditional does not count; PA04 stays out. self.assertNotIn("PA04", self.project(self.project_files())["project"]["assignments"]) - def test_without_a_main_cpp_the_bsp_function_is_the_fallback(self): - files = { - key: value for key, value in self.project_files().items() if key != "User/main.cpp" - } + def test_without_a_main_c_the_bsp_function_is_the_fallback(self): + files = {key: value for key, value in self.project_files().items() if key != "main.c"} assignments = self.project(files)["project"]["assignments"] self.assertEqual(assignments["PA03"]["signal"], "I2C0_SCL") self.assertNotIn("PA01", assignments) From b42870abf086c128e7d2f1154ae4ca15aa60f946 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 17:29:08 +0100 Subject: [PATCH 15/34] Parse and generate the LibXR app_main of an HPM Pinmux Tool project libxr parse for an HPM project reads app.yaml plus the one .hpmpc under boards/: the selected signals come from the pinmux functions the root main.c calls outside preprocessor conditions (O2), falling back to init_bsp_pins; a pad that two active functions select is reported and the later signal wins, and a main.c that calls no pinmux function is warned about. `libxr hpm setup` runs the parse and the generation (no CubeMX step), and cli.PLATFORMS detects an HPM project. The generation writes User/app_main.cpp, app_main.h and libxr_config.yaml, keeping main.c BSP-owned and the User Code regions of an existing file. Objects follow the post-#332 signatures: HPMGPIO with its port IRQ (direction from gpiom, pull from padCtls, named after the pin by default and renamed through the GPIO section of libxr_config), HPMI2C with the configured speed, and HPMPWM on a GPTMR comparator. The GPTMR PWM is generated only when the SoC's pin data has no PWM peripheral signal (HPM5301) and is then registered like any object; on a SoC with one (HPM5361) the GPTMRs stay in Other for display. Neither the object nor the registration may sit inside #if, because xrobot's generator cannot evaluate build options and rejects an XR_REGISTER there. UART, SPI and MCAN are recognized but generate no objects yet. GPIO interrupt wiring (RegisterCallback, EnableInterrupt) belongs to the consumer, like a Module binding. The fixtures are the real project files of the two HPM BSPs with their reviewed expected output, committed as test data. --- .gitignore | 6 +- src/libxr/cli.py | 149 ++++- src/libxr/generator_code_hpm.py | 553 ++++++++++++++++++ src/libxr/peripheral_analyzer_hpm.py | 343 +++++++++++ src/libxr/pin_layout.py | 20 + src/libxr/pin_project.py | 53 +- tests/data/hpm/hpm5301evklite.hpmpc | 298 ++++++++++ tests/data/hpm/hpm5301evklite_app.yaml | 2 + .../hpm/hpm5301evklite_expected_app_main.cpp | 56 ++ tests/data/hpm/hpm5301evklite_main.c | 32 + tests/data/hpm/rmcs_slave_lite.hpmpc | 305 ++++++++++ tests/data/hpm/rmcs_slave_lite_app.yaml | 2 + .../hpm/rmcs_slave_lite_expected_app_main.cpp | 48 ++ tests/data/hpm/rmcs_slave_lite_main.c | 29 + tests/test_cli.py | 50 +- tests/test_generator_code_hpm.py | 331 +++++++++++ tests/test_pin_project.py | 18 + 17 files changed, 2270 insertions(+), 25 deletions(-) create mode 100644 src/libxr/generator_code_hpm.py create mode 100644 src/libxr/peripheral_analyzer_hpm.py create mode 100644 tests/data/hpm/hpm5301evklite.hpmpc create mode 100644 tests/data/hpm/hpm5301evklite_app.yaml create mode 100644 tests/data/hpm/hpm5301evklite_expected_app_main.cpp create mode 100644 tests/data/hpm/hpm5301evklite_main.c create mode 100644 tests/data/hpm/rmcs_slave_lite.hpmpc create mode 100644 tests/data/hpm/rmcs_slave_lite_app.yaml create mode 100644 tests/data/hpm/rmcs_slave_lite_expected_app_main.cpp create mode 100644 tests/data/hpm/rmcs_slave_lite_main.c create mode 100644 tests/test_generator_code_hpm.py diff --git a/.gitignore b/.gitignore index d52fee2..e3ef72a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,9 +7,11 @@ *.hpp *.c *.h -# 测试固件(MSPM0 工程文件和 SysConfig 输出)随仓库提交。 -# The test fixtures (MSPM0 project files and SysConfig output) are committed with the repo. +# 测试固件(MSPM0 工程文件和 SysConfig 输出、HPM 工程文件)随仓库提交。 +# The test fixtures (the MSPM0 project files and SysConfig output, the HPM project files) +# are committed with the repo. !tests/data/mspm0/* +!tests/data/hpm/* __pycache__/ *.pyc *.pyo diff --git a/src/libxr/cli.py b/src/libxr/cli.py index e4b007d..594df63 100644 --- a/src/libxr/cli.py +++ b/src/libxr/cli.py @@ -63,6 +63,29 @@ def _has_syscfg(directory: str) -> bool: return False +def _has_hpmpc(directory: str) -> bool: + """directory 是 HPM 工程(根目录有 app.yaml 且 boards/ 的某个板子目录里有 .hpmpc)时为 + True;目录无法列出时为 False。 + True when directory holds an HPM project (an app.yaml in the root and a .hpmpc in a board + directory under boards/); False when the directory cannot be listed. + """ + if not os.path.isfile(os.path.join(directory, "app.yaml")): + return False + try: + boards = os.listdir(os.path.join(directory, "boards")) + except OSError: + return False + for name in boards: + board = os.path.join(directory, "boards", name) + if os.path.isdir(board): + try: + if any(file.endswith(".hpmpc") for file in os.listdir(board)): + return True + except OSError: + continue + return False + + def _stm32_parse(args: argparse.Namespace) -> None: """用 STM32 解析器运行 libxr parse。 Run libxr parse with the STM32 parser. @@ -131,6 +154,40 @@ def _mspm0_gen(args: argparse.Namespace) -> None: generate(args.input, args.output, use_xrobot, args.libxr_config) +def _hpm_parse(args: argparse.Namespace) -> None: + """用 HPM 解析器运行 libxr parse。 + Run libxr parse with the HPM parser. + """ + from libxr.peripheral_analyzer_hpm import parse_project + + parse_project(args.directory, args.output) + + +def _hpm_gen(args: argparse.Namespace) -> None: + """用 HPM 生成器运行 libxr gen。 + Run libxr gen with the HPM generator. + + args.xrobot 为 None 时沿用输出文件现在的选择:它由 --xrobot 生成时继续生成 XRobot 代码。 + With args.xrobot None the output file keeps its choice: XRobot code is generated again when + it was generated with --xrobot. + """ + from libxr.generator_code_hpm import generate + from libxr.generator_stm32_cmake import uses_xrobot + + use_xrobot = args.xrobot + if use_xrobot is None: + use_xrobot = uses_xrobot(args.output) + if use_xrobot: + logging.info( + tr( + f"{args.output} uses XRobot; generating with --xrobot " + "(--no-xrobot turns it off).", + f"{args.output} 使用了 XRobot,继续按 --xrobot 生成(--no-xrobot 可关闭)。", + ) + ) + generate(args.input, args.output, use_xrobot, args.libxr_config) + + PLATFORMS = ( Platform( "stm32", @@ -149,6 +206,16 @@ def _mspm0_gen(args: argparse.Namespace) -> None: _mspm0_parse, _mspm0_gen, ), + Platform( + "hpm", + lambda: tr( + "a directory with an app.yaml and a .hpmpc under boards/", + "根目录有 app.yaml 且 boards/ 下有 .hpmpc 文件的目录", + ), + _has_hpmpc, + _hpm_parse, + _hpm_gen, + ), ) @@ -261,6 +328,24 @@ def cmd_stm32_setup(args: argparse.Namespace) -> None: ) +def cmd_hpm_setup(args: argparse.Namespace) -> None: + """libxr hpm setup:解析 HPM 工程并生成 User/app_main.cpp;没有 CubeMX 步骤。 + libxr hpm setup: parse an HPM project and generate User/app_main.cpp; there is no CubeMX + step. + """ + from libxr.generator_code_hpm import generate + from libxr.peripheral_analyzer_hpm import parse_project + + parse_project(args.directory, None) + output = args.output or os.path.join(args.directory, "User", "app_main.cpp") + generate( + os.path.join(args.directory, ".config.yaml"), + output, + True if args.xrobot is None else args.xrobot, + args.libxr_config, + ) + + def cmd_stm32_cubemx_gen(args: argparse.Namespace) -> None: """libxr stm32 cubemx-gen:以脚本模式运行 STM32CubeMX 生成工程;出错时记录错误(调试日志另记 调用栈)并以状态 1 退出。 @@ -380,9 +465,10 @@ def _add_parse(commands) -> None: default=".", help=tr( "project directory: an STM32CubeMX project holds one .ioc file, an MSPM0 project " - "one .syscfg file in its root (default: current directory)", + "one .syscfg file in its root and an HPM project an app.yaml plus a .hpmpc under " + "boards/ (default: current directory)", "工程目录:STM32CubeMX 工程含有一个 .ioc 文件,MSPM0 工程的根目录含有一个 .syscfg " - "文件(默认:当前目录)", + "文件,HPM 工程有 app.yaml 且 boards/ 下有一个 .hpmpc(默认:当前目录)", ), ) parser.add_argument( @@ -506,6 +592,54 @@ def _add_stm32_setup(commands) -> None: ) +def _add_hpm_setup(commands) -> None: + """加入 hpm setup 子命令。 + Add the hpm setup subcommand. + """ + parser = _command( + commands, + "setup", + tr( + "set up an HPM project for LibXR: parse the Pinmux Tool project and generate " + "User/app_main.cpp (there is no CubeMX step)", + "把 HPM 工程配置为使用 LibXR:解析 Pinmux Tool 工程并生成 User/app_main.cpp" + "(没有 CubeMX 步骤)", + ), + cmd_hpm_setup, + ) + parser.add_argument( + "-d", + "--directory", + default=".", + help=tr( + "project directory: an app.yaml in the root and one .hpmpc under boards/ " + "(default: current directory)", + "工程目录:根目录有 app.yaml,boards/ 下有一个 .hpmpc(默认:当前目录)", + ), + ) + parser.add_argument( + "-o", + "--output", + default="", + help=tr( + "output C++ file (default: User/app_main.cpp in DIRECTORY)", + "输出的 C++ 文件(默认:DIRECTORY 中的 User/app_main.cpp)", + ), + ) + _add_xrobot_choice( + parser, + tr(" (default: generate XRobot registrations)", "(默认:生成 XRobot 注册代码)"), + ) + parser.add_argument( + "--libxr-config", + default="", + help=tr( + "path or URL of libxr_config.yaml (default: libxr_config.yaml next to the output)", + "libxr_config.yaml 的路径或 URL(默认:输出文件所在目录中的 libxr_config.yaml)", + ), + ) + + def _add_stm32_cubemx_gen(commands) -> None: """加入 stm32 cubemx-gen 子命令。 Add the stm32 cubemx-gen subcommand. @@ -845,11 +979,18 @@ def build_parser() -> argparse.ArgumentParser: _add_stm32_cmake(stm32_commands) _add_stm32_flash_info(stm32_commands) _add_stm32_toolchain(stm32_commands) + hpm = commands.add_parser( + "hpm", + help=tr("commands for HPM Pinmux Tool projects", "HPM Pinmux Tool 工程的命令"), + description=tr("Commands for HPM Pinmux Tool projects.", "HPM Pinmux Tool 工程的命令。"), + ) + hpm_commands = hpm.add_subparsers(metavar="", required=True) + _add_hpm_setup(hpm_commands) # 每个子命令最后都有 --verbose。 # Every subcommand ends with --verbose. - for group in (commands, stm32_commands): + for group in (commands, stm32_commands, hpm_commands): for name, command in group.choices.items(): - if name != "stm32": + if name not in ("stm32", "hpm"): command.add_argument( "--verbose", action="store_true", diff --git a/src/libxr/generator_code_hpm.py b/src/libxr/generator_code_hpm.py new file mode 100644 index 0000000..9a7d0c4 --- /dev/null +++ b/src/libxr/generator_code_hpm.py @@ -0,0 +1,553 @@ +"""libxr gen 对 HPM 工程:由工程 YAML 生成 User/app_main.cpp 和 libxr_config.yaml。 +libxr gen for an HPM project: generate User/app_main.cpp and libxr_config.yaml from the +project YAML. + +时钟和引脚都由 Pinmux Tool 配置(根目录 main.c 调用 init_bsp_pins 等函数),main.c 是 BSP 的 +财产,生成代码只写 User/ 下的 app_main。对象全部使用 SDK 的宏(HPM_GPIO0、GPIO_DI_GPIOx、 +IRQn_GPIO0_x、HPM_I2Cn、HPM_GPTMRn、clock_i2cn、clock_gptmrn),布局沿 bsp_stm32f103。设置来自 +libxr_config.yaml(首次生成把默认值写进该文件,已有值保持不变):I2C 的速率,PWM 的频率,GPIO +的改名表。 +Clocks and pins are configured by the Pinmux Tool (the root main.c calls init_bsp_pins and +friends), main.c stays BSP-owned, and the generated code is only the app_main under User/. +Every object uses the SDK macros (HPM_GPIO0, GPIO_DI_GPIOx, IRQn_GPIO0_x, HPM_I2Cn, HPM_GPTMRn, +clock_i2cn, clock_gptmrn), and the layout follows bsp_stm32f103. The settings come from +libxr_config.yaml (the first generation writes the defaults into the file and keeps the values +that are already there): the I2C speed, the PWM frequency and the renames of the GPIO pins. + +对象名:GPIO 默认按引脚命名(pb11,端口字母小写加行号,用户 2026-10-07 确认),libxr_config 的 +GPIO 段把它映射到新名字;I2C 用外设名的小写(i2c3),PWM 是 pwm_gptmr0_ch1。HPM 的 .hpmpc 不带 +速率和频率,I2C 默认 100 kHz,PWM 只在 libxr_config 给出频率时调用 SetConfig。GPIO 中断遵循 +STM32 的约定(模型 O1):生成器只创建对象(HPM 上带端口 IRQ),边沿来自 pinmux;RegisterCallback +和 EnableInterrupt 属于消费者(Module 或 User Code)。UART、SPI 和 MCAN 只被识别,不生成对象 +(适配层还没合入 libxr)。GPTMR 上的 PWM 走 HPMPWM 的 fallback 路径,只在 SoC 没有 PWM 外设时 +生成——解析按芯片引脚数据判定(HPM5361 有 PWM 外设,它的 GPTMR 归入 Other 只作展示)——对象 +和登记都无条件生成,不能包 #if:xrobot 的生成器无法判断编译选项,guard 里的 XR_REGISTER 会被 +它拒绝。 +Object names: a GPIO defaults to its pin name (pb11, the lower-case port letter plus the line, +confirmed by the user 2026-10-07) and the GPIO section of libxr_config maps it to a new name; an +I2C takes the lower-case peripheral name (i2c3) and a PWM is pwm_gptmr0_ch1. The .hpmpc of an +HPM carries no speed or frequency, so an I2C starts at 100 kHz and a PWM calls SetConfig only +when libxr_config gives a frequency. GPIO interrupts follow the STM32 convention (model O1): +the generator creates the object only (with its port IRQ on HPM), the edge comes from the +pinmux, and RegisterCallback and EnableInterrupt belong to the consumer (a Module or the User +Code). UART, SPI and MCAN are recognized but generate no objects (the adapters are still held +back from libxr). A PWM on a GPTMR takes the fallback path of HPMPWM and is generated only +when the SoC has no PWM peripheral — the parse decides from the chip's pin data (a HPM5361 has +one, so its GPTMRs land in Other for display only) — and both the object and its registration +are generated unconditionally; they must not sit inside #if, because xrobot's generator cannot +evaluate build options and rejects an XR_REGISTER inside a guard. +""" + +from __future__ import annotations + +import logging +import os +import re +import sys + +from xr_syntax.i18n import tr + +from libxr import generator_code_stm32 as stm32 +from libxr.cpp_layout import Braces, layout +from libxr.generator_code_stm32 import GENERATED_NOTICE, INDENT + +# generator_code_stm32 的其余接口(登记表、设置、写入助手)经模块属性访问:测试会用 +# importlib.reload 重载它,直接导入的名字会指向重载前的旧全局对象。 +# The rest of the generator_code_stm32 interface (the registry, the settings, the writing +# helpers) is reached through module attributes: tests reload it with importlib.reload, and +# directly imported names would keep pointing at the pre-reload global objects. +# HPM 各设置段的默认值;STM32 段(USART/TIM/USB……)不适用于 HPM,生成前剔除。 +# The defaults of the HPM settings sections; the STM32 sections (USART/TIM/USB, ...) do not +# apply to HPM and are removed before generation. +HPM_DEFAULTS = {"I2C": {"speed": 100000}} +STM32_ONLY_SECTIONS = ( + "ADC", + "TIM", + "CAN", + "FDCAN", + "USB", + "database", + "software_timer", + "USART", + "SYSTEM", +) +# HPM 的 I2C 驱动只接受这三个速率(hpm_i2c.hpp 的构造说明)。 +# The HPM I2C driver accepts only these three rates (the constructor notes of hpm_i2c.hpp). +I2C_SPEEDS = (100000, 400000, 1000000) +# GPTMR fallback 路径的占空比比较器固定为 0,重装比较器由驱动取另一个(hpm_pwm.cpp)。 +# The duty comparator of the GPTMR fallback path is fixed at 0; the driver takes the other +# one for the reload comparator (hpm_pwm.cpp). +PWM_DUTY_CMP = 0 + +IDENTIFIER = re.compile(r"[A-Za-z_]\w*") + + +def _comment(text: str, indent: str = "") -> list[str]: + """一段注释折行成不超过 90 列的行,每行带 indent 缩进和 "// " 前缀。 + Wrap a comment into lines of at most 90 columns; every line carries the indent and the + "// " prefix. + """ + words, lines, line = text.split(), [], "" + for word in words: + if line and len(line) + 1 + len(word) > 85: + lines.append(f"{indent}// {line}") + line = word + else: + line = f"{line} {word}".strip() + if line: + lines.append(f"{indent}// {line}") + return lines + + +def _fail(message: str): + """记录错误并以状态 1 退出。 + Log an error and exit with status 1. + """ + logging.error(message) + sys.exit(1) + + +def _instance_settings(group: str, instance: str) -> dict: + """libxr_settings 中小写实例键下的设置段,缺少的默认值补进段里。 + The settings section under the lower-case instance key of libxr_settings[group], with the + missing defaults filled in. + """ + section = stm32._settings(group, instance.lower()) + for key, default in HPM_DEFAULTS[group].items(): + section.setdefault(key, default) + return section + + +def _object_name(name: str, kind: str) -> str: + """对象的 C++ 名字:小写、必须是合法标识符且不与其他对象重名;不满足时报错退出。 + The C++ name of an object: lower case, a valid identifier and unique among the objects; + otherwise an error is logged and generation exits. + """ + name = name.lower() + if not IDENTIFIER.fullmatch(name): + _fail( + tr( + f"{name} is not a valid C++ identifier; rename the instance in the Pinmux Tool", + f"{name} 不是合法的 C++ 标识符;请在 Pinmux Tool 中重命名该实例", + ) + ) + if name in stm32.registered_devices: + _fail( + tr( + f"Two objects are named {name} ({kind} and {stm32.registered_devices[name]}); " + "rename one of them in libxr_config.yaml", + f"两个对象都叫 {name}({kind} 与 {stm32.registered_devices[name]});请在 " + "libxr_config.yaml 中重命名其中一个", + ) + ) + return name + + +def _setting_int(key: str, value) -> int: + """整数设置:不是正整数时报错退出。 + An integer setting; a value that is not a positive integer logs an error and exits. + """ + if ( + isinstance(value, bool) + or not isinstance(value, (int, float)) + or int(value) != value + or value < 1 + ): + _fail( + tr( + f"libxr_config.yaml: {key} {value!r} is not a positive integer", + f"libxr_config.yaml:{key} {value!r} 不是正整数", + ) + ) + return int(value) + + +def _peripherals(project_data: dict) -> dict[str, list]: + """工程 YAML 中的外设对象:kind -> [(对象名, 实例名, 记录, PWM 通道)],按 YAML 顺序,同时 + 登记进 XR_REGISTER 的对象表。 + The peripheral objects of the project YAML: kind -> [(object name, instance name, record, + PWM channel)], in YAML order, registered into the XR_REGISTER table as well. + """ + result: dict[str, list] = {} + for kind, records in project_data.get("Peripherals", {}).items(): + if kind == "Other": + continue + objects = [] + for instance, record in records.items(): + if kind == "PWM": + # GPTMR 的对象名 pwm_gptmr0_ch1;通道序号是 pinmux 的比较器序号。 + # The object name of a GPTMR is pwm_gptmr0_ch1; the channel index is the + # comparator index of the pinmux. + for channel in record.get("Channels", []): + index = channel["Index"] + name = _object_name(f"pwm_{str(instance).lower()}_ch{index}", "PWM") + objects.append((name, instance, record, index)) + stm32._register_device(name, "PWM") + else: + name = _object_name(str(record["Peripheral"]), kind) + objects.append((name, instance, record, None)) + stm32._register_device(name, kind) + result[kind] = objects + return result + + +def _gpio_names(project_data: dict) -> dict[str, dict]: + """GPIO 对象的名字:默认按引脚(pb11),libxr_config 的 GPIO 段把它映射到新名字;名字必须 + 合法且唯一,不满足时报错退出,改名单里没有的引脚给出警告。 + The names of the GPIO objects: the pin name (pb11) by default, which the GPIO section of + libxr_config maps to a new one; a name that is not a valid unique identifier logs an error + and generation exits, and a rename that names no pin is warned about. + """ + gpio = project_data.get("GPIO", {}) + renames = stm32.libxr_settings.get("GPIO") or {} + if not isinstance(renames, dict): + _fail( + tr( + f"{stm32.libxr_config_origin}: GPIO {renames!r} is not a mapping of a pin name " + "to an object name", + f"{stm32.libxr_config_origin}:GPIO {renames!r} 不是引脚名到对象名的映射", + ) + ) + names: dict[str, dict] = {} + for label, pin in gpio.items(): + name = str(renames.get(label, label)) + if not IDENTIFIER.fullmatch(name) or name in stm32.registered_devices: + _fail( + tr( + f"GPIO name {name} is not a valid unique C++ identifier", + f"GPIO 名字 {name} 不是合法且唯一的 C++ 标识符", + ) + ) + stm32._register_device(name, "GPIO") + names[name] = pin + for label in renames: + if label not in gpio: + logging.warning( + tr( + f"{stm32.libxr_config_origin}: the GPIO rename {label} names no generated " + "pin; it is ignored", + f"{stm32.libxr_config_origin}:GPIO 改名 {label} 没有对应的生成引脚;忽略", + ) + ) + return names + + +def _pull_text(pad_ctls: dict) -> str: + """padCtls(PE/PS)的上下拉描述;没有上拉使能时为空。 + The pull description of padCtls (PE/PS); empty when the pull is not enabled. + """ + if str(pad_ctls.get("PE")) != "1": + return "" + return " with a pull-up" if str(pad_ctls.get("PS")) == "1" else " with a pull-down" + + +def _gpio_description(label: str, pin: dict) -> str: + """一个 GPIO 引脚在说明注释里的描述:方向来自 gpiom,上下拉来自 padCtls。 + The description of one GPIO pin in the notice comment: the direction comes from gpiom and + the pull from padCtls. + """ + pad = pin["Pad"] + direction = pin.get("Direction") + if direction == "OUTPUT": + return f"{label} ({pad}) as an output pin" + if direction == "INPUT": + return f"{label} ({pad}) as an input pin{_pull_text(pin.get('PadCtls') or {})}" + return f"{label} ({pad})" + + +def _gpio_section(project_data: dict, gpio: dict[str, dict]) -> list[str]: + """GPIO 对象:每个引脚一个 HPMGPIO,构造带端口 IRQ;中断的注册和使能属于消费者(O1),不 + 在这里生成。 + The GPIO objects: one HPMGPIO per pin, constructed with its port IRQ; registering and + enabling an interrupt belongs to the consumer (O1) and is not generated here. + """ + if not gpio: + return [] + functions = ", ".join( + f"{name}()" for name in project_data.get("MainFunctions") or ["init_bsp_pins"] + ) + summary = ", ".join(_gpio_description(label, pin) for label, pin in gpio.items()) + lines = _comment( + f"GPIO: {functions} configured {summary}. The interrupt edge comes from the pinmux " + "and every object carries its port IRQ; RegisterCallback and EnableInterrupt belong " + "to the consumer (a Module or the User Code).", + INDENT, + ) + for label, pin in gpio.items(): + port = pin["Port"] + lines += layout( + f"static HPMGPIO {label}", + ["HPM_GPIO0", f"GPIO_DI_GPIO{port}", str(pin["Line"]), f"IRQn_GPIO0_{port}"], + ) + return lines + + +def _i2c_section(i2cs: list) -> list[str]: + """I2C 对象:速率是 libxr_config 中的设置,驱动只接受固定的几档。 + The I2C objects: the speed is a setting of libxr_config, and the driver accepts only the + fixed rates. + """ + if not i2cs: + return [] + lines = [f"{INDENT}// I2C: blocking transfers; the DMA-backed background path runs on dma_mgr."] + for name, instance, _record, _channel in i2cs: + speed = _setting_int(f"I2C.{name}.speed", _instance_settings("I2C", name)["speed"]) + if speed not in I2C_SPEEDS: + _fail( + tr( + f"libxr_config.yaml: I2C.{name}.speed {speed} is not one of " + f"{', '.join(map(str, I2C_SPEEDS))}; the HPM I2C driver supports only " + "these rates", + f"libxr_config.yaml:I2C.{name}.speed {speed} 不是 " + f"{', '.join(map(str, I2C_SPEEDS))} 之一;HPM 的 I2C 驱动只支持这几档", + ) + ) + lines += layout( + f"static HPMI2C {name}", + [f"HPM_{instance}", f"clock_{instance.lower()}", Braces(f"{speed}U")], + ) + return lines + + +def _pwm_section(pwms: list) -> list[str]: + """PWM 对象:GPTMR 的每个比较器输出一个 HPMPWM,占空比比较器固定为 0;对象只在 SoC 没有 + PWM 外设时生成(解析已判定,HPMPWM 在那里走 GPTMR fallback 路径),libxr_config.yaml 中 + 给出频率时才调用 SetConfig。对象和登记都不能包 #if:xrobot 的生成器无法判断编译选项, + guard 里的 XR_REGISTER 会被它拒绝。 + The PWM objects: one HPMPWM per comparator output of a GPTMR, with the duty comparator + fixed at 0; an object is generated only when the SoC has no PWM peripheral (decided by + the parse, where HPMPWM takes its GPTMR fallback path). SetConfig is called when the + frequency is set in libxr_config.yaml. Neither the objects nor the registrations may sit + inside #if: xrobot's generator cannot evaluate build options and rejects an XR_REGISTER + inside a guard. + """ + if not pwms: + return [] + lines = _comment( + "PWM on a GPTMR comparator: the SoC has no PWM peripheral, so HPMPWM takes its GPTMR " + "fallback path; the duty comparator is fixed at 0 and SetConfig is called when " + "libxr_config sets a frequency.", + INDENT, + ) + for name, instance, _record, channel in pwms: + lines += layout( + f"static HPMPWM {name}", + [ + f"reinterpret_cast(HPM_{instance})", + f"clock_{instance.lower()}", + str(channel), + str(PWM_DUTY_CMP), + "HPMPWM::Polarity::NORMAL", + ], + ) + frequency = stm32._settings("PWM", name).setdefault("frequency", None) + if frequency: + lines += layout(f"{name}.SetConfig", [Braces(str(frequency))]) + return lines + + +def _terminal_section() -> list[str]: + """终端:HPM 生成器不创建 UART,terminal_source 没有可用的终端;设置了就给出警告。 + The terminal: the HPM generator creates no UART, so terminal_source has no terminal to + name; a set one is warned about. + """ + source = str(stm32.libxr_settings.get("terminal_source") or "") + if source and source != "none": + logging.warning( + tr( + f"terminal_source '{source}' has no effect: the HPM generator creates no " + "UART, so the terminal is not initialized", + f"terminal_source '{source}' 无效:HPM 生成器不创建 UART,终端不初始化", + ) + ) + return [] + + +def _registrations(use_xrobot: bool) -> list[str]: + """XRobot 登记表:每个对象一行 XR_REGISTER,按种类分组。 + The XRobot registrations: one XR_REGISTER line per object, grouped by kind. + """ + if not use_xrobot: + return [] + return stm32.generate_xrobot_registrations() + + +def _sections( + project_data: dict, peripherals: dict[str, list], gpio: dict[str, dict], use_xrobot: bool +) -> list[str]: + """app_main 函数体的各段:时基、GPIO、I2C、PWM、终端和登记。 + The sections of the app_main body: timebase, GPIO, I2C, PWM, terminal and the + registrations. + """ + blocks = [ + [ + f"{INDENT}// Timebase and platform", + f"{INDENT}static HPMTimebase timebase;", + f"{INDENT}PlatformInit();", + ], + _gpio_section(project_data, gpio), + _i2c_section(peripherals.get("I2C", [])), + _pwm_section(peripherals.get("PWM", [])), + _terminal_section(), + ] + registrations = _registrations(use_xrobot) + if registrations: + blocks.append([f"{INDENT}// Hardware registration"] + registrations) + return stm32.join_blocks([block for block in blocks if block]) + + +def _notice(project_data: dict) -> list[str]: + """文件开头的说明:由哪个 .hpmpc 生成、Pinmux Tool 和 BSP 各管什么、只改 User Code 区域。 + The notice at the start of the file: which .hpmpc it was generated from, what the Pinmux + Tool and the BSP own and that only the User Code regions are for editing. + """ + functions = ", ".join( + f"{name}()" for name in project_data.get("MainFunctions") or ["init_bsp_pins"] + ) + return [GENERATED_NOTICE] + _comment( + f"Generated from {project_data.get('Hpmpc', 'the HPM Pinmux Tool project')}" + f" ({project_data.get('Mcu', {}).get('Type', '')}); the Pinmux Tool configures the" + f" pins via {functions} in main.c and main.c stays BSP-owned. Put application code" + ' between the "User Code Begin" and "User Code End" markers.' + ) + + +def _includes(project_data: dict, use_xrobot: bool) -> list[str]: + """include 列表:libxr.hpp、hpm_soc.h、用到的 hpm 驱动头和时基头,XRobot 再加 + xrobot_main.hpp;均按字母顺序。 + The includes: libxr.hpp, hpm_soc.h, the hpm driver headers in use and the timebase one + and, with XRobot, xrobot_main.hpp; all in alphabetical order. + """ + peripherals = project_data.get("Peripherals", {}) + drivers = ["hpm_soc.h", "hpm_timebase.hpp"] + if project_data.get("GPIO"): + drivers.append("hpm_gpio.hpp") + for kind in ("I2C", "PWM"): + if peripherals.get(kind): + drivers.append(f"hpm_{kind.lower()}.hpp") + if use_xrobot: + drivers.append("xrobot_main.hpp") + return [ + '#include "app_main.h"', + "", + '#include "libxr.hpp"', + *[f'#include "{header}"' for header in sorted(drivers)], + "", + "using namespace LibXR;", + ] + + +def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) -> str: + """生成 app_main 源文件的完整内容,并填回已有代码中 User Code 区域的内容。 + Generate the full content of the app_main source file and put back the User Code bodies of + the existing code. + """ + peripherals = _peripherals(project_data) + gpio = _gpio_names(project_data) + default_3 = ( + [] + if use_xrobot + else [ + f"{INDENT}while (true)", + f"{INDENT}{{", + f"{INDENT * 2}Thread::Sleep(UINT32_MAX);", + f"{INDENT}}}", + ] + ) + lines = _notice(project_data) + lines += _includes(project_data, use_xrobot) + lines += ["", "/* User Code Begin 1 */", "/* User Code End 1 */"] + lines += ["", 'extern "C" void app_main(void)', "{"] + lines += [f"{INDENT}/* User Code Begin 2 */", f"{INDENT}/* User Code End 2 */", ""] + lines += _sections(project_data, peripherals, gpio, use_xrobot) + lines += ["", f"{INDENT}/* User Code Begin 3 */"] + default_3 + lines.append(f"{INDENT}/* User Code End 3 */") + if use_xrobot: + lines.append(f"{INDENT}XROBOT_MAIN();") + lines.append("}") + return stm32._preserve_generated_regions(existing_code, "\n".join(lines) + "\n") + + +def initialize_registry() -> None: + """清空生成对象的登记表,使同一次进程中的下一次生成不带上次的对象。 + Clear the registry of generated objects, so the next generation in the same process + carries no objects over. + """ + stm32.registered_devices.clear() + stm32.registered_origins.clear() + stm32.used_headers.clear() + + +def reset_settings() -> None: + """把生效的设置恢复为 HPM 的默认集合:STM32 专用的段剔除,I2C、PWM 和 GPIO 段补上。 + Restore the effective settings to the HPM default set: the STM32-only sections removed + and the I2C, PWM and GPIO sections added. + """ + stm32.reset_settings() + for key in STM32_ONLY_SECTIONS: + stm32.libxr_settings.pop(key, None) + stm32._settings("I2C") + stm32._settings("PWM") + stm32._settings("GPIO") + + +def generate( + input_path: str, output_path: str, use_xrobot: bool = False, libxr_config: str = "" +) -> None: + """生成 output_path 指定的 app_main 源文件,以及同一目录中的 app_main.h 和 libxr_config.yaml。 + Generate the app_main source file output_path, and app_main.h and libxr_config.yaml in the + same directory. + + 每次从默认设置开始,合并 libxr_config(libxr_config.yaml 的路径或 URL,为空时读取输出目录中 + 的文件)。全部文件先在内存中生成,没有错误时才写出,并且只写内容有变化的文件。已有输出文件 + 中 User Code 区域的内容被保留。出错时记录错误(调试日志另记调用栈)并以状态 1 退出。 + Every run starts from the default settings and merges libxr_config, the path or URL of + libxr_config.yaml, or the file in the output directory when empty. All files are generated + in memory first and written only when nothing failed, and only the files whose content + changed are written. The User Code bodies of an existing output file are kept. An error is + logged, with the traceback at debug level, and exits with status 1. + """ + try: + output_dir = os.path.dirname(output_path) or os.curdir + + reset_settings() + project_data = stm32.load_configuration(input_path) + stm32.load_libxr_config(output_dir, libxr_config) + # load_configuration 又写入了 SYSTEM(HPM 只有裸机),再剔除一次。 + # load_configuration has written SYSTEM again (HPM is bare metal only); remove it + # once more. + stm32.libxr_settings.pop("SYSTEM", None) + stm32._settings("I2C") + stm32._settings("PWM") + stm32._settings("GPIO") + initialize_registry() + + existing_code = "" + if os.path.exists(output_path): + with open(output_path, encoding="utf-8") as file: + existing_code = file.read() + stm32.reject_user_hardware_container(existing_code, use_xrobot) + if use_xrobot: + stm32.reject_user_xrobot_main(existing_code) + existing_code = stm32._without_default_loop(existing_code) + + files = { + os.path.basename(output_path): generate_full_code( + project_data, use_xrobot, existing_code + ), + "app_main.h": stm32.APP_MAIN_HEADER, + "libxr_config.yaml": stm32.libxr_config_text(), + } + + os.makedirs(output_dir, exist_ok=True) + written, unchanged = [], [] + for name, text in files.items(): + path = os.path.join(output_dir, name) + (written if stm32._write_if_changed(path, text) else unchanged).append(name) + stm32._report_files(output_dir, written, unchanged, []) + except SystemExit: + raise + except Exception as error: + logging.error(tr(f"Generation failed: {str(error)}", f"生成失败:{str(error)}")) + logging.debug(tr("Traceback:", "调用栈:"), exc_info=True) + sys.exit(1) diff --git a/src/libxr/peripheral_analyzer_hpm.py b/src/libxr/peripheral_analyzer_hpm.py new file mode 100644 index 0000000..13ce449 --- /dev/null +++ b/src/libxr/peripheral_analyzer_hpm.py @@ -0,0 +1,343 @@ +"""libxr parse 对 HPM 工程:解析 Pinmux Tool 工程并写出工程 YAML。 +libxr parse for an HPM project: parse the Pinmux Tool project and write the project YAML. + +工程是 app.yaml 加 boards/ 下唯一的 .hpmpc。已选信号取根目录 main.c 在预处理条件外调用的 +pinmux 函数(O2:条件编译里的不算,例如 rmcs 的 JTAG 共用引脚),从 .hpmpc 的 selectPins +读出引脚和信号,化成 hpm_iomux.h 的宏名后按布局核对。GPIO 的复用(GPIO.A.B[11])算引脚自己 +的普通用法:对象默认按引脚命名(pb11,用户 2026-10-07 确认),libxr_config 可改名;其余外设 +按 recognize_hpm 识别,LibXR 有驱动的(I2C;以及 SoC 没有 PWM 外设时 GPTMR 上的 PWM——判定 +来自芯片引脚数据里有没有 PWM 信号,HPM5301 没有、HPM5361 有)进入 Peripherals,其余(UART、 +SPI、CAN、ACMP、有 PWM 外设的 SoC 上的 GPTMR……)记入 Other,只作展示。 +The project is app.yaml plus the single .hpmpc under boards/. The selected signals come from +the pinmux functions the root main.c calls outside preprocessor conditions (O2: a call inside +a conditional does not count, such as the rmcs JTAG shared pins), read from the selectPins of +the .hpmpc and checked against the layout as the macro names of hpm_iomux.h. A GPIO mux +(GPIO.A.B[11]) counts as the pin's own plain use: the object defaults to the pin name (pb11, +confirmed by the user 2026-10-07) and libxr_config renames it; the other peripherals go +through recognize_hpm, and the ones LibXR has drivers for (I2C; a PWM on a GPTMR when the SoC +has no PWM peripheral — decided by whether the chip's pin data has any PWM signal, HPM5301 has +none and HPM5361 has 20) enter Peripherals while the rest (UART, SPI, CAN, ACMP, a GPTMR on a +SoC with a PWM peripheral, ...) are recorded under Other for display only. + +UART、SPI 和 MCAN 的驱动还压着没合(生成器认出它们,但不生成对象)。 +The UART, SPI and MCAN drivers are still held back (the generator recognizes them but +generates no objects). +""" + +from __future__ import annotations + +import json +import logging +import os +import re +import sys +from pathlib import Path + +import yaml +from xr_syntax.i18n import tr + +from libxr import pin_layout, pin_project + +# LibXR 有驱动、gen 生成对象的信号:段 -> 识别出的 kind。 +# The signals LibXR has drivers for and gen generates objects for: section -> the kind +# recognized. +GENERATED_KINDS = {"I2C": "I2C", "GPTMR": "PWM"} +HPM_SOC_PREFIX = "HPM" + + +class Project: + """一个 HPM 工程:.hpmpc 的内容、活动的 pinmux 函数和它们的引脚。 + One HPM project: the .hpmpc content, the active pinmux functions and their pins. + """ + + def __init__(self, root: Path, hpmpc: Path, main_c: Path) -> None: + """读 .hpmpc 与根目录 main.c,记下 SoC、封装、活动的 pinmux 函数和它们的引脚。同一 pad + 被两个活动函数选中时记进 conflicts,信号以后一个为准。 + Read the .hpmpc and the root main.c, keeping the SoC, the package, the active pinmux + functions and their pins. A pad that two active functions select is recorded in + conflicts; the later signal wins. + """ + self.root = root + self.hpmpc = hpmpc + document = json.loads(hpmpc.read_text(encoding="utf-8")) + info = document["content"]["info"] + self.soc = info.get("socName") + self.package = info.get("packageName") + functions = document["content"]["pinmux"]["functions"] + # main.c 真正调用过的函数(O2):没有时 parse 会提示,并退回 init_bsp_pins。 + # The functions main.c really calls (O2): when there are none, parse says so and + # falls back to init_bsp_pins. + self.called = pin_project.hpm_called_functions(main_c, functions) + self.active = self.called or (["init_bsp_pins"] if "init_bsp_pins" in functions else []) + self.pins: list[dict] = [] + self.conflicts: list[tuple[str, str, str, str, str]] = [] + owners: dict[str, tuple[str, str]] = {} + for function in self.active: + for pad, selection in functions[function].get("selectPins", {}).items(): + if not selection.get("signal"): + continue + if pad in owners and owners[pad][0] != function: + self.conflicts.append( + (pad, owners[pad][0], owners[pad][1], function, selection["signal"]) + ) + owners[pad] = (function, selection["signal"]) + entry = { + "pad": pad, + "signal": selection["signal"], + "padCtls": selection.get("padCtls", {}), + "gpiom": functions[function].get("managers", {}).get("gpiom", {}).get(pad, {}), + } + # 同一 pad 被再次选中时替换前面的记录(以后一个为准)。 + # A pad that is selected again replaces the earlier record (the later one + # wins). + for index, previous in enumerate(self.pins): + if previous["pad"] == pad: + self.pins[index] = entry + break + else: + self.pins.append(entry) + + +def _pad_port_line(pad: str) -> tuple[str, int] | None: + """物理引脚名(PA10)的端口字母和引脚号;不合式样时为 None。 + The port letter and the pin line of a pad name (PA10); None for a name that does not fit. + """ + match = re.fullmatch(r"P([A-Z])(\d+)", pad) + if match is None: + return None + return match.group(1), int(match.group(2)) + + +def _gpio_name(pad: str) -> str | None: + """GPIO 对象的默认名:p 加端口字母小写加引脚号(PA10 -> pa10,用户 2026-10-07 确认)。 + The default GPIO object name: p, the lower-case port letter and the pin line + (PA10 -> pa10, confirmed by the user 2026-10-07). + """ + port_line = _pad_port_line(pad) + if port_line is None: + return None + port, line = port_line + return f"p{port.lower()}{line:d}" + + +def _gpio_entry(pad: str, pad_ctls: dict, gpiom: dict) -> dict | None: + """一个 GPIO 引脚的工程记录:端口字母、引脚号、方向(gpiom 写下的)和 pad 设置。 + The project record of one GPIO pin: the port letter, the pin line, the direction the + gpiom manager wrote and the pad settings. + """ + port_line = _pad_port_line(pad) + if port_line is None: + return None + entry = { + "Pad": pad, + "Port": port_line[0], + "Line": port_line[1], + "PadCtls": pad_ctls or {}, + } + direction = str(gpiom.get("direction") or "") + if direction == "1": + entry["Direction"] = "OUTPUT" + elif direction == "0": + entry["Direction"] = "INPUT" + return entry + + +def parse_project(directory: str, output: str | None = None, summary: bool = True) -> None: + """解析 directory 中的 HPM 工程并写出 YAML;summary 为真时打印摘要。 + Parse the HPM project in directory and write the YAML; print a summary when summary is + set. + + 输出路径默认为该目录下的 .config.yaml。调用方(libxr parse)已确认目录存在且是 HPM 工程。 + The output defaults to .config.yaml in that directory. The caller, libxr parse, has + checked that the directory exists and is an HPM project. + """ + root = Path(directory) + hpmpcs = sorted(root.glob("boards/*/*.hpmpc")) + if len(hpmpcs) != 1: + names = ", ".join(path.as_posix() for path in hpmpcs) or tr("none found", "没有找到") + logging.error( + tr( + f"{directory} must hold exactly one .hpmpc under boards/ ({names})", + f"{directory} 的 boards/ 下必须有且只有一个 .hpmpc({names})", + ) + ) + sys.exit(1) + main_c = root / "main.c" + if not main_c.is_file(): + logging.error( + tr( + f"{directory}: no root main.c; the HPM main sits at the project root", + f"{directory}:根目录没有 main.c;HPM 的 main 在工程根目录", + ) + ) + sys.exit(1) + project = Project(root, hpmpcs[0], main_c) + if project.soc is None: + logging.error( + tr( + f"{hpmpcs[0]} does not name a SoC", + f"{hpmpcs[0]} 没有给出 SoC", + ) + ) + sys.exit(1) + if not project.called: + detail = ( + tr("using the init_bsp_pins fallback", "退回 init_bsp_pins") + if project.active + else tr( + "no init_bsp_pins exists, so no pin is read", "没有 init_bsp_pins 可退,读不到引脚" + ) + ) + logging.warning( + tr( + f"{main_c} calls no pinmux function ({detail}); a pin function called from " + "elsewhere (board.c, a helper) is not visible", + f"{main_c} 没有调用任何 pinmux 函数({detail});从别处(board.c、辅助函数)" + "调用的引脚函数看不到", + ) + ) + for pad, first, first_signal, second, second_signal in project.conflicts: + logging.warning( + tr( + f"{hpmpcs[0]}: {pad} is selected by both {first} ({first_signal}) and " + f"{second} ({second_signal}); the later one wins", + f"{hpmpcs[0]}:{pad} 同时被 {first}({first_signal})和 {second}" + f"({second_signal})选中;以后一个为准", + ) + ) + + gpio: dict[str, dict] = {} + peripherals: dict[str, dict] = {} + other: dict[str, dict] = {} + # GPTMR 只在 SoC 没有 PWM 外设时生成对象(HPM5301);有 PWM 外设的(HPM5361)归入 Other + # 只作展示。判定来自芯片引脚数据里有没有 PWM 信号。 + # A GPTMR generates objects only when the SoC has no PWM peripheral (HPM5301); on a SoC + # with one (HPM5361) it lands in Other for display only. The decision comes from whether + # the chip's pin data has any PWM signal. + soc_has_pwm = pin_layout.hpm_soc_has_pwm(project.soc) + for selection in project.pins: + pad, signal, pad_ctls = selection["pad"], selection["signal"], selection["padCtls"] + canonical = pin_project.hpm_canonical(signal) + if canonical.startswith("GPIO_"): + name = _gpio_name(pad) + entry = _gpio_entry(pad, pad_ctls, selection["gpiom"]) + if name is None or entry is None: + logging.warning( + tr( + f"{hpmpcs[0]}: {pad} does not look like a GPIO pad; skipped", + f"{hpmpcs[0]}:{pad} 不是 GPIO 引脚的写法;跳过", + ) + ) + continue + if name in gpio: + logging.warning( + tr( + f"{hpmpcs[0]}: two GPIO pins are named {name}; the later one wins", + f"{hpmpcs[0]}:两个 GPIO 引脚都叫 {name};以后一个为准", + ) + ) + gpio[name] = entry + continue + recognized = pin_layout.recognize_hpm(canonical) + instance, kind, function = recognized or (canonical, "OTHER", "PIN") + if kind in GENERATED_KINDS and not (kind == "GPTMR" and soc_has_pwm): + section = GENERATED_KINDS[kind] + record = peripherals.setdefault(section, {}).setdefault( + instance, {"Peripheral": instance, "Pins": {}} + ) + if function.startswith("COMP"): + # GPTMR 的比较器输出:序号是 PWM 通道(pwm_gptmr0_ch1)。 + # A GPTMR comparator output: its index is the PWM channel (pwm_gptmr0_ch1). + index = int(re.fullmatch(r"COMP_(\d+)", function).group(1)) + channels = record.setdefault("Channels", []) + if not any(channel["Index"] == index for channel in channels): + channels.append({"Index": index, "Pad": pad}) + elif function in record["Pins"] and record["Pins"][function] != pad: + logging.warning( + tr( + f"{hpmpcs[0]}: {instance} {function} is assigned to both " + f"{record['Pins'][function]} and {pad}; the later one wins", + f"{hpmpcs[0]}:{instance} 的 {function} 同时分给了 " + f"{record['Pins'][function]} 和 {pad};以后一个为准", + ) + ) + record["Pins"][function] = pad + else: + # LibXR 还没有驱动的信号(UART、SPI、CAN、ACMP……)只作展示。 + # Signals without a LibXR driver yet (UART, SPI, CAN, ACMP, ...) are display-only. + record = other.setdefault( + instance, {"Module": kind, "Peripheral": instance, "Pins": {}} + ) + record["Pins"][function] = pad + + data = { + "Platform": "hpm", + "Hpmpc": hpmpcs[0].relative_to(root).as_posix(), + "Mcu": {"Family": "HPM", "Type": project.soc}, + "Package": project.package, + "MainFunctions": project.active, + "GPIO": gpio, + "Peripherals": {**peripherals, "Other": other} if other else peripherals, + } + + output_path = output or os.path.join(directory, ".config.yaml") + if not gpio and not peripherals and not other: + logging.warning( + tr( + "the active pinmux functions select no GPIO or peripheral pin", + "活动的 pinmux 函数没有选择任何 GPIO 或外设引脚", + ) + ) + _save_to_yaml(data, str(output_path)) + if summary: + _print_summary(data) + + +def _save_to_yaml(data: dict, output_path: str) -> bool: + """把工程数据写成 YAML,首行为 Pinmux Tool 工程的生成文件说明;成功时为 True。 + Write the project data as YAML with a generated-file notice for a Pinmux Tool project on + the first line; True on success. + """ + try: + created = os.path.dirname(output_path) + if created: + os.makedirs(created, exist_ok=True) + with open(output_path, "w", encoding="utf-8", newline="\n") as file: + file.write( + "# Generated by `libxr parse` from the HPM Pinmux Tool project; " + "do not edit by hand.\n" + ) + yaml.dump( + data, file, allow_unicode=True, sort_keys=False, default_flow_style=False, indent=2 + ) + logging.info( + tr(f"Configuration exported to: {output_path}", f"配置已导出到:{output_path}") + ) + return True + except (OSError, yaml.YAMLError) as error: + logging.error(tr(f"YAML export failed: {str(error)}", f"YAML 导出失败:{str(error)}")) + return False + + +def _print_summary(data: dict) -> None: + """向标准输出打印配置摘要:SoC、GPIO 引脚和各类外设实例。 + Print a configuration summary to standard output: the SoC, the GPIO pins and the + peripheral instances of each kind. + """ + print(tr("\n===== [Configuration Summary] =====", "\n===== [配置摘要] =====")) + mcu = data.get("Mcu", {}) + print( + tr( + f"\nSoC: {mcu.get('Type', '')} ({data.get('Package', '')})", + f"\nSoC:{mcu.get('Type', '')}({data.get('Package', '')})", + ) + ) + gpio = data.get("GPIO", {}) + print(tr(f"\nGPIO ({len(gpio)} pins):", f"\nGPIO({len(gpio)} 个引脚):")) + for label, pin in gpio.items(): + print(f" {label}: {pin['Pad']}") + print(tr("\nActive Peripherals:", "\n已启用的外设:")) + for section, group in data.get("Peripherals", {}).items(): + print(tr(f" {section}: {len(group)} instance(s)", f" {section}:{len(group)} 个实例")) + for name in group: + print(f" {name}") diff --git a/src/libxr/pin_layout.py b/src/libxr/pin_layout.py index 4052968..9f57083 100644 --- a/src/libxr/pin_layout.py +++ b/src/libxr/pin_layout.py @@ -306,6 +306,26 @@ def recognize_hpm(signal: str) -> tuple[str, str, str] | None: return match.group(1), re.sub(r"\d+$", "", match.group(1)), match.group(2) +@cache +def hpm_soc_has_pwm(model: str) -> bool: + """SoC 的引脚数据里有没有 PWM 外设的信号(HPM5361 有 20 个,HPM5301 没有):有的 SoC 上 + GPTMR 只作展示,没有的才生成 HPMPWM 的 fallback 对象。 + Whether the pin data of the SoC has PWM peripheral signals (HPM5361 has 20, HPM5301 has + none): on a SoC with them a GPTMR is display-only, and only a SoC without them generates + the HPMPWM fallback objects. + """ + soc = load_data("hpm")["socs"].get(model) + if soc is None: + return False + for package in soc["packages"].values(): + for _position, _name, _kind, _x, signals in package: + for signal, _mode in signals: + recognized = recognize_hpm(signal) + if recognized is not None and recognized[1] == "PWM": + return True + return False + + # 各平台识别信号名的函数。 # The function of each platform that recognizes a signal name. RECOGNIZERS = {"stm32": recognize_stm32, "mspm0": recognize_mspm0, "hpm": recognize_hpm} diff --git a/src/libxr/pin_project.py b/src/libxr/pin_project.py index 1b53450..7278a09 100644 --- a/src/libxr/pin_project.py +++ b/src/libxr/pin_project.py @@ -14,6 +14,7 @@ """ import json +import logging import re from dataclasses import dataclass from functools import cache @@ -473,16 +474,16 @@ def hpm_canonical(signal: str) -> str: HPM_CALL = re.compile(r"^\s*(\w+)\(\);\s*$") -def hpm_active_functions(main_c: Path, functions: dict) -> list[str]: - """main.c 在预处理条件外调用的、.hpmpc 里存在的 pinmux 函数;main.c 不存在或没有调用 - 时退回 init_bsp_pins。条件编译里的调用不算(rmcs 的 JTAG 共用引脚在 #if 里,O2 的决定)。 - The pinmux functions of the .hpmpc that the root main.c calls outside preprocessor conditions; the - fallback is init_bsp_pins when main.c does not exist or calls none. A call inside a - conditional does not count (rmcs' JTAG shared pins sit in an #if, the decision of O2). +def hpm_called_functions(main_c: Path, functions: dict) -> list[str]: + """main.c 在预处理条件外调用的 pinmux 函数,按调用顺序;main.c 不存在时为空。条件编译里的 + 调用不算(rmcs 的 JTAG 共用引脚在 #if 里,O2 的决定)。 + The pinmux functions main.c calls outside preprocessor conditions, in call order; empty + when main.c does not exist. A call inside a conditional does not count (rmcs' JTAG shared + pins sit in an #if, the decision of O2). """ if not main_c.is_file(): - return ["init_bsp_pins"] if "init_bsp_pins" in functions else [] - active: list[str] = [] + return [] + called: list[str] = [] depth = 0 for line in main_c.read_text(encoding="utf-8", errors="replace").splitlines(): directive = HPM_DIRECTIVE.match(line) @@ -493,11 +494,21 @@ def hpm_active_functions(main_c: Path, functions: dict) -> list[str]: depth = max(0, depth - 1) continue call = HPM_CALL.match(line) - if call and depth == 0 and call.group(1) in functions and call.group(1) not in active: - active.append(call.group(1)) - if not active and "init_bsp_pins" in functions: - active = ["init_bsp_pins"] - return active + if call and depth == 0 and call.group(1) in functions and call.group(1) not in called: + called.append(call.group(1)) + return called + + +def hpm_active_functions(main_c: Path, functions: dict) -> list[str]: + """main.c 在预处理条件外调用的、.hpmpc 里存在的 pinmux 函数;main.c 不存在或没有调用 + 时退回 init_bsp_pins。 + The pinmux functions of the .hpmpc that the root main.c calls outside preprocessor + conditions; the fallback is init_bsp_pins when main.c does not exist or calls none. + """ + called = hpm_called_functions(main_c, functions) + if called: + return called + return ["init_bsp_pins"] if "init_bsp_pins" in functions else [] def hpm_assignments(hpmpc: Path, main_c: Path, layout: PinLayout) -> dict[str, dict]: @@ -514,8 +525,20 @@ def hpm_assignments(hpmpc: Path, main_c: Path, layout: PinLayout) -> dict[str, d functions = json.loads(hpmpc.read_text(encoding="utf-8"))["content"]["pinmux"]["functions"] by_name = {pin.name: pin for pin in layout.pins} assigned: dict[str, dict] = {} + owners: dict[str, tuple[str, str]] = {} for function in hpm_active_functions(main_c, functions): for pad, selection in functions[function].get("selectPins", {}).items(): + if pad in owners and owners[pad][0] != function: + logging.warning( + tr( + f"{hpmpc}: {pad} is selected by both {owners[pad][0]} " + f"({owners[pad][1]}) and {function} ({selection.get('signal')}); " + "the later one wins", + f"{hpmpc}:{pad} 同时被 {owners[pad][0]}({owners[pad][1]})和 " + f"{function}({selection.get('signal')})选中;以后一个为准", + ) + ) + owners[pad] = (function, selection.get("signal") or "") pin = by_name.get(pad) if pin is None or not selection.get("signal"): continue @@ -531,12 +554,12 @@ def hpm_assignments(hpmpc: Path, main_c: Path, layout: PinLayout) -> dict[str, d } continue recognized = pin_layout.recognize_hpm(canonical) - instance, kind, function = recognized or (canonical, "", "") + instance, kind, pin_function = recognized or (canonical, "", "") assigned[pin.name] = { "signal": canonical, "peripheral": instance, "kind": kind, - "function": function, + "function": pin_function, "matched": canonical in pin.signals, } return assigned diff --git a/tests/data/hpm/hpm5301evklite.hpmpc b/tests/data/hpm/hpm5301evklite.hpmpc new file mode 100644 index 0000000..f69b8c9 --- /dev/null +++ b/tests/data/hpm/hpm5301evklite.hpmpc @@ -0,0 +1,298 @@ +{ + "clientKey": "e7ee1b8eb71cbdfffc3236f8bf62fbdf", + "secretKey": "52c36fb76cad5cb9a878bcdee4400bc0", + "content": { + "pid": "9497509b-eefd-4954-80df-5398d8aded77", + "info": { + "projectName": "tool_config_trimmed_5301", + "sdkName": "1.13.0", + "socName": "HPM5301", + "packageName": "QFN48", + "createTime": 1791298383401, + "updateTime": 1791298383401, + "vscodePid": "66927f38-37ed-42b1-8491-934af04e0eeb" + }, + "pinmux": { + "functions": { + "init_bsp_pins": { + "selectPins": { + "PA01": { + "signal": "UART0.A.RXD", + "padCtls": {} + }, + "PA00": { + "signal": "UART0.A.TXD", + "padCtls": {} + }, + "PB15": { + "signal": "UART3.B.TXD", + "padCtls": {} + }, + "PB14": { + "signal": "UART3.B.RXD", + "padCtls": {} + }, + "PB13": { + "signal": "I2C3.C.SCL", + "padCtls": { + "LOOP_BACK": "1", + "OD": "1", + "PE": "1", + "PS": "1" + } + }, + "PB12": { + "signal": "I2C3.C.SDA", + "padCtls": { + "PE": "1", + "PS": "1", + "OD": "1", + "LOOP_BACK": "1" + } + }, + "PA29": { + "signal": "SPI1.A.MOSI", + "padCtls": { + "SR": "1", + "SPD": "3" + } + }, + "PA28": { + "signal": "SPI1.A.MISO", + "padCtls": { + "SPD": "3", + "SR": "1" + } + }, + "PA26": { + "signal": "SPI1.A.CS[0]", + "padCtls": { + "SR": "1", + "SPD": "3", + "PE": "1", + "PS": "1" + } + }, + "PA27": { + "signal": "SPI1.A.SCLK", + "padCtls": { + "LOOP_BACK": "1", + "SR": "1", + "SPD": "3" + } + }, + "PB10": { + "signal": "ADC0.A.IN2", + "padCtls": {} + }, + "PB09": { + "signal": "ACMP.G.COMP[1]", + "padCtls": {} + }, + "PB11": { + "signal": "ACMP.A.CMP1_INN4", + "padCtls": {} + }, + "PA10": { + "signal": "GPIO.A.A[10]", + "padCtls": {} + }, + "PA03": { + "signal": "GPIO.A.A[03]", + "padCtls": { + "PE": "1", + "PS": "0", + "HYS": "1" + } + }, + "PA25": { + "signal": "USBPHY.A.USB_DM", + "padCtls": {} + }, + "PA24": { + "signal": "USBPHY.A.USB_DP", + "padCtls": {} + }, + "PY01": { + "signal": "USB0.C.OC", + "padCtls": {} + }, + "PY00": { + "signal": "USB0.C.ID", + "padCtls": {} + }, + "PB08": { + "signal": "GPTMR0.B.COMP[1]", + "padCtls": {} + } + }, + "managers": { + "gpiom": { + "PA10": { + "direction": "1", + "gpioController": "1", + "outputLevel": "1", + "gpioControllerHide": "[]" + }, + "PA03": { + "direction": "0", + "gpioController": "1", + "interrupt": "0", + "gpioControllerHide": "[]" + } + } + } + } + }, + "sorter": [ + "init_bsp_pins" + ] + }, + "clock": { + "functions": { + "init_acmp0_clock": { + "selectClocks": { + "srcClocks": [], + "funcClocks": [] + }, + "enableClocks": { + "clk_acmp0": 0 + } + }, + "init_adc0_bus_clock": { + "selectClocks": { + "srcClocks": [ + "osc32k", + "osc24m" + ], + "funcClocks": [ + "clk_top_adc0" + ], + "pllVcoClocks": [ + "pll0", + "pll1" + ], + "selfOnlyFuncClocks": [ + "clk_top_adc0" + ] + }, + "enableClocks": { + "clk_top_adc0": "0" + } + }, + "init_board_clock": { + "selectClocks": { + "srcClocks": [], + "funcClocks": [] + }, + "enableClocks": { + "clk_top_cpu0": 0, + "clk_top_ahb0": 0, + "clk_lmm0": 0, + "clk_top_mct0": 0, + "clk_rom": 0, + "clk_mot0": 0, + "clk_gpio": 0, + "clk_hdma": 0, + "clk_top_xpi0": 0 + } + }, + "init_board_clock_source": { + "selectClocks": { + "srcClocks": [ + "clk0_pll0", + "clk1_pll0", + "clk2_pll0" + ], + "funcClocks": [ + "clk_top_mct0" + ] + }, + "enableClocks": {}, + "funcClkConfig": { + "clk_top_mct0": { + "from": "osc24m", + "divFactor": 1 + } + }, + "pllClkConfig": { + "pll0": { + "params": { + "mfd": 240000000, + "mfi": 30, + "mfn": 0, + "frequency": 720000000 + } + } + } + }, + "init_gptmr0_clock": { + "selectClocks": { + "srcClocks": [], + "funcClocks": [] + }, + "enableClocks": { + "clk_top_tmr0": 0 + } + }, + "init_i2c3_clock": { + "selectClocks": { + "srcClocks": [], + "funcClocks": [] + }, + "enableClocks": { + "clk_top_i2c3": 0 + } + }, + "init_spi1_clock": { + "selectClocks": { + "srcClocks": [], + "funcClocks": [] + }, + "enableClocks": { + "clk_top_spi1": 0 + } + }, + "init_uart0_clock": { + "selectClocks": { + "srcClocks": [], + "funcClocks": [] + }, + "enableClocks": { + "clk_top_urt0": 0 + } + }, + "init_uart3_clock": { + "selectClocks": { + "srcClocks": [], + "funcClocks": [] + }, + "enableClocks": { + "clk_top_urt3": 0 + } + }, + "init_usb0_clock": { + "selectClocks": { + "srcClocks": [], + "funcClocks": [] + }, + "enableClocks": { + "clk_usb0": 0 + } + } + }, + "sorter": [ + "init_board_clock", + "init_board_clock_source", + "init_uart0_clock", + "init_uart3_clock", + "init_i2c3_clock", + "init_spi1_clock", + "init_adc0_bus_clock", + "init_gptmr0_clock", + "init_usb0_clock", + "init_acmp0_clock" + ] + } + } +} \ No newline at end of file diff --git a/tests/data/hpm/hpm5301evklite_app.yaml b/tests/data/hpm/hpm5301evklite_app.yaml new file mode 100644 index 0000000..d669fc5 --- /dev/null +++ b/tests/data/hpm/hpm5301evklite_app.yaml @@ -0,0 +1,2 @@ +dependency: + - board_gpt_pin diff --git a/tests/data/hpm/hpm5301evklite_expected_app_main.cpp b/tests/data/hpm/hpm5301evklite_expected_app_main.cpp new file mode 100644 index 0000000..e7a30b9 --- /dev/null +++ b/tests/data/hpm/hpm5301evklite_expected_app_main.cpp @@ -0,0 +1,56 @@ +// Generated by `libxr gen`; do not edit by hand. +// Generated from boards/hpm5301evklite/tool_config.hpmpc (HPM5301); the Pinmux Tool +// configures the pins via init_bsp_pins() in main.c and main.c stays BSP-owned. Put +// application code between the "User Code Begin" and "User Code End" markers. +#include "app_main.h" + +#include "libxr.hpp" +#include "hpm_gpio.hpp" +#include "hpm_i2c.hpp" +#include "hpm_pwm.hpp" +#include "hpm_soc.h" +#include "hpm_timebase.hpp" +#include "xrobot_main.hpp" + +using namespace LibXR; + +/* User Code Begin 1 */ +/* User Code End 1 */ + +extern "C" void app_main(void) +{ + /* User Code Begin 2 */ + /* User Code End 2 */ + + // Timebase and platform + static HPMTimebase timebase; + PlatformInit(); + + // GPIO: init_bsp_pins() configured pa10 (PA10) as an output pin, pa3 (PA03) as an input + // pin with a pull-down. The interrupt edge comes from the pinmux and every object + // carries its port IRQ; RegisterCallback and EnableInterrupt belong to the consumer (a + // Module or the User Code). + static HPMGPIO pa10(HPM_GPIO0, GPIO_DI_GPIOA, 10, IRQn_GPIO0_A); + static HPMGPIO pa3(HPM_GPIO0, GPIO_DI_GPIOA, 3, IRQn_GPIO0_A); + + // I2C: blocking transfers; the DMA-backed background path runs on dma_mgr. + static HPMI2C i2c3(HPM_I2C3, clock_i2c3, {100000U}); + + // PWM on a GPTMR comparator: the SoC has no PWM peripheral, so HPMPWM takes its GPTMR + // fallback path; the duty comparator is fixed at 0 and SetConfig is called when + // libxr_config sets a frequency. + static HPMPWM pwm_gptmr0_ch1(reinterpret_cast(HPM_GPTMR0), + clock_gptmr0, 1, 0, HPMPWM::Polarity::NORMAL); + + // Hardware registration + XR_REGISTER(pa10, LibXR::GPIO); + XR_REGISTER(pa3, LibXR::GPIO); + + XR_REGISTER(pwm_gptmr0_ch1, LibXR::PWM); + + XR_REGISTER(i2c3, LibXR::I2C); + + /* User Code Begin 3 */ + /* User Code End 3 */ + XROBOT_MAIN(); +} diff --git a/tests/data/hpm/hpm5301evklite_main.c b/tests/data/hpm/hpm5301evklite_main.c new file mode 100644 index 0000000..0e2c4c6 --- /dev/null +++ b/tests/data/hpm/hpm5301evklite_main.c @@ -0,0 +1,32 @@ +// Board bring-up of the HPM5301EVKLite BSP. +// init_bsp_pins() runs first so the console pins exist before the UART clock is +// enabled; it and the peripheral clock functions are generated by the HPM Pinmux +// Tool from boards/hpm5301evklite/tool_config.hpmpc. The LibXR objects for these +// peripherals are created in app_main(). +#include "app_main.h" +#include "board.h" +#include "clock.h" +#include "pinmux.h" + +int main(void) +{ + // Pins: UART0 PA00/PA01 (console), UART3 PB15/PB14, I2C3 PB13/PB12, SPI1 PA26-PA29, + // GPTMR0 COMP1 PB08, ADC0 IN2 PB10, ACMP COMP1 PB09 / CMP1_INN4 PB11, LED PA10, + // KEY&BOOT PA03, USB0 PA24/PA25 and PY00 (ID) / PY01 (OC) + init_bsp_pins(); + + // SDK board: PLL/clock tree, console on UART0, banner + board_init(); + + // Peripheral clocks + init_uart3_clock(); + init_i2c3_clock(); + init_spi1_clock(); + init_gptmr0_clock(); + init_adc0_bus_clock(); + init_acmp0_clock(); + init_usb0_clock(); + + app_main(); + return 0; +} diff --git a/tests/data/hpm/rmcs_slave_lite.hpmpc b/tests/data/hpm/rmcs_slave_lite.hpmpc new file mode 100644 index 0000000..0c98c26 --- /dev/null +++ b/tests/data/hpm/rmcs_slave_lite.hpmpc @@ -0,0 +1,305 @@ +{ + "clientKey": "c9bee2ba0b04fd2fe7d6a22347310040", + "secretKey": "d248f40f80b94d4d2125d03249f3888f", + "content": { + "pid": "249b3cd4-8686-48fd-8709-9da1368a6680", + "info": { + "projectName": "rmcs_slave_lite", + "sdkName": "1.13.0", + "socName": "HPM5361", + "packageName": "QFN48", + "createTime": 1791236041366, + "updateTime": 1791302904192 + }, + "pinmux": { + "functions": { + "init_bsp_jtag_shared_pins": { + "selectPins": { + "PA04": { + "signal": "MCAN1.A.RXD", + "padCtls": {} + }, + "PA05": { + "signal": "MCAN1.A.TXD", + "padCtls": {} + }, + "PA06": { + "signal": "PWM1.A.P[6]", + "padCtls": {} + }, + "PA07": { + "signal": "GPIO.A.A[07]", + "padCtls": { + "HYS": "1", + "PE": "1", + "PS": "1" + } + } + }, + "managers": { + "gpiom": { + "PA07": { + "direction": "0", + "gpioController": "1", + "interrupt": "0", + "gpioControllerHide": "[]" + } + } + } + }, + "init_bsp_pins": { + "selectPins": { + "PA01": { + "signal": "MCAN0.A.RXD", + "padCtls": {} + }, + "PA00": { + "signal": "MCAN0.A.TXD", + "padCtls": {} + }, + "PA09": { + "signal": "MCAN2.A.RXD", + "padCtls": {} + }, + "PA08": { + "signal": "MCAN2.A.TXD", + "padCtls": {} + }, + "PB14": { + "signal": "MCAN3.C.RXD", + "padCtls": {} + }, + "PB15": { + "signal": "MCAN3.C.TXD", + "padCtls": {} + }, + "PY01": { + "signal": "UART0.G.RXD", + "padCtls": { + "HYS": "1", + "PE": "1", + "PS": "1" + } + }, + "PY00": { + "signal": "UART0.G.TXD", + "padCtls": { + "PE": "1", + "PS": "1" + } + }, + "PB09": { + "signal": "UART2.B.RXD", + "padCtls": { + "HYS": "1", + "PE": "1", + "PS": "1" + } + }, + "PB08": { + "signal": "UART2.B.TXD", + "padCtls": { + "PE": "1", + "PS": "1" + } + }, + "PA30": { + "signal": "UART7.A.RXD", + "padCtls": { + "PE": "1", + "PS": "1", + "HYS": "1" + } + }, + "PA27": { + "signal": "SPI1.A.SCLK", + "padCtls": { + "LOOP_BACK": "1" + } + }, + "PA28": { + "signal": "SPI1.A.MISO", + "padCtls": {} + }, + "PA29": { + "signal": "SPI1.A.MOSI", + "padCtls": {} + }, + "PB11": { + "signal": "GPIO.A.B[11]", + "padCtls": {} + }, + "PB13": { + "signal": "GPIO.A.B[13]", + "padCtls": {} + }, + "PB12": { + "signal": "GPIO.A.B[12]", + "padCtls": {} + }, + "PB10": { + "signal": "GPIO.A.B[10]", + "padCtls": {} + }, + "PA31": { + "signal": "GPIO.A.A[31]", + "padCtls": { + "HYS": "1", + "PE": "1", + "PS": "0" + } + }, + "PA10": { + "signal": "GPTMR0.A.COMP[2]", + "padCtls": {} + }, + "PA26": { + "signal": "GPTMR2.A.COMP[2]", + "padCtls": {} + }, + "PA25": { + "signal": "USBPHY.A.USB_DM", + "padCtls": {} + }, + "PA24": { + "signal": "USBPHY.A.USB_DP", + "padCtls": {} + } + }, + "managers": { + "gpiom": { + "PB11": { + "direction": "1", + "gpioController": "1", + "gpioControllerHide": "[]", + "outputLevel": "1" + }, + "PB13": { + "direction": "1", + "gpioController": "1", + "gpioControllerHide": "[]", + "outputLevel": "1" + }, + "PB12": { + "direction": "0", + "gpioController": "1", + "interrupt": "0", + "gpioControllerHide": "[]" + }, + "PB10": { + "direction": "0", + "gpioController": "1", + "interrupt": "0", + "gpioControllerHide": "[]" + }, + "PA31": { + "direction": "0", + "gpioController": "1", + "interrupt": "0", + "gpioControllerHide": "[]" + } + } + } + } + }, + "sorter": [ + "init_bsp_pins", + "init_bsp_jtag_shared_pins" + ] + }, + "clock": { + "functions": { + "init_clocks": { + "selectClocks": { + "srcClocks": [ + "osc32k", + "osc24m", + "clk0_pll0", + "clk1_pll0", + "clk2_pll0", + "clk0_pll1", + "clk1_pll1", + "clk2_pll1", + "clk3_pll1" + ], + "funcClocks": [ + "clk_top_can0", + "clk_top_can1", + "clk_top_can2", + "clk_top_can3", + "clk_top_urt0", + "clk_top_urt2", + "clk_top_urt7", + "clk_top_spi1", + "clk_top_tmr0", + "clk_top_tmr2", + "clk_usb0" + ], + "selfOnlyFuncClocks": [], + "pllVcoClocks": [ + "pll0", + "pll1" + ] + }, + "enableClocks": { + "clk_top_can0": "0", + "clk_top_can1": "0", + "clk_top_can2": "0", + "clk_top_can3": "0", + "clk_top_tmr0": "0", + "clk_top_tmr2": "0", + "clk_top_spi1": "0", + "clk_top_urt0": "0", + "clk_top_urt2": "0", + "clk_top_urt7": "0", + "clk_usb0": "0" + }, + "pllClkConfig": { + "pll0": { + "params": { + "mfi": 40, + "mfn": 0, + "mfd": 240000000 + } + }, + "pll1": { + "params": { + "mfi": 40, + "mfn": 0, + "mfd": 240000000 + } + } + }, + "funcClkConfig": { + "clk_top_cpu0": { + "from": "clk0_pll0", + "divFactor": 2 + }, + "clk_top_mct0": { + "from": "osc24m", + "divFactor": 1 + } + }, + "srcClkConfig": { + "clk1_pll1": { + "divFactor": 3 + }, + "clk2_pll1": { + "divFactor": 7 + }, + "clk0_pll1": { + "divFactor": 1 + }, + "clk1_pll0": { + "divFactor": 3 + }, + "clk2_pll0": { + "divFactor": 7 + } + } + } + }, + "sorter": [] + } + } +} \ No newline at end of file diff --git a/tests/data/hpm/rmcs_slave_lite_app.yaml b/tests/data/hpm/rmcs_slave_lite_app.yaml new file mode 100644 index 0000000..d669fc5 --- /dev/null +++ b/tests/data/hpm/rmcs_slave_lite_app.yaml @@ -0,0 +1,2 @@ +dependency: + - board_gpt_pin diff --git a/tests/data/hpm/rmcs_slave_lite_expected_app_main.cpp b/tests/data/hpm/rmcs_slave_lite_expected_app_main.cpp new file mode 100644 index 0000000..2bca9fc --- /dev/null +++ b/tests/data/hpm/rmcs_slave_lite_expected_app_main.cpp @@ -0,0 +1,48 @@ +// Generated by `libxr gen`; do not edit by hand. +// Generated from boards/rmcs_slave_lite/tool_config.hpmpc (HPM5361); the Pinmux Tool +// configures the pins via init_bsp_pins() in main.c and main.c stays BSP-owned. Put +// application code between the "User Code Begin" and "User Code End" markers. +#include "app_main.h" + +#include "libxr.hpp" +#include "hpm_gpio.hpp" +#include "hpm_soc.h" +#include "hpm_timebase.hpp" +#include "xrobot_main.hpp" + +using namespace LibXR; + +/* User Code Begin 1 */ +/* User Code End 1 */ + +extern "C" void app_main(void) +{ + /* User Code Begin 2 */ + /* User Code End 2 */ + + // Timebase and platform + static HPMTimebase timebase; + PlatformInit(); + + // GPIO: init_bsp_pins() configured pb11 (PB11) as an output pin, pb13 (PB13) as an + // output pin, pb12 (PB12) as an input pin, pb10 (PB10) as an input pin, pa31 (PA31) as + // an input pin with a pull-down. The interrupt edge comes from the pinmux and every + // object carries its port IRQ; RegisterCallback and EnableInterrupt belong to the + // consumer (a Module or the User Code). + static HPMGPIO pb11(HPM_GPIO0, GPIO_DI_GPIOB, 11, IRQn_GPIO0_B); + static HPMGPIO pb13(HPM_GPIO0, GPIO_DI_GPIOB, 13, IRQn_GPIO0_B); + static HPMGPIO pb12(HPM_GPIO0, GPIO_DI_GPIOB, 12, IRQn_GPIO0_B); + static HPMGPIO pb10(HPM_GPIO0, GPIO_DI_GPIOB, 10, IRQn_GPIO0_B); + static HPMGPIO pa31(HPM_GPIO0, GPIO_DI_GPIOA, 31, IRQn_GPIO0_A); + + // Hardware registration + XR_REGISTER(pb11, LibXR::GPIO); + XR_REGISTER(pb13, LibXR::GPIO); + XR_REGISTER(pb12, LibXR::GPIO); + XR_REGISTER(pb10, LibXR::GPIO); + XR_REGISTER(pa31, LibXR::GPIO); + + /* User Code Begin 3 */ + /* User Code End 3 */ + XROBOT_MAIN(); +} diff --git a/tests/data/hpm/rmcs_slave_lite_main.c b/tests/data/hpm/rmcs_slave_lite_main.c new file mode 100644 index 0000000..d167cea --- /dev/null +++ b/tests/data/hpm/rmcs_slave_lite_main.c @@ -0,0 +1,29 @@ +// Board bring-up of the RMCS Slave Lite BSP. +// Sets up the SDK board, then the pins and the clocks of the peripherals the board uses. +// The pins come from init_bsp_pins() and the clocks from init_clocks(); both are generated +// by the HPM Pinmux Tool from boards/rmcs_slave_lite/tool_config.hpmpc. The LibXR objects +// for these peripherals are created in app_main(). +#include "app_main.h" +#include "board.h" +#include "clock.h" +#include "pinmux.h" + +int main(void) +{ + // Pins: CAN0 PA00/PA01, CAN2 PA08/PA09, CAN3 PB15/PB14, UART0 PY00/PY01 (console), + // UART2 PB08/PB09, DBUS UART7 RX PA30, SPI1 PA27-PA29, IMU CS PB11/PB13 (high) and INT + // PB12/PB10, USB switch PA31, buzzer GPTMR0 COMP2 PA10, IMU heater GPTMR2 COMP2 PA26, + // USB0 PA24/PA25. They come first so the console pins exist when board_init() prints. + init_bsp_pins(); + + // Clocks (init_clocks(): PLLs, CPU/bus and peripheral clocks), console on UART0, PMP + board_init(); + +#if !RMCS_KEEP_JTAG + // PA04-PA07 stop being JTAG: CAN1 PA04/PA05, WS2812 PWM1 P6 PA06 and KEY PA07 + init_bsp_jtag_shared_pins(); +#endif + + app_main(); + return 0; +} diff --git a/tests/test_cli.py b/tests/test_cli.py index 26c070f..9a8f42f 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -6,6 +6,7 @@ import io import logging import os +import shutil import subprocess import sys import tempfile @@ -13,7 +14,7 @@ from pathlib import Path from unittest import mock -from fixtures import IOC, TestCase, run_libxr +from fixtures import DATA, IOC, TestCase, run_libxr from libxr import cli, update_notice @@ -43,7 +44,8 @@ def test_an_unrecognized_project_is_an_error(self): [ f"ERROR:root:{self.root}: no supported platform recognized " "(stm32: a directory with an STM32CubeMX .ioc file; mspm0: a directory with " - "a SysConfig .syscfg file in its root)" + "a SysConfig .syscfg file in its root; hpm: a directory with an app.yaml and " + "a .hpmpc under boards/)" ], ) @@ -97,7 +99,8 @@ def test_without_a_recorded_platform_gen_reads_the_project_directory(self): [ "ERROR:root:.: no supported platform recognized " "(stm32: a directory with an STM32CubeMX .ioc file; mspm0: a directory with " - "a SysConfig .syscfg file in its root)" + "a SysConfig .syscfg file in its root; hpm: a directory with an app.yaml and " + "a .hpmpc under boards/)" ], ) self.assertFalse(output.exists()) @@ -114,10 +117,26 @@ def test_an_unsupported_recorded_platform_is_an_error(self): [ f"ERROR:root:{config}: platform 'zephyr' is not supported " "(stm32: a directory with an STM32CubeMX .ioc file; mspm0: a directory with " - "a SysConfig .syscfg file in its root)" + "a SysConfig .syscfg file in its root; hpm: a directory with an app.yaml and " + "a .hpmpc under boards/)" ], ) + def test_an_hpm_project_is_detected(self): + project = self.root / "hpm" + (project / "boards" / "hpm5301evklite").mkdir(parents=True) + shutil.copy( + DATA / "hpm" / "hpm5301evklite.hpmpc", + project / "boards" / "hpm5301evklite" / "tool_config.hpmpc", + ) + (project / "app.yaml").write_text("dependency: []\n", encoding="utf-8") + (project / "main.c").write_text("int main(void) { init_bsp_pins(); }\n", encoding="utf-8") + self.assertEqual(run_libxr("parse", "-d", str(project))[0], 0) + self.assertEqual( + (project / ".config.yaml").read_text(encoding="utf-8").splitlines()[1], + "Platform: hpm", + ) + def test_a_missing_directory_is_an_error(self): config = self.root / "cubemx.yaml" config.write_text("Mcu: {}\n", encoding="utf-8") @@ -326,6 +345,29 @@ def test_every_option_reaches_its_argument(self): ["stm32", "toolchain", "clang", "-p"], {"directory": ".", "compiler": "clang", "std": "picolibc", **quiet, **toolchain}, ), + ( + ["hpm", "setup"], + { + "directory": ".", + "output": "", + "xrobot": None, + "libxr_config": "", + **quiet, + "run": "cmd_hpm_setup", + }, + ), + ( + ["hpm", "setup", "-d", "p", "-o", "o.cpp", "--xrobot"] + + ["--libxr-config", "c.yaml", "--verbose"], + { + "directory": "p", + "output": "o.cpp", + "xrobot": True, + "libxr_config": "c.yaml", + **loud, + "run": "cmd_hpm_setup", + }, + ), ): with self.subTest(argv=argv): self.assertEqual(self.parsed(*argv), expected) diff --git a/tests/test_generator_code_hpm.py b/tests/test_generator_code_hpm.py new file mode 100644 index 0000000..4461373 --- /dev/null +++ b/tests/test_generator_code_hpm.py @@ -0,0 +1,331 @@ +"""HPM 的解析与生成(libxr.peripheral_analyzer_hpm、libxr.generator_code_hpm):工程 YAML 的 +内容、生成的 app_main 源文件、重新生成时保留的用户代码,以及解析的两条提示(main.c 不调用 +pinmux 函数、两个活动函数选中同一个 pad)。 +Parsing and generating an HPM project (libxr.peripheral_analyzer_hpm, +libxr.generator_code_hpm): the project YAML, the generated app_main source, the user code kept +on regeneration, and the two parse notices (a main.c that calls no pinmux function, and two +active functions that select the same pad). + +测试固件是两个 HPM BSP 的真实工程文件:app.yaml、根目录 main.c 和 boards/ 下 Pinmux Tool 导出的 +.hpmpc。测试把固件复制进临时工程,在那里解析和生成。 +The fixtures are the real project files of the two HPM BSPs: app.yaml, the root main.c and the +.hpmpc under boards/ that the Pinmux Tool exported. A test copies the fixtures into a temporary +project and parses and generates there. +""" + +import json +import shutil +import tempfile +import textwrap +import unittest +from pathlib import Path + +import yaml +from fixtures import DATA, TestCase + +from libxr import generator_code_hpm as generator +from libxr.peripheral_analyzer_hpm import parse_project + + +def project_of(name: str) -> Path: + """把 name 的工程文件复制进一个临时工程:根目录的 app.yaml 和 main.c,boards/name/ 下的 + .hpmpc。返回工程目录,测试结束时删除。 + Copy the project files of name into a temporary project: the app.yaml and main.c in the + root and the .hpmpc under boards/name/. The directory is returned and removed at the end + of the test. + """ + root = Path(tempfile.mkdtemp(prefix="libxr-hpm-")) + shutil.copy(DATA / "hpm" / f"{name}_app.yaml", root / "app.yaml") + shutil.copy(DATA / "hpm" / f"{name}_main.c", root / "main.c") + board = root / "boards" / name + board.mkdir(parents=True) + shutil.copy(DATA / "hpm" / f"{name}.hpmpc", board / "tool_config.hpmpc") + return root + + +class Parsing(TestCase): + """libxr parse:工程 YAML 由 .hpmpc 和根目录 main.c 的调用组成。 + libxr parse: the project YAML comes from the .hpmpc and the calls of the root main.c. + """ + + def parse(self, name: str) -> dict: + """解析 name 的临时工程,返回写出的工程 YAML。 + Parse the temporary project of name and return the project YAML it wrote. + """ + root = project_of(name) + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + parse_project(str(root), summary=False) + return yaml.safe_load((root / ".config.yaml").read_text(encoding="utf-8")) + + def test_the_soc_the_package_and_the_active_functions_come_from_the_project(self): + data = self.parse("hpm5301evklite") + self.assertEqual(data["Platform"], "hpm") + self.assertEqual(data["Hpmpc"], "boards/hpm5301evklite/tool_config.hpmpc") + self.assertEqual(data["Mcu"], {"Family": "HPM", "Type": "HPM5301"}) + self.assertEqual(data["Package"], "QFN48") + self.assertEqual(data["MainFunctions"], ["init_bsp_pins"]) + + def test_gpio_pins_carry_the_pad_the_direction_and_the_pull(self): + gpio = self.parse("hpm5301evklite")["GPIO"] + self.assertEqual( + gpio["pa10"], + {"Pad": "PA10", "Port": "A", "Line": 10, "PadCtls": {}, "Direction": "OUTPUT"}, + ) + self.assertEqual(gpio["pa3"]["Direction"], "INPUT") + # KEY 引脚下拉:padCtls 使能下拉(PE=1,PS=0)。 + # The KEY pin pulls down: padCtls enables the pull-down (PE=1, PS=0). + self.assertEqual(gpio["pa3"]["PadCtls"]["PE"], "1") + self.assertEqual(gpio["pa3"]["PadCtls"]["PS"], "0") + + def test_peripherals_carry_the_i2c_the_pwm_channels_and_the_other_modules(self): + peripherals = self.parse("hpm5301evklite")["Peripherals"] + self.assertEqual(peripherals["I2C"]["I2C3"]["Pins"], {"SCL": "PB13", "SDA": "PB12"}) + # 5301 没有 PWM 外设(引脚数据里没有 PWM 信号):GPTMR 的比较器生成 PWM 对象。 + # A HPM5301 has no PWM peripheral (no PWM signal in its pin data): the GPTMR + # comparators generate PWM objects. + self.assertEqual(peripherals["PWM"]["GPTMR0"]["Channels"], [{"Index": 1, "Pad": "PB08"}]) + # UART 和 SPI 被认出但驱动还压着,只作展示。 + # UART and SPI are recognized but their drivers are held back; display only. + self.assertEqual(peripherals["Other"]["UART0"]["Module"], "UART") + self.assertEqual(peripherals["Other"]["SPI1"]["Pins"]["SCLK"], "PA27") + self.assertNotIn("GPIO", peripherals) + + def test_the_jtag_pins_of_a_conditional_function_stay_out(self): + # O2:rmcs 的 init_bsp_jtag_shared_pins 在 #if 里,PA07(KEY)不出现。5361 有 PWM + # 外设(引脚数据里有 PWM 信号),蜂鸣器和 IMU 加热器的 GPTMR 比较器归入 Other 只作 + # 展示。 + # O2: the init_bsp_jtag_shared_pins of rmcs sits in #if, so PA07 (the KEY) stays + # out. A HPM5361 has a PWM peripheral (its pin data carries PWM signals), so the + # GPTMR comparators of the buzzer and the IMU heater land in Other for display only. + data = self.parse("rmcs_slave_lite") + self.assertEqual(data["Mcu"], {"Family": "HPM", "Type": "HPM5361"}) + self.assertEqual(data["MainFunctions"], ["init_bsp_pins"]) + self.assertNotIn("pa7", data["GPIO"]) + self.assertEqual(data["GPIO"]["pb11"]["Direction"], "OUTPUT") + self.assertNotIn("PWM", data["Peripherals"]) + self.assertEqual(data["Peripherals"]["Other"]["GPTMR2"]["Pins"]["COMP_2"], "PA26") + + +class Generation(TestCase): + """libxr gen:生成的 app_main 源文件与设置,以及重新生成时保留的用户代码。 + libxr gen: the generated app_main source and settings, and the user code kept on + regeneration. + """ + + def setUp(self): + super().setUp() + generator.initialize_registry() + generator.reset_settings() + + def generate(self, name: str, use_xrobot: bool = True) -> tuple[Path, str]: + """解析 name 的临时工程并生成 app_main 源文件;工程里的 User/app_main.cpp 先放上审查过 + 的输出(重新生成的起点)。返回工程目录和重新生成的文本。 + Parse the temporary project of name and generate the app_main source; the reviewed + output is placed at User/app_main.cpp first, as the starting point of the + regeneration. The project directory and the regenerated text are returned. + """ + root = project_of(name) + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + parse_project(str(root), summary=False) + output = root / "User" / "app_main.cpp" + output.parent.mkdir() + reviewed = DATA / "hpm" / f"{name}_expected_app_main.cpp" + if use_xrobot: + shutil.copy(reviewed, output) + generator.generate(str(root / ".config.yaml"), str(output), use_xrobot, "") + return root, output.read_text(encoding="utf-8") + + def test_the_generated_source_matches_the_reviewed_output(self): + for name in ("hpm5301evklite", "rmcs_slave_lite"): + with self.subTest(name=name): + _root, code = self.generate(name) + expected = (DATA / "hpm" / f"{name}_expected_app_main.cpp").read_text( + encoding="utf-8" + ) + self.assertEqual(code, expected) + + def test_the_written_settings_hold_the_defaults_the_generated_code_uses(self): + root, code = self.generate("hpm5301evklite") + settings = yaml.safe_load((root / "User" / "libxr_config.yaml").read_text(encoding="utf-8")) + self.assertEqual(settings["I2C"]["i2c3"]["speed"], 100000) + self.assertIn("frequency", settings["PWM"]["pwm_gptmr0_ch1"]) + self.assertNotIn("USART", settings) + self.assertNotIn("SYSTEM", settings) + # 速率按设置写出,重新生成只写有变化的文件之外,文本保持不变。 + # The speed follows the setting; regenerating the same project writes the same text. + self.assertIn("static HPMI2C i2c3(HPM_I2C3, clock_i2c3, {100000U});", code) + + def test_a_configured_frequency_and_gpio_renames_are_applied(self): + root, _code = self.generate("hpm5301evklite") + config = root / "User" / "libxr_config.yaml" + settings = yaml.safe_load(config.read_text(encoding="utf-8")) + settings["PWM"]["pwm_gptmr0_ch1"]["frequency"] = 1000 + settings["GPIO"] = {"pa10": "LED", "pa3": "KEY"} + config.write_text(yaml.dump(settings), encoding="utf-8") + generator.generate( + str(root / ".config.yaml"), str(root / "User" / "app_main.cpp"), True, "" + ) + code = (root / "User" / "app_main.cpp").read_text(encoding="utf-8") + self.assertIn("pwm_gptmr0_ch1.SetConfig({1000});", code) + self.assertIn("static HPMGPIO LED(HPM_GPIO0, GPIO_DI_GPIOA, 10, IRQn_GPIO0_A);", code) + self.assertIn("XR_REGISTER(KEY, LibXR::GPIO);", code) + self.assertNotIn("pa10", code) + self.assertNotIn("pa3", code) + + def test_the_gptmr_pwm_object_is_generated_and_registered(self): + # 5301 没有 PWM 外设:GPTMR 的比较器走 HPMPWM 的 fallback 路径。对象和登记都不能包 + # #if——xrobot 的生成器无法判断编译选项,guard 里的 XR_REGISTER 会被它拒绝。 + # A HPM5301 has no PWM peripheral: the GPTMR comparators take the HPMPWM fallback + # path. Neither the object nor the registration may sit inside #if — xrobot's + # generator cannot evaluate build options and rejects an XR_REGISTER there. + _root, code = self.generate("hpm5301evklite") + self.assertNotIn("#if", code) + self.assertIn("static HPMPWM pwm_gptmr0_ch1(", code) + self.assertIn("XR_REGISTER(pwm_gptmr0_ch1, LibXR::PWM);", code) + + def test_a_soc_with_a_pwm_peripheral_generates_no_gptmr_object(self): + # 5361 有 PWM 外设:蜂鸣器和加热器的 GPTMR 比较器只作展示,不生成对象也不登记。 + # A HPM5361 has a PWM peripheral: the GPTMR comparators of the buzzer and the + # heater stay display-only, no object and no registration. + _root, code = self.generate("rmcs_slave_lite") + self.assertNotIn("HPMPWM", code) + self.assertNotIn("hpm_pwm.hpp", code) + self.assertIn('#include "hpm_gpio.hpp"', code) + + def test_the_user_code_of_an_existing_file_is_kept(self): + root, _code = self.generate("hpm5301evklite") + output = root / "User" / "app_main.cpp" + code = output.read_text(encoding="utf-8") + code = code.replace( + "/* User Code Begin 1 */", + "/* User Code Begin 1 */\n// A user note that must survive regeneration.", + ) + output.write_text(code, encoding="utf-8") + generator.generate(str(root / ".config.yaml"), str(output), True, "") + self.assertIn( + "// A user note that must survive regeneration.", + output.read_text(encoding="utf-8"), + ) + + def test_without_xrobot_the_entry_sleeps_and_registers_nothing(self): + _root, code = self.generate("hpm5301evklite", use_xrobot=False) + self.assertNotIn("XR_REGISTER", code) + self.assertNotIn("xrobot_main.hpp", code) + self.assertIn("Thread::Sleep(UINT32_MAX);", code) + self.assertNotIn("XROBOT_MAIN();", code) + # 对象照旧生成。 + # The objects are still generated. + self.assertIn("static HPMPWM pwm_gptmr0_ch1(", code) + + +class Notices(TestCase): + """解析的两条提示(P3 遗留):main.c 不调用 pinmux 函数,两个活动函数选中同一个 pad。 + The two parse notices (the P3 leftovers): a main.c that calls no pinmux function, and two + active functions that select the same pad. + """ + + HPMPC = json.dumps( + { + "content": { + "info": {"socName": "HPM5301", "packageName": "QFN48"}, + "pinmux": { + "functions": { + "init_bsp_pins": { + "selectPins": {"PA10": {"signal": "GPIO.A.A[10]", "padCtls": {}}} + }, + "init_bsp_more_pins": { + "selectPins": {"PA10": {"signal": "UART0.A.TXD", "padCtls": {}}} + }, + } + }, + } + } + ) + + def parsed(self, main_c: str, hpmpc: str) -> dict: + """合成工程(给定的 main.c 和 .hpmpc)的工程 YAML。 + The project YAML of a synthetic project (the given main.c and .hpmpc). + """ + root = Path(tempfile.mkdtemp(prefix="libxr-hpm-notice-")) + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + (root / "app.yaml").write_text("dependency: []\n", encoding="utf-8") + board = root / "boards" / "board" + board.mkdir(parents=True) + (board / "tool_config.hpmpc").write_text(hpmpc, encoding="utf-8") + (root / "main.c").write_text(main_c, encoding="utf-8") + parse_project(str(root), summary=False) + return yaml.safe_load((root / ".config.yaml").read_text(encoding="utf-8")) + + def test_two_active_functions_on_one_pad_are_reported(self): + main_c = textwrap.dedent( + """\ + int main(void) + { + init_bsp_pins(); + init_bsp_more_pins(); + } + """ + ) + with self.assertLogs(level="WARNING") as logs: + data = self.parsed(main_c, self.HPMPC) + self.assertEqual(len(logs.output), 1) + # 路径是绝对临时目录,Windows 下分隔符是反斜杠;只核对路径之后的部分。 + # The path is an absolute temporary directory whose separator is a backslash on + # Windows; check the part after the path only. + self.assertTrue( + logs.output[0].endswith( + ": PA10 is selected by both init_bsp_pins (GPIO.A.A[10]) and " + "init_bsp_more_pins (UART0.A.TXD); the later one wins" + ) + ) + self.assertEqual(data["MainFunctions"], ["init_bsp_pins", "init_bsp_more_pins"]) + # 后一个的信号生效:PA10 归 UART0,不再是 GPIO。 + # The later signal wins: PA10 belongs to the UART0 now, not to the GPIO. + self.assertNotIn("pa10", data["GPIO"]) + self.assertEqual(data["Peripherals"]["Other"]["UART0"]["Pins"]["TXD"], "PA10") + + def test_a_main_c_that_calls_no_pinmux_function_is_a_warning(self): + main_c = textwrap.dedent( + """\ + int main(void) + { + board_init(); + } + """ + ) + with self.assertLogs(level="WARNING") as logs: + data = self.parsed(main_c, self.HPMPC) + self.assertEqual(len(logs.output), 1) + self.assertIn("calls no pinmux function (using the init_bsp_pins fallback)", logs.output[0]) + # 退回 init_bsp_pins:引脚照读。 + # The init_bsp_pins fallback: the pins are read as usual. + self.assertEqual(data["MainFunctions"], ["init_bsp_pins"]) + self.assertEqual(data["GPIO"]["pa10"]["Pad"], "PA10") + + def test_without_init_bsp_pins_no_pin_is_read(self): + hpmpc = json.dumps( + { + "content": { + "info": {"socName": "HPM5301", "packageName": "QFN48"}, + "pinmux": { + "functions": { + "init_bsp_extra_pins": { + "selectPins": {"PA10": {"signal": "GPIO.A.A[10]", "padCtls": {}}} + } + } + }, + } + } + ) + main_c = "int main(void) { board_init(); }\n" + with self.assertLogs(level="WARNING") as logs: + data = self.parsed(main_c, hpmpc) + self.assertEqual(len(logs.output), 2) + self.assertIn("no init_bsp_pins exists, so no pin is read", logs.output[0]) + self.assertIn("select no GPIO or peripheral pin", logs.output[1]) + self.assertEqual(data["MainFunctions"], []) + self.assertEqual(data["GPIO"], {}) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_pin_project.py b/tests/test_pin_project.py index 14ddcaf..c7b06f5 100644 --- a/tests/test_pin_project.py +++ b/tests/test_pin_project.py @@ -565,6 +565,24 @@ def test_the_soc_the_package_and_the_called_functions_drive_the_overlay(self): ("GPIOA", "GPIO", "P10", True), ) + def test_two_functions_on_one_pad_are_reported(self): + # P3 遗留:init_bsp_pins 和 init_uart0_pins 都选了 PA00;冲突要报告(以前静默后写赢)。 + # P3 leftover: init_bsp_pins and init_uart0_pins both select PA00; the conflict is + # reported (it used to be a silent last-wins). + with self.assertLogs(level="WARNING") as logs: + info = self.project(self.project_files()) + self.assertEqual(len(logs.output), 1) + # 路径是绝对临时目录,Windows 下分隔符是反斜杠;只核对路径之后的部分。 + # The path is an absolute temporary directory whose separator is a backslash on + # Windows; check the part after the path only. + self.assertTrue( + logs.output[0].endswith( + ": PA00 is selected by both init_bsp_pins (UART0.A.TXD) and " + "init_uart0_pins (UART0.A.TXD); the later one wins" + ) + ) + self.assertEqual(info["project"]["assignments"]["PA00"]["signal"], "UART0_TXD") + def test_a_call_inside_a_conditional_is_not_active(self): # O2:条件编译里的函数不算,PA04 不出现。 # O2: a function inside a conditional does not count; PA04 stays out. From ccb92b3611eb4f166509cd428f9ec0bca5de7e86 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 18:11:45 +0100 Subject: [PATCH 16/34] Add libxr mspm0 setup: parse a SysConfig project and generate User/app_main.cpp Mirrors libxr hpm setup so the VS Code extension can offer the same one-step setup for MSPM0 projects as for HPM ones. --- src/libxr/cli.py | 76 +++++++++++++++++++++++++++++++++++++++++++++-- tests/test_cli.py | 23 ++++++++++++++ 2 files changed, 97 insertions(+), 2 deletions(-) diff --git a/src/libxr/cli.py b/src/libxr/cli.py index 594df63..76b65de 100644 --- a/src/libxr/cli.py +++ b/src/libxr/cli.py @@ -346,6 +346,24 @@ def cmd_hpm_setup(args: argparse.Namespace) -> None: ) +def cmd_mspm0_setup(args: argparse.Namespace) -> None: + """libxr mspm0 setup:解析 SysConfig 工程并生成 User/app_main.cpp;没有 CubeMX 步骤。 + libxr mspm0 setup: parse a SysConfig project and generate User/app_main.cpp; there is no + CubeMX step. + """ + from libxr.generator_code_mspm0 import generate + from libxr.peripheral_analyzer_mspm0 import parse_project + + parse_project(args.directory, None) + output = args.output or os.path.join(args.directory, "User", "app_main.cpp") + generate( + os.path.join(args.directory, ".config.yaml"), + output, + True if args.xrobot is None else args.xrobot, + args.libxr_config, + ) + + def cmd_stm32_cubemx_gen(args: argparse.Namespace) -> None: """libxr stm32 cubemx-gen:以脚本模式运行 STM32CubeMX 生成工程;出错时记录错误(调试日志另记 调用栈)并以状态 1 退出。 @@ -640,6 +658,53 @@ def _add_hpm_setup(commands) -> None: ) +def _add_mspm0_setup(commands) -> None: + """加入 mspm0 setup 子命令。 + Add the mspm0 setup subcommand. + """ + parser = _command( + commands, + "setup", + tr( + "set up an MSPM0 project for LibXR: parse the SysConfig project and generate " + "User/app_main.cpp (there is no CubeMX step)", + "把 MSPM0 工程配置为使用 LibXR:解析 SysConfig 工程并生成 User/app_main.cpp" + "(没有 CubeMX 步骤)", + ), + cmd_mspm0_setup, + ) + parser.add_argument( + "-d", + "--directory", + default=".", + help=tr( + "project directory: a .syscfg file in its root (default: current directory)", + "工程目录:根目录有一个 .syscfg 文件(默认:当前目录)", + ), + ) + parser.add_argument( + "-o", + "--output", + default="", + help=tr( + "output C++ file (default: User/app_main.cpp in DIRECTORY)", + "输出的 C++ 文件(默认:DIRECTORY 中的 User/app_main.cpp)", + ), + ) + _add_xrobot_choice( + parser, + tr(" (default: generate XRobot registrations)", "(默认:生成 XRobot 注册代码)"), + ) + parser.add_argument( + "--libxr-config", + default="", + help=tr( + "path or URL of libxr_config.yaml (default: libxr_config.yaml next to the output)", + "libxr_config.yaml 的路径或 URL(默认:输出文件所在目录中的 libxr_config.yaml)", + ), + ) + + def _add_stm32_cubemx_gen(commands) -> None: """加入 stm32 cubemx-gen 子命令。 Add the stm32 cubemx-gen subcommand. @@ -986,11 +1051,18 @@ def build_parser() -> argparse.ArgumentParser: ) hpm_commands = hpm.add_subparsers(metavar="", required=True) _add_hpm_setup(hpm_commands) + mspm0 = commands.add_parser( + "mspm0", + help=tr("commands for TI SysConfig projects", "TI SysConfig 工程的命令"), + description=tr("Commands for TI SysConfig projects.", "TI SysConfig 工程的命令。"), + ) + mspm0_commands = mspm0.add_subparsers(metavar="", required=True) + _add_mspm0_setup(mspm0_commands) # 每个子命令最后都有 --verbose。 # Every subcommand ends with --verbose. - for group in (commands, stm32_commands, hpm_commands): + for group in (commands, stm32_commands, hpm_commands, mspm0_commands): for name, command in group.choices.items(): - if name not in ("stm32", "hpm"): + if name not in ("stm32", "hpm", "mspm0"): command.add_argument( "--verbose", action="store_true", diff --git a/tests/test_cli.py b/tests/test_cli.py index 9a8f42f..8e00e03 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -368,6 +368,29 @@ def test_every_option_reaches_its_argument(self): "run": "cmd_hpm_setup", }, ), + ( + ["mspm0", "setup"], + { + "directory": ".", + "output": "", + "xrobot": None, + "libxr_config": "", + **quiet, + "run": "cmd_mspm0_setup", + }, + ), + ( + ["mspm0", "setup", "-d", "p", "-o", "o.cpp", "--no-xrobot"] + + ["--libxr-config", "c.yaml", "--verbose"], + { + "directory": "p", + "output": "o.cpp", + "xrobot": False, + "libxr_config": "c.yaml", + **loud, + "run": "cmd_mspm0_setup", + }, + ), ): with self.subTest(argv=argv): self.assertEqual(self.parsed(*argv), expected) From 619dde0c9825033d5bb44ff6c63fbeb43a23cd64 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 19:38:18 +0100 Subject: [PATCH 17/34] Tie the MSPM0 and HPM peripherals of libxr pins to their libxr_config settings --- src/libxr/pin_project.py | 103 +++++++++++++++++++++++++++-------- tests/test_pin_project.py | 111 ++++++++++++++++++++++++++++++++------ 2 files changed, 176 insertions(+), 38 deletions(-) diff --git a/src/libxr/pin_project.py b/src/libxr/pin_project.py index 7278a09..eb9c530 100644 --- a/src/libxr/pin_project.py +++ b/src/libxr/pin_project.py @@ -565,18 +565,78 @@ def hpm_assignments(hpmpc: Path, main_c: Path, layout: PinLayout) -> dict[str, d return assigned -def config_key(platform: str, entry: dict) -> tuple[str, str] | None: - """一个已选外设在 libxr_config.yaml 中的段和键;libxr gen 不生成它时为 None。 - The section and key of a selected peripheral in libxr_config.yaml; None when libxr gen does - not generate it. +def config_entries( + platform: str, + instance: str, + kind: str, + functions: dict, + settings: dict, + sysconfig: dict | None, +) -> list[dict]: + """一个已选外设在 libxr_config.yaml 中的设置条目;libxr gen 不生成它的设置时为空。 + The config entries of a selected peripheral in libxr_config.yaml; empty when libxr gen does + not generate settings for it. + + 一个条目是 {section, key, present, params}。key 为 None 时条目是整段(HPM 的 GPIO 改名), + params 是该外设每个引脚的现名,文件里没有的为 None。PWM 一个实例有多个通道,每通道一个 + 条目;MSPM0 的定时器只有 SysConfig 模块是 PWM 的才生成,QEI 等没有。 + An entry is {section, key, present, params}. With a None key the entry is a whole section + (the GPIO renames of an HPM) and params holds the current name of every pin of the + peripheral, None when the file has none. An instance of PWM has a channel per entry, and an + MSPM0 timer generates only with the SysConfig module PWM, not QEI and the like. """ - if platform != "stm32": - return None - section = STM32_SECTIONS.get(entry["kind"]) - if section is None: - return None - instance = entry["peripheral"] - return section, USB_KEYS.get(instance, instance.lower()) + + def keyed(section: str, name: str) -> dict: + """一个有键的条目:键的大小写以文件为准,文件里没有时 present 为 False。 + A keyed entry: the case of the key is the file's, and present is False when the file has + none. + """ + values = settings.get(section) if isinstance(settings.get(section), dict) else {} + actual = next((key for key in values if str(key).lower() == name), None) + entry = {"section": section, "key": actual or name, "present": actual is not None} + if actual is not None: + entry["params"] = values[actual] + return entry + + def channels(pattern: str) -> list[int]: + """外设各引脚功能里的通道号,升序去重。 + The channel numbers in the functions of the peripheral's pins, ascending and unique. + """ + return sorted({int(match.group(1)) for f in functions if (match := re.match(pattern, f))}) + + if platform == "stm32": + section = STM32_SECTIONS.get(kind) + if section is None: + return [] + return [keyed(section, USB_KEYS.get(instance, instance.lower()))] + if platform == "mspm0": + if kind in ("UART", "I2C", "SPI"): + return [keyed(kind, instance.lower())] + if kind in ("TIMA", "TIMG") and sysconfig and sysconfig.get("module") == "PWM": + return [keyed("PWM", f"pwm_{instance.lower()}_c{n}") for n in channels(r"CCP(\d+)")] + return [] + if platform == "hpm": + if kind == "I2C": + return [keyed("I2C", instance.lower())] + if kind == "GPTMR": + return [keyed("PWM", f"pwm_{instance.lower()}_ch{n}") for n in channels(r"COMP_(\d+)")] + if kind == "GPIO": + values = settings.get("GPIO") if isinstance(settings.get("GPIO"), dict) else {} + params = {} + for pin_name in functions.values(): + port_line = pin_layout.gpio_port_and_line(pin_name) + if port_line is None: + continue + # 名字的规则与解析器的一致:p 加端口小写字母加线号(PA03 -> pa3)。 + # The rule of the name is the parser's: p, the lower-case port letter and the + # line (PA03 -> pa3). + name = f"p{port_line[0].lower()}{int(port_line[1]):d}" + params[name] = values.get(name) + if not params: + return [] + return [{"section": "GPIO", "key": None, "present": bool(values), "params": params}] + return [] + return [] def project_overlay( @@ -603,17 +663,16 @@ def project_overlay( # MSPM0: the settings of a peripheral are in the SysConfig project (.syscfg), given read-only. if sysconfig and instance in sysconfig: used["sysconfig"] = sysconfig[instance] - key = config_key(layout.platform, {"peripheral": instance, "kind": used["kind"]}) - if key is None: - continue - section, name = key - # 键的大小写以文件为准:同一个文件里有 fdcan1,也有 FDCAN1。 - # The case of the key is the file's: one file has fdcan1, another FDCAN1. - entries = settings.get(section) if isinstance(settings.get(section), dict) else {} - actual = next((key for key in entries if str(key).lower() == name), None) - used["config"] = {"section": section, "key": actual or name, "present": actual is not None} - if actual is not None: - used["config"]["params"] = entries[actual] + entries = config_entries( + layout.platform, + instance, + used["kind"], + used["pins"], + settings, + used.get("sysconfig"), + ) + if entries: + used["config"] = entries return { "assignments": dict( sorted(assigned.items(), key=lambda item: pin_layout.natural_key(item[0])) diff --git a/tests/test_pin_project.py b/tests/test_pin_project.py index c7b06f5..09038c3 100644 --- a/tests/test_pin_project.py +++ b/tests/test_pin_project.py @@ -108,17 +108,20 @@ def test_a_peripheral_is_tied_to_its_libxr_config_settings(self): peripherals = info["project"]["peripherals"] self.assertEqual( peripherals["USART1"]["config"], - { - "section": "USART", - "key": "usart1", - "present": True, - "params": {"tx_buffer_size": 128, "rx_buffer_size": 64}, - }, + [ + { + "section": "USART", + "key": "usart1", + "present": True, + "params": {"tx_buffer_size": 128, "rx_buffer_size": 64}, + } + ], ) self.assertEqual( - peripherals["USART6"]["config"], {"section": "USART", "key": "usart6", "present": False} + peripherals["USART6"]["config"], + [{"section": "USART", "key": "usart6", "present": False}], ) - self.assertEqual(peripherals["SPI1"]["config"]["params"], {"dma_section": ".axi_ram"}) + self.assertEqual(peripherals["SPI1"]["config"][0]["params"], {"dma_section": ".axi_ram"}) self.assertNotIn("config", peripherals["GPIOC"]) def test_the_case_of_a_key_in_the_file_is_kept(self): @@ -132,14 +135,14 @@ def test_the_case_of_a_key_in_the_file_is_kept(self): info = layout_with_project(directory, None, None, None) self.assertEqual( info["project"]["peripherals"]["FDCAN1"]["config"], - {"section": "FDCAN", "key": "FDCAN1", "present": True, "params": {"queue_size": 5}}, + [{"section": "FDCAN", "key": "FDCAN1", "present": True, "params": {"queue_size": 5}}], ) def test_a_missing_configuration_file_is_not_an_error(self): with tempfile.TemporaryDirectory() as directory: info = self.project(directory, config=None) self.assertIsNone(info["project"]["libxr_config"]) - self.assertFalse(info["project"]["peripherals"]["USART1"]["config"]["present"]) + self.assertFalse(info["project"]["peripherals"]["USART1"]["config"][0]["present"]) def test_another_configuration_file_can_be_given(self): with tempfile.TemporaryDirectory() as directory: @@ -148,9 +151,10 @@ def test_another_configuration_file_can_be_given(self): ) info = self.project(directory, config_path=str(other)) self.assertEqual( - info["project"]["peripherals"]["SPI1"]["config"]["params"], {"dma_enable_min_size": 8} + info["project"]["peripherals"]["SPI1"]["config"][0]["params"], + {"dma_enable_min_size": 8}, ) - self.assertFalse(info["project"]["peripherals"]["USART1"]["config"]["present"]) + self.assertFalse(info["project"]["peripherals"]["USART1"]["config"][0]["present"]) def test_a_given_model_wins_over_the_ioc(self): with tempfile.TemporaryDirectory() as directory: @@ -416,9 +420,51 @@ def test_a_syscfg_without_a_device_needs_the_model(self): info = self.project('//@cliArgs --package "LQFP-64(PM)"\n', model="MSPM0G3507") self.assertEqual(info["part"], "MSPM0G3507") - def test_libxr_gen_has_no_section_for_an_mspm0(self): + def test_an_mspm0_peripheral_is_tied_to_its_libxr_config_settings(self): peripherals = self.project()["project"]["peripherals"] - self.assertNotIn("config", peripherals["UART0"]) + self.assertEqual( + peripherals["UART0"]["config"], + [{"section": "UART", "key": "uart0", "present": False}], + ) + # MSPM0 的 GPIO 名字来自 .syscfg 的标签,DAC 也不生成设置段。 + # The GPIO names of an MSPM0 come from the labels of the .syscfg, and a DAC has no + # settings section either. + self.assertNotIn("config", peripherals["GPIOB"]) + self.assertNotIn("config", peripherals["DAC0"]) + + def test_a_pwm_instance_has_an_entry_per_channel(self): + # PWM 的对象名是 pwm_<定时器>_c<通道>,一个实例每个通道一个条目。 + # The object names of a PWM are pwm__c; one entry per channel of the + # instance. + syscfg = ( + '//@v2CliArgs --device "MSPM0G3507" --package "LQFP-64(PM)"\n' + 'const PWM = scripting.addModule("/ti/driverlib/PWM", {}, false);\n' + "const PWM1 = PWM.addInstance();\n" + 'PWM1.$name = "PWM_TIMA1";\n' + 'PWM1.peripheral.$assign = "TIMA1";\n' + 'PWM1.peripheral.ccp0Pin.$assign = "PA28";\n' + 'PWM1.peripheral.ccp1Pin.$assign = "PA31";\n' + ) + with tempfile.TemporaryDirectory() as directory: + write(Path(directory), "a.syscfg", syscfg) + write( + Path(directory), + "User/libxr_config.yaml", + "PWM:\n pwm_tima1_c0:\n frequency: 1000\n", + ) + info = layout_with_project(directory, None, None, None) + self.assertEqual( + info["project"]["peripherals"]["TIMA1"]["config"], + [ + { + "section": "PWM", + "key": "pwm_tima1_c0", + "present": True, + "params": {"frequency": 1000}, + }, + {"section": "PWM", "key": "pwm_tima1_c1", "present": False}, + ], + ) def test_the_pins_the_solver_picked_are_a_fallback(self): # 求解器选的引脚($suggestSolution)也算数;测试用的 PA0 是 UART0.TX。 @@ -616,6 +662,39 @@ def test_a_hpmpc_without_a_soc_needs_the_model(self): str(caught.exception), ) + def test_a_peripheral_is_tied_to_its_libxr_config_settings(self): + # HPM 生成 I2C 的设置和 GPIO 的改名(pa10,PA03 -> pa3);UART 没有设置段。 + # An HPM generates the I2C settings and the GPIO renames (pa10, PA03 -> pa3); a UART has + # no settings section. + files = self.project_files() + files["User/libxr_config.yaml"] = "I2C:\n i2c0:\n speed: 100000\nGPIO:\n pa10: LED\n" + peripherals = self.project(files)["project"]["peripherals"] + self.assertEqual( + peripherals["I2C0"]["config"], + [{"section": "I2C", "key": "i2c0", "present": True, "params": {"speed": 100000}}], + ) + self.assertEqual( + peripherals["GPIOA"]["config"], + [{"section": "GPIO", "key": None, "present": True, "params": {"pa10": "LED"}}], + ) + self.assertNotIn("config", peripherals["UART0"]) + + def test_a_gptmr_channel_is_a_pwm_entry(self): + # GPTMR 的对象名是 pwm_<定时器>_ch<通道>,每通道一个条目。 + # The object names of a GPTMR are pwm__ch; one entry per channel. + hpmpc = json.loads(self.HPMPC) + hpmpc["content"]["pinmux"]["functions"]["init_bsp_pins"]["selectPins"]["PB08"] = { + "signal": "GPTMR0.A.COMP_1", + "padCtls": {}, + } + files = self.project_files() + files["boards/board/tool_config.hpmpc"] = json.dumps(hpmpc) + peripherals = self.project(files)["project"]["peripherals"] + self.assertEqual( + peripherals["GPTMR0"]["config"], + [{"section": "PWM", "key": "pwm_gptmr0_ch1", "present": False}], + ) + class SysconfigSettings(TestCase): """MSPM0 外设的设置取自 .syscfg,只读。 @@ -716,7 +795,7 @@ def test_a_project_directory_replaces_the_model(self): self.assertEqual((code, err), (0, "")) info = yaml.safe_load(out) self.assertEqual(info["part"], "STM32F407IGHx") - self.assertEqual(info["project"]["peripherals"]["USART1"]["config"]["present"], True) + self.assertEqual(info["project"]["peripherals"]["USART1"]["config"][0]["present"], True) def test_the_configuration_file_can_be_given_with_c(self): with tempfile.TemporaryDirectory() as directory: @@ -726,7 +805,7 @@ def test_the_configuration_file_can_be_given_with_c(self): info = yaml.safe_load(out) self.assertEqual(code, 0) self.assertEqual( - info["project"]["peripherals"]["SPI1"]["config"]["params"], {"tx_buffer_size": 7} + info["project"]["peripherals"]["SPI1"]["config"][0]["params"], {"tx_buffer_size": 7} ) def test_errors_are_logged(self): From 6654710d0d48c6879d096d2b99a31d0a68cedc41 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 19:38:22 +0100 Subject: [PATCH 18/34] Keep the default pin name when a HPM GPIO rename is null --- src/libxr/generator_code_hpm.py | 12 +++++++----- tests/test_generator_code_hpm.py | 16 ++++++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/libxr/generator_code_hpm.py b/src/libxr/generator_code_hpm.py index 9a7d0c4..d43ab20 100644 --- a/src/libxr/generator_code_hpm.py +++ b/src/libxr/generator_code_hpm.py @@ -192,11 +192,12 @@ def _peripherals(project_data: dict) -> dict[str, list]: def _gpio_names(project_data: dict) -> dict[str, dict]: - """GPIO 对象的名字:默认按引脚(pb11),libxr_config 的 GPIO 段把它映射到新名字;名字必须 - 合法且唯一,不满足时报错退出,改名单里没有的引脚给出警告。 + """GPIO 对象的名字:默认按引脚(pb11),libxr_config 的 GPIO 段把它映射到新名字,值为 + null 的改名保留默认名;名字必须合法且唯一,不满足时报错退出,改名单里没有的引脚给出警告。 The names of the GPIO objects: the pin name (pb11) by default, which the GPIO section of - libxr_config maps to a new one; a name that is not a valid unique identifier logs an error - and generation exits, and a rename that names no pin is warned about. + libxr_config maps to a new one while a null rename keeps the default; a name that is not a + valid unique identifier logs an error and generation exits, and a rename that names no pin is + warned about. """ gpio = project_data.get("GPIO", {}) renames = stm32.libxr_settings.get("GPIO") or {} @@ -210,7 +211,8 @@ def _gpio_names(project_data: dict) -> dict[str, dict]: ) names: dict[str, dict] = {} for label, pin in gpio.items(): - name = str(renames.get(label, label)) + rename = renames.get(label) + name = str(label if rename is None else rename) if not IDENTIFIER.fullmatch(name) or name in stm32.registered_devices: _fail( tr( diff --git a/tests/test_generator_code_hpm.py b/tests/test_generator_code_hpm.py index 4461373..4cea56c 100644 --- a/tests/test_generator_code_hpm.py +++ b/tests/test_generator_code_hpm.py @@ -172,6 +172,22 @@ def test_a_configured_frequency_and_gpio_renames_are_applied(self): self.assertNotIn("pa10", code) self.assertNotIn("pa3", code) + def test_a_null_gpio_rename_keeps_the_default_name(self): + # 设置树里清空改名写成 null:对象名退回引脚名,而不是 "None"。 + # Clearing a rename in the settings tree writes null: the object name falls back to the + # pin name instead of "None". + root, _code = self.generate("hpm5301evklite") + config = root / "User" / "libxr_config.yaml" + settings = yaml.safe_load(config.read_text(encoding="utf-8")) + settings["GPIO"] = {"pa10": None, "pa3": "KEY"} + config.write_text(yaml.dump(settings), encoding="utf-8") + generator.generate( + str(root / ".config.yaml"), str(root / "User" / "app_main.cpp"), True, "" + ) + code = (root / "User" / "app_main.cpp").read_text(encoding="utf-8") + self.assertIn("static HPMGPIO pa10(HPM_GPIO0, GPIO_DI_GPIOA, 10, IRQn_GPIO0_A);", code) + self.assertIn("XR_REGISTER(pa10, LibXR::GPIO);", code) + def test_the_gptmr_pwm_object_is_generated_and_registered(self): # 5301 没有 PWM 外设:GPTMR 的比较器走 HPMPWM 的 fallback 路径。对象和登记都不能包 # #if——xrobot 的生成器无法判断编译选项,guard 里的 XR_REGISTER 会被它拒绝。 From e795460ee9aba7b4ab1e102681158ef942f84024 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 20:32:52 +0100 Subject: [PATCH 19/34] Read the SysConfig setups the MSPM0 BSPs do not use in libxr parse The parse now takes from the SysConfig output what the .syscfg leaves out: the SPI clock configuration (gSPI_1_clockConfig with aligned members), the PWM channels (GPIO__C_IDX), the pin of a GPIO given as port plus pin number, the peripheral the solver chose and a DMA channel without a $name. Pins accept $suggestSolution like libxr pins. An I2C in target mode and an SPI in peripheral mode go to Other with a warning, an RX timeout DMA trigger counts as RX, the default interrupt polarity is DISABLE, a default pin name such as PIN_0 falls back to group plus name, and a name that is a device or SysConfig macro is an error. Every skipped GPIO pin is warned about. SysConfig runs whenever SYSCONFIG_TOOL and MSPM0_SDK_INSTALL_DIR are usable; otherwise a newer output under build*, cmake-build* or out is reused. A wrong path is named, a failed start or a timeout and an unknown device are formatted errors without a traceback, and the summary is translated. New fixture: tests/data/mspm0/variants.syscfg with the SysConfig 1.28.1 output. --- src/libxr/peripheral_analyzer_mspm0.py | 585 ++++++++++++++----- tests/data/mspm0/variants.syscfg | 109 ++++ tests/data/mspm0/variants_ti_msp_dl_config.c | 479 +++++++++++++++ tests/data/mspm0/variants_ti_msp_dl_config.h | 248 ++++++++ tests/test_generator_code_mspm0.py | 457 +++++++++++++-- 5 files changed, 1679 insertions(+), 199 deletions(-) create mode 100644 tests/data/mspm0/variants.syscfg create mode 100644 tests/data/mspm0/variants_ti_msp_dl_config.c create mode 100644 tests/data/mspm0/variants_ti_msp_dl_config.h diff --git a/src/libxr/peripheral_analyzer_mspm0.py b/src/libxr/peripheral_analyzer_mspm0.py index a247391..8f0b75c 100644 --- a/src/libxr/peripheral_analyzer_mspm0.py +++ b/src/libxr/peripheral_analyzer_mspm0.py @@ -2,21 +2,28 @@ libxr parse for an MSPM0 project: parse the SysConfig project and write the project YAML. 工程是根目录中唯一的 .syscfg。解析读两个来源:.syscfg 本身(外设实例、参数和引脚分配),以及 -SysConfig 生成的 ti_msp_dl_config.h/.c(实际生成的宏名、CPUCLK_FREQ 和 ULPCLK 分频)。工程目录 -的 build* 里比 .syscfg 新的生成结果直接复用;否则用 SYSCONFIG_TOOL 运行一次(MSPM0_SDK_INSTALL_DIR -和 SYSCONFIG_TOOL,与 CMake 的 MSPM0SysConfig.cmake 用的环境变量相同),生成到临时目录。 +SysConfig 生成的 ti_msp_dl_config.h/.c(实际生成的宏名、CPUCLK_FREQ、ULPCLK 分频和各实例的时钟 +配置)。设置了 SYSCONFIG_TOOL 和 MSPM0_SDK_INSTALL_DIR(与 CMake 的 MSPM0SysConfig.cmake 用的环境 +变量相同)时总是运行一次 SysConfig,生成到临时目录;没有设置时复用工程目录 build*、cmake-build* +或 out 下比 .syscfg 新的生成结果。复用只比较修改时间:换成一个修改时间更旧的 .syscfg 时,旧输出 +仍会被复用,这时请重新构建或设置这两个变量。 The project is the single .syscfg in the root. Parsing reads two sources: the .syscfg itself (peripheral instances, parameters and pin assignments) and the ti_msp_dl_config.h/.c that -SysConfig generates (the macro names actually emitted, CPUCLK_FREQ and the ULPCLK divider). A -generated output newer than the .syscfg under a build* directory of the project is reused; -otherwise SysConfig runs once (MSPM0_SDK_INSTALL_DIR and SYSCONFIG_TOOL, the environment -variables the CMake MSPM0SysConfig.cmake uses as well) into a temporary directory. - -外设分两类:LibXR 有驱动的(UART、I2C、SPI、PWM)进入 Peripherals,gen 为它们生成对象;其余 -(ADC12、DAC12、MCAN、QEI……)记入 Other,只作展示。GPIO 引脚进入 GPIO 段。 -Peripherals split in two: the ones LibXR has drivers for (UART, I2C, SPI, PWM) go into -Peripherals and gen generates objects for them; the rest (ADC12, DAC12, MCAN, QEI, ...) are -recorded under Other for display only. The GPIO pins go into the GPIO section. +SysConfig generates (the macro names actually emitted, CPUCLK_FREQ, the ULPCLK divider and the +clock configuration of each instance). With SYSCONFIG_TOOL and MSPM0_SDK_INSTALL_DIR set (the +environment variables the CMake MSPM0SysConfig.cmake uses as well) SysConfig always runs once, +into a temporary directory; without them a generated output newer than the .syscfg under +build*, cmake-build* or out in the project is reused. Reuse compares modification times only: a +.syscfg replaced by one with an older modification time still reuses the old output, so build +again or set the two variables then. + +外设分两类:LibXR 有驱动的(UART、控制器模式的 I2C 和 SPI、PWM)进入 Peripherals,gen 为它们 +生成对象;其余(ADC12、DAC12、MCAN、QEI、目标模式的 I2C、外设模式的 SPI……)记入 Other,只作 +展示。GPIO 引脚进入 GPIO 段。 +Peripherals split in two: the ones LibXR has drivers for (UART, I2C and SPI in controller mode, +PWM) go into Peripherals and gen generates objects for them; the rest (ADC12, DAC12, MCAN, QEI, +an I2C in target mode, an SPI in peripheral mode, ...) are recorded under Other for display +only. The GPIO pins go into the GPIO section. """ from __future__ import annotations @@ -34,6 +41,7 @@ from xr_syntax.i18n import tr from libxr import pin_layout, pin_project +from libxr.generator_code_stm32 import CPP_KEYWORDS def _save_to_yaml(data: dict, output_path: str) -> bool: @@ -78,8 +86,18 @@ def _print_summary(data: dict) -> None: gpio = data.get("GPIO", {}) print(tr(f"\nGPIO ({len(gpio)} pins):", f"\nGPIO({len(gpio)} 个引脚):")) for label, pin in gpio.items(): - interrupt = f", {pin['Interrupt']} interrupt" if "Interrupt" in pin else "" - print(f" {label}: {pin['Pin']}, {pin['Direction']}{interrupt}") + direction = pin["Direction"] + if "Interrupt" in pin: + print( + tr( + f" {label}: {pin['Pin']}, {direction}, {pin['Interrupt']} interrupt", + f" {label}:{pin['Pin']},{direction},{pin['Interrupt']} 中断", + ) + ) + else: + print( + tr(f" {label}: {pin['Pin']}, {direction}", f" {label}:{pin['Pin']},{direction}") + ) print(tr("\nActive Peripherals:", "\n已启用的外设:")) for section, group in data.get("Peripherals", {}).items(): print(tr(f" {section}: {len(group)} instance(s)", f" {section}:{len(group)} 个实例")) @@ -91,19 +109,27 @@ def _print_summary(data: dict) -> None: # Time limit in seconds for a SysConfig run. SYSCONFIG_TIMEOUT = 300 +# 复用 SysConfig 输出时找的构建目录(工程根目录下的 glob)。 +# The build directories searched for a SysConfig output to reuse (globs in the project root). +BUILD_DIRECTORIES = ("build*", "cmake-build*", "out") + # LibXR 有驱动、gen 生成对象的模块:模块名 -> Peripherals 段的键。 # The modules LibXR has drivers for and gen generates objects for: module -> the key of the # Peripherals section. GENERATED_MODULES = {"UART": "UART", "I2C": "I2C", "SPI": "SPI", "PWM": "PWM"} -# 驱动会重设时钟配置的外设,SysConfig 写入的 clockSel 和 divideRatio 只起信息作用。 -# Peripherals whose clock configuration the driver resets; the clockSel and divideRatio -# SysConfig wrote are informational only. -DRIVER_RESET_CLOCKS = ("I2C",) - SYSCFG_GPIO_PARAM = re.compile(r"^\.associatedPins\[(\d+)\]\.(\w+)$") -SYSCFG_PERIPH_MEMBER = re.compile(r"^\.peripheral\.(\w+)\.\$assign$") -SYSCFG_PWM_CHANNEL = re.compile(r"^\.peripheral\.ccp(\d+)Pin\.\$assign$") +SYSCFG_PERIPH_MEMBER = re.compile(r"^\.peripheral\.(\w+)\.\$(assign|suggestSolution)$") +SYSCFG_PWM_CHANNEL = re.compile(r"^ccp(\d+)Pin$") +# 实例的时钟配置结构:gI2C_0ClockConfig,SPI 写成 gSPI_1_clockConfig;成员按列对齐,等号前的 +# 空格数不定。 +# The clock configuration struct of an instance: gI2C_0ClockConfig, written gSPI_1_clockConfig +# for an SPI; the members are aligned in columns, so the spaces before the equals sign vary. +CLOCK_CONFIG = re.compile(r"static const \w+ g(\w+?)_?[Cc]lockConfig\s*=\s*\{(.*?)\};", re.S) +CLOCK_MEMBER = r"\.{}\s*=\s*(\w+)" +HEADER_DEFINE = re.compile(r"^#define[ \t]+(\w+)(?:[ \t]+(.*?))?[ \t\r]*$", re.M) +DMA_TRIGGER = re.compile(r"\(?\s*DMA_\w+?_(TX|RX)_TRIG\s*\)?") +IDENTIFIER = re.compile(r"[A-Za-z_]\w*") def _strip_comments(text: str) -> str: @@ -121,9 +147,11 @@ class Instances: """ def __init__(self, text: str) -> None: - """解析 .syscfg 的脚本正文,按变量记下每个实例的全部赋值。 + """解析 .syscfg 的脚本正文,按变量记下每个实例的全部赋值。外设和引脚都是 $assign 优先, + 求解器的 $suggestSolution 兜底(与 libxr pins 的读法相同)。 Parse the script body of a .syscfg and record every assignment of each instance by its - variable. + variable. For the peripheral and the pins $assign wins and the solver's + $suggestSolution is the fallback, as libxr pins reads them. """ text = _strip_comments(text) modules = dict(pin_project.SYSCFG_MODULE.findall(text)) @@ -160,7 +188,9 @@ def __init__(self, text: str) -> None: entry["peripheral"] = entry["peripheral"] or value elif tail.startswith(".peripheral."): member = SYSCFG_PERIPH_MEMBER.match(tail) - if member: + # $assign 覆盖同名成员的 $suggestSolution,反过来不覆盖。 + # $assign overrides a $suggestSolution of the same member, not the other way. + if member and (member.group(2) == "assign" or member.group(1) not in entry["pins"]): entry["pins"][member.group(1)] = value elif tail.startswith(".DMA_CHANNEL_"): entry["dma"][tail] = value @@ -173,9 +203,6 @@ def __init__(self, text: str) -> None: f".associatedPins[{index}].pin.$assign", f".associatedPins[{index}].pin.$suggestSolution", ): - # $assign 优先于 $suggestSolution;后写的 $suggestSolution 不覆盖 $assign。 - # $assign wins over $suggestSolution; a later $suggestSolution does not - # override an $assign. if tail.endswith(".$assign") or "pin" not in pin: pin["pin"] = value else: @@ -197,58 +224,128 @@ def peripherals(self, module: str) -> dict[str, dict]: return found -def _sysconfig_output(directory: Path, syscfg: Path) -> tuple[str, str]: - """SysConfig 生成的 ti_msp_dl_config.h 和 .c 的内容:优先复用 build* 中比 .syscfg 新的输出, - 否则运行 SysConfig 到临时目录(用后删除)。 - The contents of the ti_msp_dl_config.h/.c SysConfig generates: an output under build* that - is newer than the .syscfg is reused; otherwise SysConfig runs into a temporary directory - (removed afterwards). +def _fail(message: str): + """记录错误并以状态 1 退出。 + Log an error and exit with status 1. """ - syscfg_mtime = syscfg.stat().st_mtime - reused = sorted( - ( - path - for path in directory.glob("build*/**/syscfg/ti_msp_dl_config.h") - if path.stat().st_mtime >= syscfg_mtime - ), - key=lambda path: path.stat().st_mtime, + logging.error(message) + sys.exit(1) + + +def _read_output(directory: Path) -> tuple[str, str]: + """directory 中 ti_msp_dl_config.h 和 .c 的内容。 + The contents of ti_msp_dl_config.h and .c in directory. + """ + header = directory / "ti_msp_dl_config.h" + source = directory / "ti_msp_dl_config.c" + return header.read_text(encoding="utf-8", errors="replace"), source.read_text( + encoding="utf-8", errors="replace" ) - if reused: - header = reused[-1] - source = header.with_name("ti_msp_dl_config.c") - if source.is_file(): - build_dir = header.parent.parent - label = ( - build_dir.relative_to(directory) - if build_dir.is_relative_to(directory) - else build_dir - ) - logging.info( - tr( - f"Reusing the SysConfig output in {label}", - f"复用 {label} 中的 SysConfig 输出", - ) + + +def _sysconfig_problems(tool: str, sdk: str) -> list[tuple[str, str]]: + """SysConfig 环境的问题:没有设置的变量,或设置了但指错的路径;没有问题时为空。 + The problems of the SysConfig environment: a variable that is not set, or one that is set + to a wrong path; empty when there is none. + """ + problems = [] + if not tool: + problems.append(("SYSCONFIG_TOOL is not set", "没有设置 SYSCONFIG_TOOL")) + elif not os.path.isfile(tool): + problems.append( + ( + f"SYSCONFIG_TOOL={tool} is not a file (it names sysconfig_cli.bat or " + "sysconfig_cli.sh)", + f"SYSCONFIG_TOOL={tool} 不是文件(应指向 sysconfig_cli.bat 或 sysconfig_cli.sh)", ) - return header.read_text(encoding="utf-8", errors="replace"), source.read_text( - encoding="utf-8", errors="replace" + ) + if not sdk: + problems.append(("MSPM0_SDK_INSTALL_DIR is not set", "没有设置 MSPM0_SDK_INSTALL_DIR")) + elif not os.path.isfile(os.path.join(sdk, ".metadata", "product.json")): + problems.append( + ( + f"MSPM0_SDK_INSTALL_DIR={sdk} has no .metadata/product.json", + f"MSPM0_SDK_INSTALL_DIR={sdk} 中没有 .metadata/product.json", ) + ) + return problems + + +def _reusable_output(directory: Path, syscfg: Path) -> Path | None: + """工程构建目录(BUILD_DIRECTORIES)中比 .syscfg 新、.h 和 .c 都在的最新一份 SysConfig 输出 + 目录;没有时为 None。 + The newest SysConfig output directory in the build directories of the project + (BUILD_DIRECTORIES) that is newer than the .syscfg and holds both the .h and the .c; None + when there is none. + """ + syscfg_mtime = syscfg.stat().st_mtime + headers = [ + path + for pattern in BUILD_DIRECTORIES + for path in directory.glob(f"{pattern}/**/syscfg/ti_msp_dl_config.h") + if path.stat().st_mtime >= syscfg_mtime and path.with_suffix(".c").is_file() + ] + if not headers: + return None + return max(headers, key=lambda path: path.stat().st_mtime).parent + +def _sysconfig_output(directory: Path, syscfg: Path) -> tuple[str, str]: + """SysConfig 生成的 ti_msp_dl_config.h 和 .c 的内容:SysConfig 环境可用时运行它到临时目录 + (用后删除),否则复用构建目录中比 .syscfg 新的输出;都不行时说明缺什么并退出。 + The contents of the ti_msp_dl_config.h/.c SysConfig generates: with a usable SysConfig + environment it runs into a temporary directory (removed afterwards), otherwise an output in + a build directory that is newer than the .syscfg is reused; when neither works, say what is + missing and exit. + """ tool = os.environ.get("SYSCONFIG_TOOL", "") sdk = os.environ.get("MSPM0_SDK_INSTALL_DIR", "") - if not tool or not sdk or not os.path.exists(os.path.join(sdk, ".metadata", "product.json")): - logging.error( + problems = _sysconfig_problems(tool, sdk) + if not problems: + return _run_sysconfig(tool, sdk, syscfg) + english = "; ".join(problem[0] for problem in problems) + chinese = ";".join(problem[1] for problem in problems) + + reused = _reusable_output(directory, syscfg) + if reused is not None and (tool or sdk): + # 设置了却指错的环境变量要说出来,否则用户不知道 SysConfig 为什么没有运行。 + # A variable that is set but wrong is reported; otherwise nobody learns why SysConfig + # did not run. + logging.warning( tr( - f"{directory}: no SysConfig output newer than {syscfg.name} found under build*, " - "and SYSCONFIG_TOOL or MSPM0_SDK_INSTALL_DIR is not set (the environment " - "variables the CMake build uses). Build the project once, or set them and run " - "`libxr parse` again.", - f"{directory}:build* 下没有比 {syscfg.name} 新的 SysConfig 输出,且没有设置 " - "SYSCONFIG_TOOL 或 MSPM0_SDK_INSTALL_DIR(CMake 构建使用的环境变量)。" - "请先构建一次工程,或设置它们后重新运行 `libxr parse`。", + f"SysConfig cannot run: {english}; the build output is reused instead", + f"无法运行 SysConfig:{chinese};改为复用构建输出", ) ) - sys.exit(1) + if reused is not None: + build_dir = reused.parent + label = ( + build_dir.relative_to(directory) if build_dir.is_relative_to(directory) else build_dir + ) + logging.info( + tr(f"Reusing the SysConfig output in {label}", f"复用 {label} 中的 SysConfig 输出") + ) + return _read_output(reused) + _fail( + tr( + f"{directory}: no SysConfig output newer than {syscfg.name} found under " + f"{', '.join(BUILD_DIRECTORIES)}, and SysConfig cannot run: {english} (the " + "environment variables the CMake build uses). Build the project once, or set them " + "and run `libxr parse` again.", + f"{directory}:{'、'.join(BUILD_DIRECTORIES)} 下没有比 {syscfg.name} 新的 SysConfig " + f"输出,且无法运行 SysConfig:{chinese}(CMake 构建使用的环境变量)。请先构建一次" + "工程,或设置它们后重新运行 `libxr parse`。", + ) + ) + + +def _run_sysconfig(tool: str, sdk: str, syscfg: Path) -> tuple[str, str]: + """用 SysConfig 生成 syscfg 的输出到临时目录并读出 .h 和 .c;运行失败、超时或无法启动时 + 记录错误并退出。 + Generate the output of syscfg into a temporary directory with SysConfig and read the .h and + the .c; a failed, timed-out or unstartable run logs an error and exits. + """ output = tempfile.mkdtemp(prefix="libxr-sysconfig-") try: command = [ @@ -261,36 +358,60 @@ def _sysconfig_output(directory: Path, syscfg: Path) -> tuple[str, str]: output, str(syscfg), ] - result = subprocess.run(command, capture_output=True, text=True, timeout=SYSCONFIG_TIMEOUT) + logging.info( + tr(f"Running SysConfig on {syscfg.name}", f"正在对 {syscfg.name} 运行 SysConfig") + ) + try: + result = subprocess.run( + command, capture_output=True, text=True, timeout=SYSCONFIG_TIMEOUT + ) + except subprocess.TimeoutExpired: + _fail( + tr( + f"SysConfig did not finish on {syscfg} within {SYSCONFIG_TIMEOUT} s ({tool})", + f"SysConfig 在 {SYSCONFIG_TIMEOUT} 秒内没有处理完 {syscfg}({tool})", + ) + ) + except OSError as error: + _fail( + tr( + f"Cannot run SysConfig ({tool}): {error}", + f"无法运行 SysConfig({tool}):{error}", + ) + ) if result.returncode != 0: - logging.error( + _fail( tr( f"SysConfig failed on {syscfg}:\n{result.stdout}{result.stderr}", f"SysConfig 在 {syscfg} 上运行失败:\n{result.stdout}{result.stderr}", ) ) - sys.exit(1) - header = Path(output) / "ti_msp_dl_config.h" - source = Path(output) / "ti_msp_dl_config.c" - return header.read_text(encoding="utf-8", errors="replace"), source.read_text( - encoding="utf-8", errors="replace" - ) + try: + return _read_output(Path(output)) + except OSError as error: + _fail( + tr( + f"SysConfig wrote no ti_msp_dl_config.h/.c for {syscfg}: {error}", + f"SysConfig 没有为 {syscfg} 写出 ti_msp_dl_config.h/.c:{error}", + ) + ) finally: shutil.rmtree(output, ignore_errors=True) -def _defines(header: str) -> set[str]: - """ti_msp_dl_config.h 定义的宏名。 - The macro names ti_msp_dl_config.h defines. +def _header_defines(header: str) -> dict[str, str]: + """ti_msp_dl_config.h 定义的宏,按出现顺序:宏名 -> 值(去掉首尾空白,没有值时为空串)。 + The macros ti_msp_dl_config.h defines, in order: name -> value (stripped, empty when the + macro has none). """ - return set(re.findall(r"^#define\s+(\w+)", header, re.M)) + return {name: (value or "").strip() for name, value in HEADER_DEFINE.findall(header)} -def _cpuclk(header: str) -> int | None: +def _cpuclk(defines: dict[str, str]) -> int | None: """ti_msp_dl_config.h 里的 CPUCLK_FREQ;没有时为 None。 The CPUCLK_FREQ of ti_msp_dl_config.h; None when it does not define one. """ - match = re.search(r"^#define\s+CPUCLK_FREQ\s+(\d+)", header, re.M) + match = re.fullmatch(r"\(?(\d+)U?\)?", defines.get("CPUCLK_FREQ", "")) return int(match.group(1)) if match else None @@ -303,14 +424,15 @@ def _ulpclk_divider(source: str) -> int: def _clock_configs(source: str) -> dict[str, dict]: - """ti_msp_dl_config.c 里每个实例的时钟配置:实例名(I2C_0)-> clockSel 和 divideRatio。 - The clock configuration of every instance in ti_msp_dl_config.c: instance name (I2C_0) -> - its clockSel and divideRatio. + """ti_msp_dl_config.c 里每个实例的时钟配置:实例名(I2C_0、SPI_1)-> clockSel 和 + divideRatio。 + The clock configuration of every instance in ti_msp_dl_config.c: instance name (I2C_0, + SPI_1) -> its clockSel and divideRatio. """ found: dict[str, dict] = {} - for name, body in re.findall(r"static const \w+ g(\w+)ClockConfig = \{(.*?)\};", source, re.S): - sel = re.search(r"\.clockSel = (\w+)", body) - div = re.search(r"\.divideRatio = (\w+)", body) + for name, body in CLOCK_CONFIG.findall(source): + sel = re.search(CLOCK_MEMBER.format("clockSel"), body) + div = re.search(CLOCK_MEMBER.format("divideRatio"), body) found[name] = { "clockSel": sel.group(1) if sel else None, "divideRatio": div.group(1) if div else None, @@ -319,11 +441,11 @@ def _clock_configs(source: str) -> dict[str, dict]: def _clock_is_default(clock: dict) -> bool: - """实例的 SysConfig 时钟配置是否为默认的 BUSCLK + 分频 1(驱动会重设的外设除外,那只影响 - SysConfig 写下的初值)。 + """实例的 SysConfig 时钟配置是否为默认的 BUSCLK + 分频 1(驱动会重设时钟的外设,例如 I2C, + 这只描述 SysConfig 写下的初值)。 Whether the SysConfig clock configuration of the instance is the default BUSCLK with divider - 1; for a peripheral whose driver resets the clock this only describes the initial value - SysConfig wrote. + 1; for a peripheral whose driver resets the clock, such as an I2C, this only describes the + initial value SysConfig wrote. """ sel, div = clock.get("clockSel"), clock.get("divideRatio") return sel in ( @@ -341,11 +463,70 @@ def _clock_is_default(clock: dict) -> bool: ) -def _gpio_entries(syscfg: Path, instances: Instances, defines: set[str]) -> dict: +def _device_names(power_domains: dict[str, int], defines: dict[str, str]) -> set[str]: + """GPIO 对象名不能用的器件名字:器件头文件的外设实例宏(UART0、SPI1、TIMG0、GPIOA……,取自 + P1 数据的电源域表)和 ti_msp_dl_config.h 定义的宏。 + The device names a GPIO object cannot take: the peripheral instance macros of the device + header (UART0, SPI1, TIMG0, GPIOA, ..., from the power domain table of the P1 data) and the + macros ti_msp_dl_config.h defines. + """ + names = {name for name in power_domains if not re.fullmatch(r"P[A-Z]\d+", name)} + names.update({"GPIOA", "GPIOB", "GPIOC"}) + names.update(defines) + return names + + +def _gpio_label(syscfg: Path, group: str, name: str) -> str: + """GPIO 对象名:引脚 $name 去掉 PIN_ 前缀(PIN_LED1 -> LED1);去掉后不是合法标识符时 + (SysConfig 的默认名 PIN_0 -> 0)退回小写的组名加引脚名(gpio_btn_pin_0),并提示怎样在 + SysConfig 中改名。 + The GPIO object name: the pin $name without its PIN_ prefix (PIN_LED1 -> LED1); when that + is not a valid identifier (the SysConfig default PIN_0 -> 0) it falls back to the + lower-case group plus pin name (gpio_btn_pin_0), with a hint on renaming in SysConfig. + """ + label = name[4:] if name.startswith("PIN_") else name + if IDENTIFIER.fullmatch(label): + return label + fallback = re.sub(r"\W", "_", f"{group}_{name}".lower()) + logging.warning( + tr( + f"{syscfg.name}: the GPIO pin {name} of {group} gives no valid C++ name ({label}); " + f"the object is named {fallback}. Give the pin a name in SysConfig (GPIO > {group} " + "> the pin > Name, for example PIN_LED1 for LED1) to choose it.", + f"{syscfg.name}:{group} 的 GPIO 引脚 {name} 得不到合法的 C++ 名字({label});对象" + f"命名为 {fallback}。请在 SysConfig 中给引脚命名(GPIO > {group} > 该引脚 > Name," + "例如 PIN_LED1 得到 LED1)。", + ) + ) + return fallback + + +def _gpio_physical(pin: dict, port_value: str, pin_value: str) -> str | None: + """引脚的物理位置(PB8):.syscfg 的 pin.$assign/$suggestSolution;没有时(TI 例程里的端口 + 加引脚号写法,或求解器选的引脚)取自 SysConfig 输出的 PORT 和 PIN 宏的值(GPIOB、 + DL_GPIO_PIN_8)。都没有时为 None。 + The physical position of a pin (PB8): pin.$assign/$suggestSolution of the .syscfg; without + it (the port plus pin number form of TI's examples, or a pin the solver chose) it comes from + the values of the PORT and PIN macros of the SysConfig output (GPIOB, DL_GPIO_PIN_8). None + when neither gives it. + """ + if pin.get("pin"): + return str(pin["pin"]) + port = re.search(r"\bGPIO([A-Z])\b", port_value) + line = re.search(r"\bDL_GPIO_PIN_(\d+)\b", pin_value) + if port and line: + return f"P{port.group(1)}{int(line.group(1))}" + return None + + +def _gpio_entries( + syscfg: Path, instances: Instances, defines: dict[str, str], device_names: set[str] +) -> dict: """.syscfg 中 GPIO 组的引脚:标签($name 去掉 PIN_ 前缀)-> 组、物理引脚、实际生成的宏和 - 电气设置。 + 电气设置。跳过的引脚都给出警告;与器件宏同名的标签报错退出。 The pins of the GPIO groups in the .syscfg: label (the $name without its PIN_ prefix) -> group, physical pin, the macros that were actually generated and the electrical settings. + Every skipped pin is warned about; a label named like a device macro is an error. """ entries: dict[str, dict] = {} for entry in instances.of_var.values(): @@ -361,8 +542,15 @@ def _gpio_entries(syscfg: Path, instances: Instances, defines: set[str]) -> dict group_port = f"{group_name}_PORT" in defines for index in sorted(entry["gpio"]): pin = entry["gpio"][index] - name, physical = pin.get("name"), pin.get("pin") - if not name or not physical: + name = pin.get("name") + if not name: + logging.warning( + tr( + f"{syscfg.name}: pin {index} of the GPIO group {group_name} has no " + "name; it is skipped", + f"{syscfg.name}:GPIO 组 {group_name} 的第 {index} 个引脚没有名字;跳过", + ) + ) continue port_macro = f"{group_name}_PORT" if group_port else f"{group_name}_{name}_PORT" pin_macro = f"{group_name}_{name}_PIN" @@ -380,6 +568,17 @@ def _gpio_entries(syscfg: Path, instances: Instances, defines: set[str]) -> dict ) ) continue + physical = _gpio_physical(pin, defines[port_macro], defines[pin_macro]) + if physical is None: + logging.warning( + tr( + f"{syscfg.name}: cannot tell the pin of the GPIO {name} from " + f"{port_macro} and {pin_macro}; it is skipped", + f"{syscfg.name}:无法从 {port_macro} 和 {pin_macro} 得知 GPIO {name} " + "的引脚;跳过", + ) + ) + continue record = { "Group": group_name, "Pin": physical, @@ -390,8 +589,20 @@ def _gpio_entries(syscfg: Path, instances: Instances, defines: set[str]) -> dict "Resistor": pin.get("internalResistor", "NONE"), } if pin.get("interruptEn"): - record["Interrupt"] = pin.get("polarity", "RISE") - label = name[4:] if name.startswith("PIN_") else name + # SysConfig 的触发极性默认是 DISABLE(GPIOPin.syscfg.js)。 + # The trigger polarity of SysConfig defaults to DISABLE (GPIOPin.syscfg.js). + record["Interrupt"] = pin.get("polarity", "DISABLE") + label = _gpio_label(syscfg, group_name, name) + if label in device_names or label in CPP_KEYWORDS: + _fail( + tr( + f"{syscfg.name}: the GPIO object name {label} (pin {name} of " + f"{group_name}) is a C++ keyword or a macro of the device or of the " + "SysConfig output; rename the pin in SysConfig", + f"{syscfg.name}:GPIO 对象名 {label}({group_name} 的引脚 {name})是 " + "C++ 关键字,或器件、SysConfig 输出中的宏;请在 SysConfig 中给引脚改名", + ) + ) if label in entries: logging.warning( tr( @@ -403,84 +614,176 @@ def _gpio_entries(syscfg: Path, instances: Instances, defines: set[str]) -> dict return entries -def _dma_channel(entry: dict, direction: str) -> str | None: - """实例的 DMA 通道名:UART 是 DMA_CHANNEL_TX/RX,SPI 是事件通道,按触发方向区分。 +def _header_dma_channel(name: str, direction: str, defines: dict[str, str]) -> str | None: + """SysConfig 输出里实例 name 在 direction(TX/RX)方向的 DMA 通道名:每个 + _INST_DMA_TRIGGER_n 前面紧挨着它的通道的 <通道>_CHAN_ID。没有时为 None。 + The DMA channel name of the instance name in direction (TX/RX) in the SysConfig output: + every _INST_DMA_TRIGGER_n directly follows the _CHAN_ID of its channel. None + when there is none. + """ + channel = None + for macro, value in defines.items(): + if macro.endswith("_CHAN_ID"): + channel = macro[: -len("_CHAN_ID")] + elif re.fullmatch(rf"{re.escape(name)}_INST_DMA_TRIGGER_\d+", macro): + trigger = DMA_TRIGGER.fullmatch(value) + if trigger and trigger.group(1) == direction and channel: + return channel + return None + + +def _dma_channel(name: str, entry: dict, direction: str, defines: dict[str, str]) -> str | None: + """实例的 DMA 通道名:UART 是 DMA_CHANNEL_TX/RX,SPI 是事件通道,按触发方向区分(RX 的触发 + 包括 RX_TIMEOUT);.syscfg 没写通道名时取自 SysConfig 输出。 The DMA channel name of an instance: DMA_CHANNEL_TX/RX for a UART, the event channels of an - SPI told apart by their trigger direction. + SPI told apart by their trigger direction (an RX trigger includes RX_TIMEOUT); when the + .syscfg does not name the channel it comes from the SysConfig output. """ - name = entry["dma"].get(f".DMA_CHANNEL_{direction}.$name") - if name: - return name + channel = entry["dma"].get(f".DMA_CHANNEL_{direction}.$name") + if channel: + return channel for event in (1, 2): channel = entry["dma"].get(f".DMA_CHANNEL_EVENT{event}.$name") - trigger = entry["params"].get(f"enabledDMAEvent{event}Triggers") + trigger = str(entry["params"].get(f"enabledDMAEvent{event}Triggers") or "") if channel and trigger: - if direction == "RX" and trigger.endswith("_RX"): + if direction == "RX" and re.search(r"_RX(_TIMEOUT)?$", trigger): return channel if direction == "TX" and trigger.endswith("_TX"): return channel + return _header_dma_channel(name, direction, defines) + + +def _not_generated(syscfg: Path, module: str, name: str, entry: dict, defines: dict) -> str | None: + """LibXR 驱动不支持的工作模式:I2C 只有目标模式(SysConfig 输出里没有 _BUS_SPEED_HZ), + SPI 是外设模式。返回原因的英文和中文,支持时为 None。 + A mode the LibXR driver does not support: an I2C in target mode only (no _BUS_SPEED_HZ + in the SysConfig output) and an SPI in peripheral mode. Returns the reason, or None when + the mode is supported. + """ + if module == "I2C" and f"{name}_BUS_SPEED_HZ" not in defines: + return tr( + f"{syscfg.name}: {name} is not in controller mode (no {name}_BUS_SPEED_HZ in the " + "SysConfig output); the LibXR MSPM0 I2C driver is controller-only, so no object is " + "generated and the instance is listed under Other", + f"{syscfg.name}:{name} 不是控制器模式(SysConfig 输出里没有 {name}_BUS_SPEED_HZ);" + "LibXR 的 MSPM0 I2C 驱动只支持控制器,不生成对象,实例列在 Other 中", + ) + if module == "SPI" and str(entry["params"].get("mode", "CONTROLLER")) != "CONTROLLER": + return tr( + f"{syscfg.name}: {name} is in {entry['params']['mode']} mode; the LibXR MSPM0 SPI " + "driver is controller-only, so no object is generated and the instance is listed " + "under Other", + f"{syscfg.name}:{name} 是 {entry['params']['mode']} 模式;LibXR 的 MSPM0 SPI 驱动只" + "支持控制器,不生成对象,实例列在 Other 中", + ) return None -def parse_project(directory: str, output: str | None = None, summary: bool = True) -> None: - """解析 directory 根目录的 .syscfg 工程并写出 YAML;summary 为真时打印摘要。 - Parse the .syscfg project in the root of directory and write the YAML; print a summary when - summary is set. +def _pwm_channels(syscfg: Path, name: str, entry: dict, defines: dict[str, str]) -> list[int]: + """PWM 实例的通道:SysConfig 输出里的 GPIO__C_IDX;输出里没有时取 .syscfg 的 + ccpPin($assign 或 $suggestSolution)。都没有时给出警告。 + The channels of a PWM instance: GPIO__C_IDX in the SysConfig output; without them + the ccpPin members of the .syscfg ($assign or $suggestSolution). A warning when neither + gives any. + """ + pattern = re.compile(rf"GPIO_{re.escape(name)}_C(\d+)_IDX") + channels = sorted({int(m.group(1)) for macro in defines if (m := pattern.fullmatch(macro))}) + if not channels: + channels = sorted( + {int(m.group(1)) for member in entry["pins"] if (m := SYSCFG_PWM_CHANNEL.match(member))} + ) + if not channels: + logging.warning( + tr( + f"{syscfg.name}: the PWM {name} has no channel (no GPIO_{name}_C_IDX in the " + "SysConfig output and no ccpPin in the .syscfg); no PWM object is generated", + f"{syscfg.name}:PWM {name} 没有通道(SysConfig 输出里没有 GPIO_{name}_C_IDX," + ".syscfg 里也没有 ccpPin);不生成 PWM 对象", + ) + ) + return channels - 输出路径默认为该目录下的 .config.yaml。调用方(libxr parse)已确认目录存在且根目录含有一个 - .syscfg 文件。 - The output defaults to .config.yaml in that directory. The caller, libxr parse, has checked - that the directory exists and the root holds one .syscfg file. + +def _syscfg_of(directory: str) -> Path: + """directory 根目录唯一的 .syscfg;不是正好一个时报错退出。 + The single .syscfg in the root of directory; an error exits when there is not exactly one. """ - root = Path(directory) - syscfgs = sorted(root.glob("*.syscfg")) + syscfgs = sorted(Path(directory).glob("*.syscfg")) if len(syscfgs) != 1: names = ", ".join(path.name for path in syscfgs) or tr("none found", "没有找到") - logging.error( + _fail( tr( f"{directory} must hold exactly one .syscfg file in its root ({names})", f"{directory} 的根目录必须有且只有一个 .syscfg 文件({names})", ) ) - sys.exit(1) - syscfg = syscfgs[0] - logging.info(tr(f"Processing {syscfg.name}...", f"正在处理 {syscfg.name}……")) + return syscfgs[0] - header, source = _sysconfig_output(root, syscfg) + +def _device_of(syscfg: Path) -> tuple[str, dict[str, int]]: + """.syscfg 的器件(@v2CliArgs 的 --device,或 --board 的板子表)和器件族的外设电源域;没有 + 器件或器件未知时报错退出。 + The device of the .syscfg (--device of @v2CliArgs, or the board table for --board) and the + peripheral power domains of its family; a missing or unknown device is an error. + """ meta = pin_project.read_syscfg(syscfg) board = pin_project.load_boards().get(meta.board or "") device = meta.device or (board or {}).get("device") if device is None: - logging.error( + _fail( tr( f"{syscfg.name} does not name a device (@v2CliArgs --device or --board)", f"{syscfg.name} 没有给出器件(@v2CliArgs 的 --device 或 --board)", ) ) - sys.exit(1) + try: + return device, _power_domains(device) + except ValueError as error: + _fail(tr(f"{syscfg.name}: {error}", f"{syscfg.name}:{error}")) + + +def parse_project(directory: str, output: str | None = None, summary: bool = True) -> None: + """解析 directory 根目录的 .syscfg 工程并写出 YAML;summary 为真时打印摘要。 + Parse the .syscfg project in the root of directory and write the YAML; print a summary when + summary is set. + + 输出路径默认为该目录下的 .config.yaml。调用方(libxr parse)已确认目录存在且根目录含有一个 + .syscfg 文件。 + The output defaults to .config.yaml in that directory. The caller, libxr parse, has checked + that the directory exists and the root holds one .syscfg file. + """ + root = Path(directory) + syscfg = _syscfg_of(directory) + logging.info(tr(f"Processing {syscfg.name}...", f"正在处理 {syscfg.name}……")) + device, power_domains = _device_of(syscfg) + header, source = _sysconfig_output(root, syscfg) + defines = _header_defines(header) instances = Instances(syscfg.read_text(encoding="utf-8", errors="replace")) peripherals: dict[str, dict] = {} + other: dict[str, dict] = {} for module, section in GENERATED_MODULES.items(): for name, entry in instances.peripherals(module).items(): - record = {"Peripheral": entry["peripheral"]} + # .syscfg 没写外设时(求解器选的)取 SysConfig 输出的 _INST。 + # When the .syscfg names no peripheral (the solver chose it) it comes from the + # _INST of the SysConfig output. + peripheral = entry["peripheral"] or defines.get(f"{name}_INST") or None + reason = _not_generated(syscfg, module, name, entry, defines) + if reason: + logging.warning(reason) + other[name] = {"Module": module, "Peripheral": peripheral} + continue + record = {"Peripheral": peripheral} for direction in ("TX", "RX"): - channel = _dma_channel(entry, direction) + channel = _dma_channel(name, entry, direction, defines) if channel: record[f"DMA_{direction}"] = channel - pins = {member: pin for member, pin in entry["pins"].items()} - if pins: - record["Pins"] = pins + if entry["pins"]: + record["Pins"] = dict(entry["pins"]) if module == "PWM": - channels = sorted( - int(match.group(1)) - for member in entry["pins"] - if (match := SYSCFG_PWM_CHANNEL.match(f".peripheral.{member}.$assign")) - ) - record["Channels"] = channels + record["Channels"] = _pwm_channels(syscfg, name, entry, defines) peripherals.setdefault(section, {})[name] = record - other: dict[str, dict] = {} for entry in instances.of_var.values(): module, name, peripheral = entry["module"], entry["name"], entry["peripheral"] if module in GENERATED_MODULES or module == "GPIO": @@ -492,7 +795,6 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru # 每个外设实例所在的电源域(P1 的数据),gen 的时钟计算(M5)要用。 # The power domain of every peripheral instance (the P1 data), for the clock computation of # gen (M5). - power_domains = _power_domains(device) clocks = _clock_configs(source) for _section, records in peripherals.items(): for name, record in records.items(): @@ -507,9 +809,9 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru "Platform": "mspm0", "Syscfg": syscfg.name, "Mcu": {"Family": "MSPM0", "Type": device}, - "CPUCLK": _cpuclk(header), + "CPUCLK": _cpuclk(defines), "ULPCLKDivider": _ulpclk_divider(source), - "GPIO": _gpio_entries(syscfg, instances, _defines(header)), + "GPIO": _gpio_entries(syscfg, instances, defines, _device_names(power_domains, defines)), "Peripherals": {**peripherals, "Other": other} if other else peripherals, } @@ -528,8 +830,9 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru def _power_domains(device: str) -> dict[str, int]: - """器件所属家族的外设电源域(P1 的 mspm0 数据:模块名 -> 0/1)。 - The peripheral power domains of the family of the device (the P1 mspm0 data: module -> 0/1). + """器件所属家族的外设电源域(P1 的 mspm0 数据:模块名 -> 0/1);器件未知时抛出 ValueError。 + The peripheral power domains of the family of the device (the P1 mspm0 data: module -> + 0/1); an unknown device raises ValueError. """ data = pin_layout.load_data("mspm0") _, family, _ = pin_layout.mspm0_family(device, data) diff --git a/tests/data/mspm0/variants.syscfg b/tests/data/mspm0/variants.syscfg new file mode 100644 index 0000000..46bd578 --- /dev/null +++ b/tests/data/mspm0/variants.syscfg @@ -0,0 +1,109 @@ +/** + * These arguments were used when this file was generated. They will be automatically applied on subsequent loads + * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments. + * @cliArgs --device "MSPM0G350X" --part "Default" --package "LQFP-48(PT)" --product "mspm0_sdk@2.11.00.07" + * @v2CliArgs --device "MSPM0G3507" --package "LQFP-48(PT)" --product "mspm0_sdk@2.11.00.07" + * @versions {"tool":"1.28.1+4785"} + */ + +/** + * A test project with the SysConfig setups the two BSPs do not use: an SPI clocked from MFCLK + * with a divider and an RX timeout DMA trigger, an SPI in peripheral mode, an I2C in target + * mode only, a PWM with the default instance name whose pins are only suggested, GPIO pins + * given as port + pin number, a pin with the default name, and a UART with DMA on both sides. + */ +const GPIO = scripting.addModule("/ti/driverlib/GPIO", {}, false); +const GPIO1 = GPIO.addInstance(); +const GPIO2 = GPIO.addInstance(); +const I2C = scripting.addModule("/ti/driverlib/I2C", {}, false); +const I2C1 = I2C.addInstance(); +const I2C2 = I2C.addInstance(); +const PWM = scripting.addModule("/ti/driverlib/PWM", {}, false); +const PWM1 = PWM.addInstance(); +const SPI = scripting.addModule("/ti/driverlib/SPI", {}, false); +const SPI1 = SPI.addInstance(); +const SPI2 = SPI.addInstance(); +const SYSCTL = scripting.addModule("/ti/driverlib/SYSCTL"); +const UART = scripting.addModule("/ti/driverlib/UART", {}, false); +const UART1 = UART.addInstance(); + +GPIO1.$name = "GPIO_LEDS"; +GPIO1.port = "PORTA"; +GPIO1.associatedPins.create(2); +GPIO1.associatedPins[0].$name = "USER_LED_1"; +GPIO1.associatedPins[0].assignedPin = "26"; +GPIO1.associatedPins[1].$name = "USER_LED_2"; +GPIO1.associatedPins[1].assignedPin = "27"; + +GPIO2.$name = "GPIO_BTN"; +GPIO2.associatedPins.create(1); +GPIO2.associatedPins[0].$name = "PIN_0"; +GPIO2.associatedPins[0].direction = "INPUT"; +GPIO2.associatedPins[0].pin.$assign = "PA7"; + +I2C1.$name = "I2C_TARGET"; +I2C1.basicEnableTarget = true; +I2C1.basicTargetAddress = 0x48; +I2C1.peripheral.$assign = "I2C1"; +I2C1.peripheral.sdaPin.$assign = "PB3"; +I2C1.peripheral.sclPin.$assign = "PB2"; + +I2C2.$name = "I2C_0"; +I2C2.basicEnableController = true; +I2C2.basicControllerBusSpeed = 400000; +I2C2.peripheral.$assign = "I2C0"; +I2C2.peripheral.sdaPin.$assign = "PA0"; +I2C2.peripheral.sclPin.$assign = "PA1"; + +PWM1.$name = "PWM_0"; +PWM1.peripheral.$assign = "TIMG0"; +PWM1.peripheral.ccp0Pin.$suggestSolution = "PA12"; +PWM1.peripheral.ccp1Pin.$suggestSolution = "PA13"; + +SPI1.$name = "SPI_1"; +SPI1.spiClkSrc = "MFCLK"; +SPI1.spiClkDiv = "4"; +SPI1.enabledInterrupts = ["DMA_DONE_RX","DMA_DONE_TX"]; +SPI1.enabledDMAEvent1Triggers = "DL_SPI_DMA_INTERRUPT_RX_TIMEOUT"; +SPI1.enabledDMAEvent2Triggers = "DL_SPI_DMA_INTERRUPT_TX"; +SPI1.peripheral.$assign = "SPI1"; +SPI1.peripheral.sclkPin.$assign = "PB9"; +SPI1.peripheral.mosiPin.$assign = "PB8"; +SPI1.peripheral.misoPin.$assign = "PB7"; +SPI1.peripheral.cs0Pin.$assign = "PB6"; +SPI1.DMA_CHANNEL_EVENT1.$name = "DMA_CH_SPI1_RX"; +SPI1.DMA_CHANNEL_EVENT1.addressMode = "f2b"; +SPI1.DMA_CHANNEL_EVENT1.srcLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT1.dstLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT2.$name = "DMA_CH_SPI1_TX"; +SPI1.DMA_CHANNEL_EVENT2.addressMode = "b2f"; +SPI1.DMA_CHANNEL_EVENT2.srcLength = "BYTE"; +SPI1.DMA_CHANNEL_EVENT2.dstLength = "BYTE"; + +SPI2.$name = "SPI_PERIPH"; +SPI2.mode = "PERIPHERAL"; +SPI2.peripheral.$assign = "SPI0"; +SPI2.peripheral.sclkPin.$assign = "PA6"; +SPI2.peripheral.mosiPin.$assign = "PA5"; +SPI2.peripheral.misoPin.$assign = "PA4"; +SPI2.peripheral.cs0Pin.$assign = "PA2"; + +SYSCTL.MFCLKEn = true; + +UART1.$name = "UART_0"; +UART1.targetBaudRate = 115200; +UART1.enableDMATX = true; +UART1.enabledDMATXTriggers = "DL_UART_DMA_INTERRUPT_TX"; +UART1.enableDMARX = true; +UART1.enabledDMARXTriggers = "DL_UART_DMA_INTERRUPT_RX"; +UART1.peripheral.$assign = "UART0"; +UART1.peripheral.rxPin.$assign = "PA11"; +UART1.peripheral.txPin.$assign = "PA10"; +UART1.DMA_CHANNEL_TX.$name = "DMA_CH_UART0_TX"; +UART1.DMA_CHANNEL_TX.addressMode = "b2f"; +UART1.DMA_CHANNEL_TX.srcLength = "BYTE"; +UART1.DMA_CHANNEL_TX.dstLength = "BYTE"; +UART1.DMA_CHANNEL_RX.$name = "DMA_CH_UART0_RX"; +UART1.DMA_CHANNEL_RX.addressMode = "f2b"; +UART1.DMA_CHANNEL_RX.srcLength = "BYTE"; +UART1.DMA_CHANNEL_RX.dstLength = "BYTE"; diff --git a/tests/data/mspm0/variants_ti_msp_dl_config.c b/tests/data/mspm0/variants_ti_msp_dl_config.c new file mode 100644 index 0000000..ca5ce07 --- /dev/null +++ b/tests/data/mspm0/variants_ti_msp_dl_config.c @@ -0,0 +1,479 @@ +/* + * Copyright (c) 2023, Texas Instruments Incorporated + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * ============ ti_msp_dl_config.c ============= + * Configured MSPM0 DriverLib module definitions + * + * DO NOT EDIT - This file is generated for the MSPM0G350X + * by the SysConfig tool. + */ + +#include "ti_msp_dl_config.h" + +DL_SPI_backupConfig gSPI_1Backup; +DL_SPI_backupConfig gSPI_PERIPHBackup; + +/* + * ======== SYSCFG_DL_init ======== + * Perform any initialization needed before using any board APIs + */ +SYSCONFIG_WEAK void SYSCFG_DL_init(void) +{ + SYSCFG_DL_initPower(); + SYSCFG_DL_GPIO_init(); + /* Module-Specific Initializations*/ + SYSCFG_DL_SYSCTL_init(); + SYSCFG_DL_PWM_0_init(); + SYSCFG_DL_I2C_TARGET_init(); + SYSCFG_DL_I2C_0_init(); + SYSCFG_DL_UART_0_init(); + SYSCFG_DL_SPI_1_init(); + SYSCFG_DL_SPI_PERIPH_init(); + SYSCFG_DL_DMA_init(); + /* Ensure backup structures have no valid state */ + + + gSPI_1Backup.backupRdy = false; + gSPI_PERIPHBackup.backupRdy = false; + +} +/* + * User should take care to save and restore register configuration in application. + * See Retention Configuration section for more details. + */ +SYSCONFIG_WEAK bool SYSCFG_DL_saveConfiguration(void) +{ + bool retStatus = true; + + retStatus &= DL_SPI_saveConfiguration(SPI_1_INST, &gSPI_1Backup); + retStatus &= DL_SPI_saveConfiguration(SPI_PERIPH_INST, &gSPI_PERIPHBackup); + + return retStatus; +} + + +SYSCONFIG_WEAK bool SYSCFG_DL_restoreConfiguration(void) +{ + bool retStatus = true; + + retStatus &= DL_SPI_restoreConfiguration(SPI_1_INST, &gSPI_1Backup); + retStatus &= DL_SPI_restoreConfiguration(SPI_PERIPH_INST, &gSPI_PERIPHBackup); + + return retStatus; +} + +SYSCONFIG_WEAK void SYSCFG_DL_initPower(void) +{ + DL_GPIO_reset(GPIOA); + DL_GPIO_reset(GPIOB); + DL_TimerG_reset(PWM_0_INST); + DL_I2C_reset(I2C_TARGET_INST); + DL_I2C_reset(I2C_0_INST); + DL_UART_Main_reset(UART_0_INST); + DL_SPI_reset(SPI_1_INST); + DL_SPI_reset(SPI_PERIPH_INST); + + + DL_GPIO_enablePower(GPIOA); + DL_GPIO_enablePower(GPIOB); + DL_TimerG_enablePower(PWM_0_INST); + DL_I2C_enablePower(I2C_TARGET_INST); + DL_I2C_enablePower(I2C_0_INST); + DL_UART_Main_enablePower(UART_0_INST); + DL_SPI_enablePower(SPI_1_INST); + DL_SPI_enablePower(SPI_PERIPH_INST); + + delay_cycles(POWER_STARTUP_DELAY); +} + +SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void) +{ + + DL_GPIO_initPeripheralOutputFunction(GPIO_PWM_0_C0_IOMUX,GPIO_PWM_0_C0_IOMUX_FUNC); + DL_GPIO_enableOutput(GPIO_PWM_0_C0_PORT, GPIO_PWM_0_C0_PIN); + DL_GPIO_initPeripheralOutputFunction(GPIO_PWM_0_C1_IOMUX,GPIO_PWM_0_C1_IOMUX_FUNC); + DL_GPIO_enableOutput(GPIO_PWM_0_C1_PORT, GPIO_PWM_0_C1_PIN); + + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_TARGET_IOMUX_SDA, + GPIO_I2C_TARGET_IOMUX_SDA_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_TARGET_IOMUX_SCL, + GPIO_I2C_TARGET_IOMUX_SCL_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_enableHiZ(GPIO_I2C_TARGET_IOMUX_SDA); + DL_GPIO_enableHiZ(GPIO_I2C_TARGET_IOMUX_SCL); + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_0_IOMUX_SDA, + GPIO_I2C_0_IOMUX_SDA_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_initPeripheralInputFunctionFeatures(GPIO_I2C_0_IOMUX_SCL, + GPIO_I2C_0_IOMUX_SCL_FUNC, DL_GPIO_INVERSION_DISABLE, + DL_GPIO_RESISTOR_NONE, DL_GPIO_HYSTERESIS_DISABLE, + DL_GPIO_WAKEUP_DISABLE); + DL_GPIO_enableHiZ(GPIO_I2C_0_IOMUX_SDA); + DL_GPIO_enableHiZ(GPIO_I2C_0_IOMUX_SCL); + + DL_GPIO_initPeripheralOutputFunction( + GPIO_UART_0_IOMUX_TX, GPIO_UART_0_IOMUX_TX_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_UART_0_IOMUX_RX, GPIO_UART_0_IOMUX_RX_FUNC); + + DL_GPIO_initPeripheralOutputFunction( + GPIO_SPI_1_IOMUX_SCLK, GPIO_SPI_1_IOMUX_SCLK_FUNC); + DL_GPIO_initPeripheralOutputFunction( + GPIO_SPI_1_IOMUX_PICO, GPIO_SPI_1_IOMUX_PICO_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_SPI_1_IOMUX_POCI, GPIO_SPI_1_IOMUX_POCI_FUNC); + DL_GPIO_initPeripheralOutputFunction( + GPIO_SPI_1_IOMUX_CS0, GPIO_SPI_1_IOMUX_CS0_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_SPI_PERIPH_IOMUX_SCLK, GPIO_SPI_PERIPH_IOMUX_SCLK_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_SPI_PERIPH_IOMUX_PICO, GPIO_SPI_PERIPH_IOMUX_PICO_FUNC); + DL_GPIO_initPeripheralOutputFunction( + GPIO_SPI_PERIPH_IOMUX_POCI, GPIO_SPI_PERIPH_IOMUX_POCI_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_SPI_PERIPH_IOMUX_CS, GPIO_SPI_PERIPH_IOMUX_CS_FUNC); + + DL_GPIO_initDigitalOutput(GPIO_LEDS_USER_LED_1_IOMUX); + + DL_GPIO_initDigitalOutput(GPIO_LEDS_USER_LED_2_IOMUX); + + DL_GPIO_initDigitalInputFeatures(GPIO_BTN_PIN_0_IOMUX, + DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_NONE, + DL_GPIO_HYSTERESIS_DISABLE, DL_GPIO_WAKEUP_DISABLE); + + DL_GPIO_clearPins(GPIOA, GPIO_LEDS_USER_LED_1_PIN | + GPIO_LEDS_USER_LED_2_PIN); + DL_GPIO_enableOutput(GPIOA, GPIO_LEDS_USER_LED_1_PIN | + GPIO_LEDS_USER_LED_2_PIN); + +} + + +SYSCONFIG_WEAK void SYSCFG_DL_SYSCTL_init(void) +{ + + //Low Power Mode is configured to be SLEEP0 + DL_SYSCTL_setBORThreshold(DL_SYSCTL_BOR_THRESHOLD_LEVEL_0); + + DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_BASE); + DL_SYSCTL_enableMFCLK(); + DL_SYSCTL_setULPCLKDivider(DL_SYSCTL_ULPCLK_DIV_1); + DL_SYSCTL_setMCLKDivider(DL_SYSCTL_MCLK_DIVIDER_DISABLE); + +} + + +/* + * Timer clock configuration to be sourced by / 1 (32000000 Hz) + * timerClkFreq = (timerClkSrc / (timerClkDivRatio * (timerClkPrescale + 1))) + * 32000000 Hz = 32000000 Hz / (1 * (0 + 1)) + */ +static const DL_TimerG_ClockConfig gPWM_0ClockConfig = { + .clockSel = DL_TIMER_CLOCK_BUSCLK, + .divideRatio = DL_TIMER_CLOCK_DIVIDE_1, + .prescale = 0U +}; + +static const DL_TimerG_PWMConfig gPWM_0Config = { + .pwmMode = DL_TIMER_PWM_MODE_EDGE_ALIGN, + .period = 1000, + .isTimerWithFourCC = false, + .startTimer = DL_TIMER_STOP, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_PWM_0_init(void) { + + DL_TimerG_setClockConfig( + PWM_0_INST, (DL_TimerG_ClockConfig *) &gPWM_0ClockConfig); + + DL_TimerG_initPWMMode( + PWM_0_INST, (DL_TimerG_PWMConfig *) &gPWM_0Config); + + // Set Counter control to the smallest CC index being used + DL_TimerG_setCounterControl(PWM_0_INST,DL_TIMER_CZC_CCCTL0_ZCOND,DL_TIMER_CAC_CCCTL0_ACOND,DL_TIMER_CLC_CCCTL0_LCOND); + + DL_TimerG_setCaptureCompareOutCtl(PWM_0_INST, DL_TIMER_CC_OCTL_INIT_VAL_LOW, + DL_TIMER_CC_OCTL_INV_OUT_DISABLED, DL_TIMER_CC_OCTL_SRC_FUNCVAL, + DL_TIMERG_CAPTURE_COMPARE_0_INDEX); + + DL_TimerG_setCaptCompUpdateMethod(PWM_0_INST, DL_TIMER_CC_UPDATE_METHOD_IMMEDIATE, DL_TIMERG_CAPTURE_COMPARE_0_INDEX); + DL_TimerG_setCaptureCompareValue(PWM_0_INST, 1000, DL_TIMER_CC_0_INDEX); + + DL_TimerG_setCaptureCompareOutCtl(PWM_0_INST, DL_TIMER_CC_OCTL_INIT_VAL_LOW, + DL_TIMER_CC_OCTL_INV_OUT_DISABLED, DL_TIMER_CC_OCTL_SRC_FUNCVAL, + DL_TIMERG_CAPTURE_COMPARE_1_INDEX); + + DL_TimerG_setCaptCompUpdateMethod(PWM_0_INST, DL_TIMER_CC_UPDATE_METHOD_IMMEDIATE, DL_TIMERG_CAPTURE_COMPARE_1_INDEX); + DL_TimerG_setCaptureCompareValue(PWM_0_INST, 1000, DL_TIMER_CC_1_INDEX); + + DL_TimerG_enableClock(PWM_0_INST); + + + + DL_TimerG_setCCPDirection(PWM_0_INST , DL_TIMER_CC0_OUTPUT | DL_TIMER_CC1_OUTPUT ); + + +} + + +static const DL_I2C_ClockConfig gI2C_TARGETClockConfig = { + .clockSel = DL_I2C_CLOCK_BUSCLK, + .divideRatio = DL_I2C_CLOCK_DIVIDE_1, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_I2C_TARGET_init(void) { + + DL_I2C_setClockConfig(I2C_TARGET_INST, + (DL_I2C_ClockConfig *) &gI2C_TARGETClockConfig); + DL_I2C_setAnalogGlitchFilterPulseWidth(I2C_TARGET_INST, + DL_I2C_ANALOG_GLITCH_FILTER_WIDTH_50NS); + DL_I2C_enableAnalogGlitchFilter(I2C_TARGET_INST); + + /* Configure Target Mode */ + DL_I2C_setTargetOwnAddress(I2C_TARGET_INST, I2C_TARGET_TARGET_OWN_ADDR); + DL_I2C_setTargetTXFIFOThreshold(I2C_TARGET_INST, DL_I2C_TX_FIFO_LEVEL_EMPTY); + DL_I2C_setTargetRXFIFOThreshold(I2C_TARGET_INST, DL_I2C_RX_FIFO_LEVEL_BYTES_1); + + DL_I2C_enableTargetClockStretching(I2C_TARGET_INST); + + /* Workaround for errata I2C_ERR_04 */ + DL_I2C_disableTargetWakeup(I2C_TARGET_INST); + + /* Enable module */ + DL_I2C_enableTarget(I2C_TARGET_INST); + + +} +static const DL_I2C_ClockConfig gI2C_0ClockConfig = { + .clockSel = DL_I2C_CLOCK_BUSCLK, + .divideRatio = DL_I2C_CLOCK_DIVIDE_1, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_I2C_0_init(void) { + + DL_I2C_setClockConfig(I2C_0_INST, + (DL_I2C_ClockConfig *) &gI2C_0ClockConfig); + DL_I2C_setAnalogGlitchFilterPulseWidth(I2C_0_INST, + DL_I2C_ANALOG_GLITCH_FILTER_WIDTH_50NS); + DL_I2C_enableAnalogGlitchFilter(I2C_0_INST); + + /* Configure Controller Mode */ + DL_I2C_resetControllerTransfer(I2C_0_INST); + /* Set frequency to 400000 Hz*/ + DL_I2C_setTimerPeriod(I2C_0_INST, 7); + DL_I2C_setControllerTXFIFOThreshold(I2C_0_INST, DL_I2C_TX_FIFO_LEVEL_EMPTY); + DL_I2C_setControllerRXFIFOThreshold(I2C_0_INST, DL_I2C_RX_FIFO_LEVEL_BYTES_1); + DL_I2C_enableControllerClockStretching(I2C_0_INST); + + + /* Enable module */ + DL_I2C_enableController(I2C_0_INST); + + +} + +static const DL_UART_Main_ClockConfig gUART_0ClockConfig = { + .clockSel = DL_UART_MAIN_CLOCK_BUSCLK, + .divideRatio = DL_UART_MAIN_CLOCK_DIVIDE_RATIO_1 +}; + +static const DL_UART_Main_Config gUART_0Config = { + .mode = DL_UART_MAIN_MODE_NORMAL, + .direction = DL_UART_MAIN_DIRECTION_TX_RX, + .flowControl = DL_UART_MAIN_FLOW_CONTROL_NONE, + .parity = DL_UART_MAIN_PARITY_NONE, + .wordLength = DL_UART_MAIN_WORD_LENGTH_8_BITS, + .stopBits = DL_UART_MAIN_STOP_BITS_ONE +}; + +SYSCONFIG_WEAK void SYSCFG_DL_UART_0_init(void) +{ + DL_UART_Main_setClockConfig(UART_0_INST, (DL_UART_Main_ClockConfig *) &gUART_0ClockConfig); + + DL_UART_Main_init(UART_0_INST, (DL_UART_Main_Config *) &gUART_0Config); + /* + * Configure baud rate by setting oversampling and baud rate divisors. + * Target baud rate: 115200 + * Actual baud rate: 115211.52 + */ + DL_UART_Main_setOversampling(UART_0_INST, DL_UART_OVERSAMPLING_RATE_16X); + DL_UART_Main_setBaudRateDivisor(UART_0_INST, UART_0_IBRD_32_MHZ_115200_BAUD, UART_0_FBRD_32_MHZ_115200_BAUD); + + + /* Configure DMA Receive Event */ + DL_UART_Main_enableDMAReceiveEvent(UART_0_INST, DL_UART_DMA_INTERRUPT_RX); + /* Configure DMA Transmit Event */ + DL_UART_Main_enableDMATransmitEvent(UART_0_INST); + + DL_UART_Main_enable(UART_0_INST); +} + +static const DL_SPI_Config gSPI_1_config = { + .mode = DL_SPI_MODE_CONTROLLER, + .frameFormat = DL_SPI_FRAME_FORMAT_MOTO4_POL0_PHA0, + .parity = DL_SPI_PARITY_NONE, + .dataSize = DL_SPI_DATA_SIZE_8, + .bitOrder = DL_SPI_BIT_ORDER_MSB_FIRST, + .chipSelectPin = DL_SPI_CHIP_SELECT_0, +}; + +static const DL_SPI_ClockConfig gSPI_1_clockConfig = { + .clockSel = DL_SPI_CLOCK_MFCLK, + .divideRatio = DL_SPI_CLOCK_DIVIDE_RATIO_4 +}; + +SYSCONFIG_WEAK void SYSCFG_DL_SPI_1_init(void) { + DL_SPI_setClockConfig(SPI_1_INST, (DL_SPI_ClockConfig *) &gSPI_1_clockConfig); + + DL_SPI_init(SPI_1_INST, (DL_SPI_Config *) &gSPI_1_config); + + /* Configure Controller mode */ + /* + * Set the bit rate clock divider to generate the serial output clock + * outputBitRate = (spiInputClock) / ((1 + SCR) * 2) + * Infinity = (1000000)/((1 + -1) * 2) + */ + DL_SPI_setBitRateSerialClockDivider(SPI_1_INST, -1); + + /* Enable SPI TX interrupt as a trigger for DMA */ + DL_SPI_enableDMATransmitEvent(SPI_1_INST); + + /* Enable SPI RX interrupt as a trigger for DMA */ + DL_SPI_enableDMAReceiveEvent(SPI_1_INST, DL_SPI_DMA_INTERRUPT_RX_TIMEOUT); + /* Set RX and TX FIFO threshold levels */ + DL_SPI_setFIFOThreshold(SPI_1_INST, DL_SPI_RX_FIFO_LEVEL_1_2_FULL, DL_SPI_TX_FIFO_LEVEL_1_2_EMPTY); + DL_SPI_enableInterrupt(SPI_1_INST, (DL_SPI_INTERRUPT_DMA_DONE_RX | + DL_SPI_INTERRUPT_DMA_DONE_TX)); + + /* Enable module */ + DL_SPI_enable(SPI_1_INST); +} +static const DL_SPI_Config gSPI_PERIPH_config = { + .mode = DL_SPI_MODE_PERIPHERAL, + .frameFormat = DL_SPI_FRAME_FORMAT_MOTO4_POL0_PHA0, + .parity = DL_SPI_PARITY_NONE, + .dataSize = DL_SPI_DATA_SIZE_8, + .bitOrder = DL_SPI_BIT_ORDER_MSB_FIRST, + .chipSelectPin = DL_SPI_CHIP_SELECT_0, +}; + +static const DL_SPI_ClockConfig gSPI_PERIPH_clockConfig = { + .clockSel = DL_SPI_CLOCK_BUSCLK, + .divideRatio = DL_SPI_CLOCK_DIVIDE_RATIO_1 +}; + +SYSCONFIG_WEAK void SYSCFG_DL_SPI_PERIPH_init(void) { + DL_SPI_setClockConfig(SPI_PERIPH_INST, (DL_SPI_ClockConfig *) &gSPI_PERIPH_clockConfig); + + DL_SPI_init(SPI_PERIPH_INST, (DL_SPI_Config *) &gSPI_PERIPH_config); + + /* Configure Peripheral mode */ + /* Set RX and TX FIFO threshold levels */ + DL_SPI_setFIFOThreshold(SPI_PERIPH_INST, DL_SPI_RX_FIFO_LEVEL_1_2_FULL, DL_SPI_TX_FIFO_LEVEL_1_2_EMPTY); + + /* Enable module */ + DL_SPI_enable(SPI_PERIPH_INST); +} + +static const DL_DMA_Config gDMA_CH_SPI1_RXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_INCREMENT, + .srcIncrement = DL_DMA_ADDR_UNCHANGED, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = SPI_1_INST_DMA_TRIGGER_0, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_SPI1_RX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_SPI1_RX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_SPI1_RXConfig); +} +static const DL_DMA_Config gDMA_CH_SPI1_TXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_UNCHANGED, + .srcIncrement = DL_DMA_ADDR_INCREMENT, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = SPI_1_INST_DMA_TRIGGER_1, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_SPI1_TX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_SPI1_TX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_SPI1_TXConfig); +} +static const DL_DMA_Config gDMA_CH_UART0_TXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_UNCHANGED, + .srcIncrement = DL_DMA_ADDR_INCREMENT, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = UART_0_INST_DMA_TRIGGER_0, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_UART0_TX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_UART0_TX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_UART0_TXConfig); +} +static const DL_DMA_Config gDMA_CH_UART0_RXConfig = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_INCREMENT, + .srcIncrement = DL_DMA_ADDR_UNCHANGED, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = UART_0_INST_DMA_TRIGGER_1, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH_UART0_RX_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH_UART0_RX_CHAN_ID , (DL_DMA_Config *) &gDMA_CH_UART0_RXConfig); +} +SYSCONFIG_WEAK void SYSCFG_DL_DMA_init(void){ + SYSCFG_DL_DMA_CH_SPI1_RX_init(); + SYSCFG_DL_DMA_CH_SPI1_TX_init(); + SYSCFG_DL_DMA_CH_UART0_TX_init(); + SYSCFG_DL_DMA_CH_UART0_RX_init(); +} + + diff --git a/tests/data/mspm0/variants_ti_msp_dl_config.h b/tests/data/mspm0/variants_ti_msp_dl_config.h new file mode 100644 index 0000000..5ca0da7 --- /dev/null +++ b/tests/data/mspm0/variants_ti_msp_dl_config.h @@ -0,0 +1,248 @@ +/* + * Copyright (c) 2023, Texas Instruments Incorporated - http://www.ti.com + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * ============ ti_msp_dl_config.h ============= + * Configured MSPM0 DriverLib module declarations + * + * DO NOT EDIT - This file is generated for the MSPM0G350X + * by the SysConfig tool. + */ +#ifndef ti_msp_dl_config_h +#define ti_msp_dl_config_h + +#define CONFIG_MSPM0G350X +#define CONFIG_MSPM0G3507 + +#if defined(__ti_version__) || defined(__TI_COMPILER_VERSION__) +#define SYSCONFIG_WEAK __attribute__((weak)) +#elif defined(__IAR_SYSTEMS_ICC__) +#define SYSCONFIG_WEAK __weak +#elif defined(__GNUC__) +#define SYSCONFIG_WEAK __attribute__((weak)) +#endif + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * ======== SYSCFG_DL_init ======== + * Perform all required MSP DL initialization + * + * This function should be called once at a point before any use of + * MSP DL. + */ + + +/* clang-format off */ + +#define POWER_STARTUP_DELAY (16) + + +#define CPUCLK_FREQ 32000000 + + + +/* Defines for PWM_0 */ +#define PWM_0_INST TIMG0 +#define PWM_0_INST_IRQHandler TIMG0_IRQHandler +#define PWM_0_INST_INT_IRQN (TIMG0_INT_IRQn) +#define PWM_0_INST_CLK_FREQ 32000000 +/* GPIO defines for channel 0 */ +#define GPIO_PWM_0_C0_PORT GPIOA +#define GPIO_PWM_0_C0_PIN DL_GPIO_PIN_12 +#define GPIO_PWM_0_C0_IOMUX (IOMUX_PINCM34) +#define GPIO_PWM_0_C0_IOMUX_FUNC IOMUX_PINCM34_PF_TIMG0_CCP0 +#define GPIO_PWM_0_C0_IDX DL_TIMER_CC_0_INDEX +/* GPIO defines for channel 1 */ +#define GPIO_PWM_0_C1_PORT GPIOA +#define GPIO_PWM_0_C1_PIN DL_GPIO_PIN_13 +#define GPIO_PWM_0_C1_IOMUX (IOMUX_PINCM35) +#define GPIO_PWM_0_C1_IOMUX_FUNC IOMUX_PINCM35_PF_TIMG0_CCP1 +#define GPIO_PWM_0_C1_IDX DL_TIMER_CC_1_INDEX + + + + +/* Defines for I2C_TARGET */ +#define I2C_TARGET_INST I2C1 +#define I2C_TARGET_INST_IRQHandler I2C1_IRQHandler +#define I2C_TARGET_INST_INT_IRQN I2C1_INT_IRQn +#define I2C_TARGET_TARGET_OWN_ADDR 0x48 +#define GPIO_I2C_TARGET_SDA_PORT GPIOB +#define GPIO_I2C_TARGET_SDA_PIN DL_GPIO_PIN_3 +#define GPIO_I2C_TARGET_IOMUX_SDA (IOMUX_PINCM16) +#define GPIO_I2C_TARGET_IOMUX_SDA_FUNC IOMUX_PINCM16_PF_I2C1_SDA +#define GPIO_I2C_TARGET_SCL_PORT GPIOB +#define GPIO_I2C_TARGET_SCL_PIN DL_GPIO_PIN_2 +#define GPIO_I2C_TARGET_IOMUX_SCL (IOMUX_PINCM15) +#define GPIO_I2C_TARGET_IOMUX_SCL_FUNC IOMUX_PINCM15_PF_I2C1_SCL + +/* Defines for I2C_0 */ +#define I2C_0_INST I2C0 +#define I2C_0_INST_IRQHandler I2C0_IRQHandler +#define I2C_0_INST_INT_IRQN I2C0_INT_IRQn +#define I2C_0_BUS_SPEED_HZ 400000 +#define GPIO_I2C_0_SDA_PORT GPIOA +#define GPIO_I2C_0_SDA_PIN DL_GPIO_PIN_0 +#define GPIO_I2C_0_IOMUX_SDA (IOMUX_PINCM1) +#define GPIO_I2C_0_IOMUX_SDA_FUNC IOMUX_PINCM1_PF_I2C0_SDA +#define GPIO_I2C_0_SCL_PORT GPIOA +#define GPIO_I2C_0_SCL_PIN DL_GPIO_PIN_1 +#define GPIO_I2C_0_IOMUX_SCL (IOMUX_PINCM2) +#define GPIO_I2C_0_IOMUX_SCL_FUNC IOMUX_PINCM2_PF_I2C0_SCL + + +/* Defines for UART_0 */ +#define UART_0_INST UART0 +#define UART_0_INST_FREQUENCY 32000000 +#define UART_0_INST_IRQHandler UART0_IRQHandler +#define UART_0_INST_INT_IRQN UART0_INT_IRQn +#define GPIO_UART_0_RX_PORT GPIOA +#define GPIO_UART_0_TX_PORT GPIOA +#define GPIO_UART_0_RX_PIN DL_GPIO_PIN_11 +#define GPIO_UART_0_TX_PIN DL_GPIO_PIN_10 +#define GPIO_UART_0_IOMUX_RX (IOMUX_PINCM22) +#define GPIO_UART_0_IOMUX_TX (IOMUX_PINCM21) +#define GPIO_UART_0_IOMUX_RX_FUNC IOMUX_PINCM22_PF_UART0_RX +#define GPIO_UART_0_IOMUX_TX_FUNC IOMUX_PINCM21_PF_UART0_TX +#define UART_0_BAUD_RATE (115200) +#define UART_0_IBRD_32_MHZ_115200_BAUD (17) +#define UART_0_FBRD_32_MHZ_115200_BAUD (23) + + + + +/* Defines for SPI_1 */ +#define SPI_1_INST SPI1 +#define SPI_1_INST_IRQHandler SPI1_IRQHandler +#define SPI_1_INST_INT_IRQN SPI1_INT_IRQn +#define GPIO_SPI_1_PICO_PORT GPIOB +#define GPIO_SPI_1_PICO_PIN DL_GPIO_PIN_8 +#define GPIO_SPI_1_IOMUX_PICO (IOMUX_PINCM25) +#define GPIO_SPI_1_IOMUX_PICO_FUNC IOMUX_PINCM25_PF_SPI1_PICO +#define GPIO_SPI_1_POCI_PORT GPIOB +#define GPIO_SPI_1_POCI_PIN DL_GPIO_PIN_7 +#define GPIO_SPI_1_IOMUX_POCI (IOMUX_PINCM24) +#define GPIO_SPI_1_IOMUX_POCI_FUNC IOMUX_PINCM24_PF_SPI1_POCI +/* GPIO configuration for SPI_1 */ +#define GPIO_SPI_1_SCLK_PORT GPIOB +#define GPIO_SPI_1_SCLK_PIN DL_GPIO_PIN_9 +#define GPIO_SPI_1_IOMUX_SCLK (IOMUX_PINCM26) +#define GPIO_SPI_1_IOMUX_SCLK_FUNC IOMUX_PINCM26_PF_SPI1_SCLK +#define GPIO_SPI_1_CS0_PORT GPIOB +#define GPIO_SPI_1_CS0_PIN DL_GPIO_PIN_6 +#define GPIO_SPI_1_IOMUX_CS0 (IOMUX_PINCM23) +#define GPIO_SPI_1_IOMUX_CS0_FUNC IOMUX_PINCM23_PF_SPI1_CS0 +/* Defines for SPI_PERIPH */ +#define SPI_PERIPH_INST SPI0 +#define SPI_PERIPH_INST_IRQHandler SPI0_IRQHandler +#define SPI_PERIPH_INST_INT_IRQN SPI0_INT_IRQn +#define GPIO_SPI_PERIPH_PICO_PORT GPIOA +#define GPIO_SPI_PERIPH_PICO_PIN DL_GPIO_PIN_5 +#define GPIO_SPI_PERIPH_IOMUX_PICO (IOMUX_PINCM10) +#define GPIO_SPI_PERIPH_IOMUX_PICO_FUNC IOMUX_PINCM10_PF_SPI0_PICO +#define GPIO_SPI_PERIPH_POCI_PORT GPIOA +#define GPIO_SPI_PERIPH_POCI_PIN DL_GPIO_PIN_4 +#define GPIO_SPI_PERIPH_IOMUX_POCI (IOMUX_PINCM9) +#define GPIO_SPI_PERIPH_IOMUX_POCI_FUNC IOMUX_PINCM9_PF_SPI0_POCI +/* GPIO configuration for SPI_PERIPH */ +#define GPIO_SPI_PERIPH_SCLK_PORT GPIOA +#define GPIO_SPI_PERIPH_SCLK_PIN DL_GPIO_PIN_6 +#define GPIO_SPI_PERIPH_IOMUX_SCLK (IOMUX_PINCM11) +#define GPIO_SPI_PERIPH_IOMUX_SCLK_FUNC IOMUX_PINCM11_PF_SPI0_SCLK +#define GPIO_SPI_PERIPH_CS_PORT GPIOA +#define GPIO_SPI_PERIPH_CS_PIN DL_GPIO_PIN_2 +#define GPIO_SPI_PERIPH_IOMUX_CS (IOMUX_PINCM7) +#define GPIO_SPI_PERIPH_IOMUX_CS_FUNC IOMUX_PINCM7_PF_SPI0_CS0 + + + +/* Defines for DMA_CH_SPI1_RX */ +#define DMA_CH_SPI1_RX_CHAN_ID (3) +#define SPI_1_INST_DMA_TRIGGER_0 (DMA_SPI1_RX_TRIG) +/* Defines for DMA_CH_SPI1_TX */ +#define DMA_CH_SPI1_TX_CHAN_ID (2) +#define SPI_1_INST_DMA_TRIGGER_1 (DMA_SPI1_TX_TRIG) +/* Defines for DMA_CH_UART0_TX */ +#define DMA_CH_UART0_TX_CHAN_ID (1) +#define UART_0_INST_DMA_TRIGGER_0 (DMA_UART0_TX_TRIG) +/* Defines for DMA_CH_UART0_RX */ +#define DMA_CH_UART0_RX_CHAN_ID (0) +#define UART_0_INST_DMA_TRIGGER_1 (DMA_UART0_RX_TRIG) + + +/* Port definition for Pin Group GPIO_LEDS */ +#define GPIO_LEDS_PORT (GPIOA) + +/* Defines for USER_LED_1: GPIOA.26 with pinCMx 59 on package pin 46 */ +#define GPIO_LEDS_USER_LED_1_PIN (DL_GPIO_PIN_26) +#define GPIO_LEDS_USER_LED_1_IOMUX (IOMUX_PINCM59) +/* Defines for USER_LED_2: GPIOA.27 with pinCMx 60 on package pin 47 */ +#define GPIO_LEDS_USER_LED_2_PIN (DL_GPIO_PIN_27) +#define GPIO_LEDS_USER_LED_2_IOMUX (IOMUX_PINCM60) +/* Port definition for Pin Group GPIO_BTN */ +#define GPIO_BTN_PORT (GPIOA) + +/* Defines for PIN_0: GPIOA.7 with pinCMx 14 on package pin 13 */ +#define GPIO_BTN_PIN_0_PIN (DL_GPIO_PIN_7) +#define GPIO_BTN_PIN_0_IOMUX (IOMUX_PINCM14) + + +/* clang-format on */ + +void SYSCFG_DL_init(void); +void SYSCFG_DL_initPower(void); +void SYSCFG_DL_GPIO_init(void); +void SYSCFG_DL_SYSCTL_init(void); +void SYSCFG_DL_PWM_0_init(void); +void SYSCFG_DL_I2C_TARGET_init(void); +void SYSCFG_DL_I2C_0_init(void); +void SYSCFG_DL_UART_0_init(void); +void SYSCFG_DL_SPI_1_init(void); +void SYSCFG_DL_SPI_PERIPH_init(void); +void SYSCFG_DL_DMA_init(void); + + +bool SYSCFG_DL_saveConfiguration(void); +bool SYSCFG_DL_restoreConfiguration(void); + +#ifdef __cplusplus +} +#endif + +#endif /* ti_msp_dl_config_h */ diff --git a/tests/test_generator_code_mspm0.py b/tests/test_generator_code_mspm0.py index 371fa3e..7322bce 100644 --- a/tests/test_generator_code_mspm0.py +++ b/tests/test_generator_code_mspm0.py @@ -5,31 +5,42 @@ code kept on regeneration. 测试固件是两个 BSP 的真实工程文件:.syscfg 加上 SysConfig 生成的 ti_msp_dl_config.h/.c(CI 里 -没有 SysConfig,输出随工程一起提交)。测试把固件复制进临时工程,使生成输出的修改时间比 .syscfg -新,解析直接复用它。 +没有 SysConfig,输出随工程一起提交),以及一个覆盖 BSP 没用到的 SysConfig 写法的 variants 工程 +(SPI 用 MFCLK 分频和 RX timeout DMA 触发、外设模式的 SPI、只有目标模式的 I2C、默认实例名且 +引脚只有建议值的 PWM、端口加引脚号的 GPIO、默认名 PIN_0 的引脚、收发都有 DMA 的 UART),它的 +输出同样由 SysConfig 1.28.1 生成。测试把固件复制进临时工程,使生成输出的修改时间比 .syscfg 新, +解析直接复用它;测试期间不设置 SYSCONFIG_TOOL 和 MSPM0_SDK_INSTALL_DIR。 The fixtures are the real project files of the two BSPs: the .syscfg plus the ti_msp_dl_config.h/.c that SysConfig generated (CI has no SysConfig, so the output is committed -with the project). A test copies the fixtures into a temporary project, so the generated output -is newer than the .syscfg and parsing reuses it. +with the project), and a variants project with the SysConfig setups the BSPs do not use (an SPI +on MFCLK with a divider and an RX timeout DMA trigger, an SPI in peripheral mode, an I2C in +target mode only, a PWM with the default instance name and only suggested pins, GPIO pins given +as port plus pin number, a pin with the default name PIN_0, a UART with DMA on both sides), +whose output SysConfig 1.28.1 generated as well. A test copies the fixtures into a temporary +project, so the generated output is newer than the .syscfg and parsing reuses it; +SYSCONFIG_TOOL and MSPM0_SDK_INSTALL_DIR are unset during the tests. """ +import contextlib +import io import os import shutil +import subprocess import tempfile from pathlib import Path +from unittest import mock import yaml from fixtures import DATA, TestCase from libxr import generator_code_mspm0 as generator +from libxr import peripheral_analyzer_mspm0 as analyzer from libxr.peripheral_analyzer_mspm0 import parse_project -# 与 CI 无关的本地 SysConfig 环境;设置了就顺便测试运行 SysConfig 的路径,否则只测复用路径。 -# A local SysConfig environment, independent of CI; when set, the run-SysConfig path is -# exercised as well, otherwise only the reuse path. -SYSCONFIG_ENV = { - name: os.environ.get(name, "") for name in ("SYSCONFIG_TOOL", "MSPM0_SDK_INSTALL_DIR") -} +# 测试期间清掉的 SysConfig 环境变量:设置了它们时解析会运行 SysConfig,而不是复用固件。 +# The SysConfig environment variables cleared during the tests: with them set, parsing runs +# SysConfig instead of reusing the fixtures. +SYSCONFIG_VARIABLES = ("SYSCONFIG_TOOL", "MSPM0_SDK_INSTALL_DIR") def bsp(name: str) -> str: @@ -39,44 +50,73 @@ def bsp(name: str) -> str: return { "g3507": "mspm0g3507_minidb48.syscfg", "g3519": "mspm0g3519_minidb48.syscfg", + "variants": "mspm0_variants.syscfg", }[name] -def project_of(name: str) -> Path: - """把 name 的固件复制进一个临时工程:根目录的 .syscfg 加上 build/test/syscfg 里的 SysConfig - 输出(修改时间更新);返回工程目录。测试结束时删除。 +def project_of(name: str, edit=None, build: str = "build") -> Path: + """把 name 的固件复制进一个临时工程:根目录的 .syscfg 加上 /test/syscfg 里的 + SysConfig 输出(修改时间更新);返回工程目录。edit 给出时用它改写 .syscfg 和两个输出文件的 + 文本(edit(文件名, 文本) -> 文本)。 Copy the fixtures of name into a temporary project: the .syscfg in the root plus the - SysConfig output in build/test/syscfg (with a newer modification time); the project - directory is returned and removed at the end of the test. + SysConfig output in /test/syscfg (with a newer modification time); the project + directory is returned. With edit, the text of the .syscfg and of both output files is + rewritten through it (edit(file name, text) -> text). """ root = Path(tempfile.mkdtemp(prefix="libxr-mspm0-")) - shutil.copy(DATA / "mspm0" / f"{name}.syscfg", root / bsp(name)) - output = root / "build" / "test" / "syscfg" + output = root / build / "test" / "syscfg" output.mkdir(parents=True) + copies = {f"{name}.syscfg": root / bsp(name)} for suffix in ("ti_msp_dl_config.h", "ti_msp_dl_config.c"): - target = output / suffix - shutil.copy(DATA / "mspm0" / f"{name}_{suffix}", target) - # 复制保留了源文件的旧修改时间;更新它,使解析认定输出比 .syscfg 新。 - # The copy keeps the old mtime of the source; touch it so parsing takes the output as - # newer than the .syscfg. + copies[f"{name}_{suffix}"] = output / suffix + # .syscfg 先写,输出后写,使输出更新。 + # The .syscfg is written first and the output after it, so the output is newer. + for source, target in copies.items(): + text = (DATA / "mspm0" / source).read_bytes().decode("utf-8") + if edit is not None: + text = edit(target.name, text) + target.write_bytes(text.encode("utf-8")) + for target in list(copies.values())[1:]: os.utime(target) return root -class Parsing(TestCase): - """libxr parse:工程 YAML 由 .syscfg 和 SysConfig 输出组成。 - libxr parse: the project YAML comes from the .syscfg and the SysConfig output. +class MSPM0TestCase(TestCase): + """清掉 SysConfig 环境变量、并在测试结束时删除临时工程的基类。 + A base class that clears the SysConfig environment variables and removes the temporary + projects at the end of the test. """ - def parse(self, name: str) -> dict: + def setUp(self): + super().setUp() + patch = mock.patch.dict(os.environ) + patch.start() + self.addCleanup(patch.stop) + for variable in SYSCONFIG_VARIABLES: + os.environ.pop(variable, None) + + def project(self, name: str, edit=None, build: str = "build") -> Path: + """project_of() 的临时工程,测试结束时删除。 + The temporary project of project_of(), removed at the end of the test. + """ + root = project_of(name, edit, build) + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + return root + + def parse(self, name: str, edit=None) -> dict: """解析 name 的临时工程,返回写出的工程 YAML。 Parse the temporary project of name and return the project YAML it wrote. """ - root = project_of(name) - self.addCleanup(shutil.rmtree, root, ignore_errors=True) + root = self.project(name, edit) parse_project(str(root), summary=False) return yaml.safe_load((root / ".config.yaml").read_text(encoding="utf-8")) + +class Parsing(MSPM0TestCase): + """libxr parse:工程 YAML 由 .syscfg 和 SysConfig 输出组成。 + libxr parse: the project YAML comes from the .syscfg and the SysConfig output. + """ + def test_the_platform_the_device_and_the_clocks_come_from_the_project(self): data = self.parse("g3507") self.assertEqual(data["Platform"], "mspm0") @@ -129,7 +169,258 @@ def test_the_second_uart_of_the_other_board_is_parsed_as_well(self): self.assertEqual(peripherals["UART"]["UART_7"]["PowerDomain"], 0) -class Generation(TestCase): +class ParsingVariants(MSPM0TestCase): + """libxr parse 对 BSP 没用到的 SysConfig 写法(variants 工程,审查 2026-10-07 的 H1-H6、 + L2、L4-L6、L9 和 M4)。 + libxr parse on the SysConfig setups the BSPs do not use (the variants project; H1-H6, L2, + L4-L6, L9 and M4 of the 2026-10-07 review). + """ + + def parse_logged(self, edit=None) -> tuple[dict, list[str]]: + """解析 variants 工程,返回工程 YAML 和警告。 + Parse the variants project and return the project YAML and the warnings. + """ + with self.assertLogs(level="WARNING") as logs: + data = self.parse("variants", edit) + return data, logs.output + + def test_the_spi_clock_configuration_is_read(self): + # H1:SysConfig 把 SPI 的结构写成 gSPI_1_clockConfig,成员按列对齐。 + # H1: SysConfig writes the SPI struct as gSPI_1_clockConfig, members aligned in columns. + data, _logs = self.parse_logged() + self.assertEqual( + data["Peripherals"]["SPI"]["SPI_1"]["SysConfigClock"], + {"clockSel": "DL_SPI_CLOCK_MFCLK", "divideRatio": "DL_SPI_CLOCK_DIVIDE_RATIO_4"}, + ) + + def test_an_rx_timeout_dma_trigger_is_the_rx_channel(self): + # L2 + data, _logs = self.parse_logged() + spi = data["Peripherals"]["SPI"]["SPI_1"] + self.assertEqual((spi["DMA_RX"], spi["DMA_TX"]), ("DMA_CH_SPI1_RX", "DMA_CH_SPI1_TX")) + + def test_pwm_channels_come_from_the_output_when_the_pins_are_only_suggested(self): + # H3:引脚只有 $suggestSolution;去掉它们后通道仍来自 SysConfig 输出的 _IDX 宏。 + # H3: the pins are only $suggestSolution; without them the channels still come from + # the _IDX macros of the SysConfig output. + data, _logs = self.parse_logged() + pwm = data["Peripherals"]["PWM"]["PWM_0"] + self.assertEqual(pwm["Channels"], [0, 1]) + self.assertEqual(pwm["Pins"], {"ccp0Pin": "PA12", "ccp1Pin": "PA13"}) + + def drop_pins(name, text): + if name.endswith(".syscfg"): + return "\n".join(line for line in text.splitlines() if "ccp" not in line) + return text + + data, _logs = self.parse_logged(drop_pins) + self.assertEqual(data["Peripherals"]["PWM"]["PWM_0"]["Channels"], [0, 1]) + + def test_a_pwm_without_channels_is_a_warning(self): + def drop_channels(name, text): + return "\n".join( + line for line in text.splitlines() if "ccp" not in line and "_C0_" not in line + ).replace("_C1_IDX", "_C1_INDEX") + + data, logs = self.parse_logged(drop_channels) + self.assertEqual(data["Peripherals"]["PWM"]["PWM_0"]["Channels"], []) + self.assertTrue(any("the PWM PWM_0 has no channel" in line for line in logs)) + + def test_gpio_pins_given_as_port_and_pin_number_are_kept(self): + # H5:TI 例程的写法 port = "PORTA" 加 assignedPin = "26"。 + # H5: the form of TI's examples, port = "PORTA" plus assignedPin = "26". + data, _logs = self.parse_logged() + self.assertEqual(data["GPIO"]["USER_LED_1"]["Pin"], "PA26") + self.assertEqual(data["GPIO"]["USER_LED_2"]["Port"], "GPIO_LEDS_PORT") + + def test_a_skipped_gpio_pin_is_a_warning(self): + def drop_macro(name, text): + return text.replace("GPIO_LEDS_USER_LED_2_IOMUX", "GPIO_LEDS_USER_LED_2_MUX") + + data, logs = self.parse_logged(drop_macro) + self.assertNotIn("USER_LED_2", data["GPIO"]) + self.assertTrue(any("the GPIO USER_LED_2 is skipped" in line for line in logs)) + + def test_a_default_pin_name_falls_back_to_the_group_and_the_pin(self): + # M4:PIN_0 去掉前缀是 0,不是标识符。 + # M4: PIN_0 without its prefix is 0, not an identifier. + data, logs = self.parse_logged() + self.assertEqual(data["GPIO"]["gpio_btn_pin_0"]["PinMacro"], "GPIO_BTN_PIN_0_PIN") + self.assertTrue( + any("the object is named gpio_btn_pin_0. Give the pin a name" in line for line in logs) + ) + + def test_a_pin_named_like_a_device_macro_is_an_error(self): + # M4:PIN_SPI1 会成为 SPI1,与器件头文件的外设宏同名。 + # M4: PIN_SPI1 would become SPI1, the peripheral macro of the device header. + def rename(name, text): + return text.replace("PIN_0", "PIN_SPI1") + + with self.assertLogs(level="ERROR") as logs, self.assertRaises(SystemExit): + self.parse("variants", rename) + self.assertIn("the GPIO object name SPI1 (pin PIN_SPI1 of GPIO_BTN)", logs.output[-1]) + + def test_an_interrupt_without_a_polarity_follows_the_sysconfig_default(self): + # L4:SysConfig 的 polarity 默认是 DISABLE。 + # L4: the polarity of SysConfig defaults to DISABLE. + def enable(name, text): + if name.endswith(".syscfg"): + return text.replace( + 'GPIO2.associatedPins[0].direction = "INPUT";', + 'GPIO2.associatedPins[0].direction = "INPUT";\n' + "GPIO2.associatedPins[0].interruptEn = true;", + ) + return text + + data, _logs = self.parse_logged(enable) + self.assertEqual(data["GPIO"]["gpio_btn_pin_0"]["Interrupt"], "DISABLE") + + def test_target_i2c_and_peripheral_spi_are_listed_but_not_generated(self): + # H6 + data, logs = self.parse_logged() + peripherals = data["Peripherals"] + self.assertNotIn("I2C_TARGET", peripherals["I2C"]) + self.assertNotIn("SPI_PERIPH", peripherals["SPI"]) + self.assertEqual( + peripherals["Other"]["I2C_TARGET"], {"Module": "I2C", "Peripheral": "I2C1"} + ) + self.assertEqual( + peripherals["Other"]["SPI_PERIPH"], {"Module": "SPI", "Peripheral": "SPI0"} + ) + self.assertTrue(any("I2C_TARGET is not in controller mode" in line for line in logs)) + self.assertTrue(any("SPI_PERIPH is in PERIPHERAL mode" in line for line in logs)) + + def test_a_dma_channel_without_a_name_in_the_syscfg_comes_from_the_output(self): + # L6:.syscfg 没写通道名时,SysConfig 输出里的 <通道>_CHAN_ID 和触发宏给出它。 + # L6: without a channel name in the .syscfg, the _CHAN_ID and the trigger + # macros of the SysConfig output give it. + def unnamed(name, text): + if name.endswith(".syscfg"): + return text.replace("UART1.DMA_CHANNEL_TX.$name", "// UART1.DMA_CHANNEL_TX.$name") + return text + + data, _logs = self.parse_logged(unnamed) + self.assertEqual(data["Peripherals"]["UART"]["UART_0"]["DMA_TX"], "DMA_CH_UART0_TX") + + def test_an_unknown_device_is_a_formatted_error(self): + # L5:没有调用栈,只有一条错误。 + # L5: no traceback, one error. + def unknown(name, text): + return text.replace('"MSPM0G3507"', '"MSPM0Z9999"') + + with self.assertLogs(level="ERROR") as logs, self.assertRaises(SystemExit): + self.parse("variants", unknown) + self.assertEqual( + logs.output, + ["ERROR:root:mspm0_variants.syscfg: Unknown MSPM0 model: MSPM0Z9999"], + ) + + def test_the_summary_lines_are_translated(self): + # L9 + root = self.project("variants") + with ( + mock.patch.dict(os.environ, XR_LANG="zh"), + contextlib.redirect_stdout(io.StringIO()) as out, + self.assertLogs(level="WARNING"), + ): + parse_project(str(root)) + self.assertIn(" USER_LED_1:PA26,OUTPUT", out.getvalue().splitlines()) + + +class SysConfigRun(MSPM0TestCase): + """SysConfig 的运行和复用(M3、M7)。 + Running and reusing SysConfig (M3, M7). + """ + + def environment(self, root: Path) -> None: + """为 root 设置一个能用的 SysConfig 环境:存在的工具文件和带 product.json 的 SDK。 + Set a usable SysConfig environment for root: a tool file that exists and an SDK with + product.json. + """ + tool = root / "sysconfig_cli.bat" + tool.write_text("", encoding="utf-8") + sdk = root / "sdk" + (sdk / ".metadata").mkdir(parents=True) + (sdk / ".metadata" / "product.json").write_text("{}", encoding="utf-8") + os.environ["SYSCONFIG_TOOL"] = str(tool) + os.environ["MSPM0_SDK_INSTALL_DIR"] = str(sdk) + + def test_a_configured_sysconfig_runs_even_when_a_build_output_exists(self): + root = self.project("variants") + self.environment(root) + + def sysconfig(command, **_options): + output = Path(command[command.index("--output") + 1]) + for suffix in ("ti_msp_dl_config.h", "ti_msp_dl_config.c"): + shutil.copy(DATA / "mspm0" / f"variants_{suffix}", output / suffix) + return subprocess.CompletedProcess(command, 0, "", "") + + with ( + mock.patch("subprocess.run", side_effect=sysconfig) as run, + self.assertLogs(level="INFO") as logs, + ): + parse_project(str(root), summary=False) + self.assertEqual(run.call_count, 1) + self.assertIn("INFO:root:Running SysConfig on mspm0_variants.syscfg", logs.output) + self.assertFalse(any("Reusing" in line for line in logs.output)) + + def test_a_sysconfig_that_cannot_start_is_a_formatted_error(self): + root = self.project("variants") + self.environment(root) + with ( + mock.patch("subprocess.run", side_effect=OSError("not a program")), + self.assertLogs(level="ERROR") as logs, + self.assertRaises(SystemExit), + ): + parse_project(str(root), summary=False) + self.assertTrue(logs.output[-1].startswith("ERROR:root:Cannot run SysConfig (")) + self.assertTrue(logs.output[-1].endswith("): not a program")) + + def test_a_sysconfig_timeout_is_a_formatted_error(self): + root = self.project("variants") + self.environment(root) + with ( + mock.patch("subprocess.run", side_effect=subprocess.TimeoutExpired("x", 300)), + self.assertLogs(level="ERROR") as logs, + self.assertRaises(SystemExit), + ): + parse_project(str(root), summary=False) + self.assertIn("SysConfig did not finish on", logs.output[-1]) + + def test_a_wrong_path_is_named_instead_of_not_set(self): + root = self.project("variants") + shutil.rmtree(root / "build") + os.environ["SYSCONFIG_TOOL"] = str(root / "missing_cli.bat") + with self.assertLogs(level="ERROR") as logs, self.assertRaises(SystemExit): + parse_project(str(root), summary=False) + self.assertIn( + f"SYSCONFIG_TOOL={root / 'missing_cli.bat'} is not a file (it names " + "sysconfig_cli.bat or sysconfig_cli.sh); MSPM0_SDK_INSTALL_DIR is not set", + logs.output[-1], + ) + + def test_a_wrong_path_is_reported_when_the_build_output_is_reused(self): + root = self.project("variants") + os.environ["SYSCONFIG_TOOL"] = str(root / "missing_cli.bat") + with self.assertLogs(level="WARNING") as logs: + parse_project(str(root), summary=False) + self.assertTrue( + logs.output[0].startswith( + f"WARNING:root:SysConfig cannot run: SYSCONFIG_TOOL={root / 'missing_cli.bat'}" + ) + ) + + def test_a_cmake_build_tree_is_reused(self): + root = self.project("variants", build="cmake-build-debug") + with self.assertLogs(level="INFO") as logs: + parse_project(str(root), summary=False) + self.assertIn( + f"INFO:root:Reusing the SysConfig output in {Path('cmake-build-debug') / 'test'}", + logs.output, + ) + + +class Generation(MSPM0TestCase): """libxr gen:生成的 app_main 源文件与设置,以及重新生成时保留的用户代码。 libxr gen: the generated app_main source and settings, and the user code kept on regeneration. @@ -140,27 +431,69 @@ def setUp(self): generator.initialize_registry() generator.reset_settings() - def generate(self, name: str, use_xrobot: bool = True) -> tuple[Path, str]: - """解析 name 的临时工程并生成 app_main 源文件;工程里的 User/app_main.cpp 先放上审查过 - 的输出(重新生成的起点)。返回工程目录和重新生成的文本。 - Parse the temporary project of name and generate the app_main source; the reviewed - output is placed at User/app_main.cpp first, as the starting point of the - regeneration. The project directory and the regenerated text are returned. + def generate(self, name: str, use_xrobot: bool = True, edit=None) -> tuple[Path, str]: + """解析 name 的临时工程并生成 app_main 源文件;BSP 工程的 User/app_main.cpp 先放上审查 + 过的输出(重新生成的起点)。返回工程目录和重新生成的文本。 + Parse the temporary project of name and generate the app_main source; for a BSP + project the reviewed output is placed at User/app_main.cpp first, as the starting point + of the regeneration. The project directory and the regenerated text are returned. + """ + root = self.project(name, edit) + with contextlib.ExitStack() as stack: + if name == "variants": + stack.enter_context(self.assertLogs(level="WARNING")) + parse_project(str(root), summary=False) + output = root / "User" / "app_main.cpp" + output.parent.mkdir() + reviewed = DATA / "mspm0" / f"{name}_expected_app_main.cpp" + if use_xrobot and name != "variants": + shutil.copy(reviewed, output) + self.regenerate(root, use_xrobot) + return root, output.read_text(encoding="utf-8") + + def regenerate(self, root: Path, use_xrobot: bool = True) -> str: + """再生成一次 root 的 app_main 源文件并返回它的文本。 + Generate the app_main source of root once more and return its text. """ - root = project_of(name) - self.addCleanup(shutil.rmtree, root, ignore_errors=True) - parse_project(str(root), summary=False) output = root / "User" / "app_main.cpp" - output.parent.mkdir() - reviewed = DATA / "mspm0" / f"{name}_expected_app_main.cpp" - if use_xrobot: - shutil.copy(reviewed, output) generator.generate(str(root / ".config.yaml"), str(output), use_xrobot, "") - return root, output.read_text(encoding="utf-8") + return output.read_text(encoding="utf-8") + + def settings(self, root: Path, change=None) -> dict: + """root 的 libxr_config.yaml;给出 change 时用它修改设置并写回。 + The libxr_config.yaml of root; with change, the settings are modified through it and + written back. + """ + config = root / "User" / "libxr_config.yaml" + settings = yaml.safe_load(config.read_text(encoding="utf-8")) + if change is not None: + change(settings) + config.write_text(yaml.dump(settings), encoding="utf-8") + return settings + + def project_yaml(self, root: Path, change) -> None: + """用 change 修改 root 的工程 YAML 并写回。 + Modify the project YAML of root through change and write it back. + """ + path = root / ".config.yaml" + data = yaml.safe_load(path.read_text(encoding="utf-8")) + change(data) + path.write_text(yaml.dump(data, sort_keys=False), encoding="utf-8") + + def failure(self, root: Path) -> str: + """重新生成 root 并断言失败,返回最后一条错误。 + Regenerate root, assert that it fails and return the last error. + """ + with self.assertLogs(level="WARNING") as logs, self.assertRaises(SystemExit): + self.regenerate(root) + self.assertTrue(logs.output[-1].startswith("ERROR:")) + return logs.output[-1] def test_the_generated_source_matches_the_reviewed_output(self): for name in ("g3507", "g3519"): with self.subTest(name=name): + generator.initialize_registry() + generator.reset_settings() _root, code = self.generate(name) expected = (DATA / "mspm0" / f"{name}_expected_app_main.cpp").read_text( encoding="utf-8" @@ -169,7 +502,7 @@ def test_the_generated_source_matches_the_reviewed_output(self): def test_the_written_settings_hold_the_defaults_the_generated_code_uses(self): root, code = self.generate("g3507") - settings = yaml.safe_load((root / "User" / "libxr_config.yaml").read_text(encoding="utf-8")) + settings = self.settings(root) self.assertEqual(settings["terminal_source"], "uart0") self.assertEqual(settings["UART"]["uart0"]["tx_buffer_size"], 128) self.assertEqual(settings["I2C"]["i2c0"]["dma_enable_min_size"], 8) @@ -183,15 +516,13 @@ def test_the_written_settings_hold_the_defaults_the_generated_code_uses(self): def test_a_configured_frequency_and_changed_sizes_are_applied(self): root, _code = self.generate("g3507") - config = root / "User" / "libxr_config.yaml" - settings = yaml.safe_load(config.read_text(encoding="utf-8")) - settings["PWM"]["pwm_tima1_c0"]["frequency"] = 1000 - settings["UART"]["uart1"]["tx_buffer_size"] = 64 - config.write_text(yaml.dump(settings), encoding="utf-8") - generator.generate( - str(root / ".config.yaml"), str(root / "User" / "app_main.cpp"), True, "" - ) - code = (root / "User" / "app_main.cpp").read_text(encoding="utf-8") + + def change(settings): + settings["PWM"]["pwm_tima1_c0"]["frequency"] = 1000 + settings["UART"]["uart1"]["tx_buffer_size"] = 64 + + self.settings(root, change) + code = self.regenerate(root) self.assertIn("pwm_tima1_c0.SetConfig({1000});", code) self.assertIn("static uint8_t uart1_tx_buf[2 * 64];", code) @@ -204,11 +535,7 @@ def test_the_user_code_of_an_existing_file_is_kept(self): "/* User Code Begin 1 */\n// A user note that must survive regeneration.", ) output.write_text(code, encoding="utf-8") - generator.generate(str(root / ".config.yaml"), str(output), True, "") - self.assertIn( - "// A user note that must survive regeneration.", - output.read_text(encoding="utf-8"), - ) + self.assertIn("// A user note that must survive regeneration.", self.regenerate(root)) def test_without_xrobot_the_entry_sleeps_and_registers_nothing(self): _root, code = self.generate("g3507", use_xrobot=False) @@ -216,3 +543,17 @@ def test_without_xrobot_the_entry_sleeps_and_registers_nothing(self): self.assertNotIn("xrobot_main.hpp", code) self.assertIn("Thread::Sleep(UINT32_MAX);", code) self.assertNotIn("XROBOT_MAIN();", code) + + +class Analyzer(TestCase): + """解析器的小函数。 + Small functions of the parser. + """ + + def test_the_clock_configurations_of_every_kind_are_read(self): + source = (DATA / "mspm0" / "variants_ti_msp_dl_config.c").read_text(encoding="utf-8") + clocks = analyzer._clock_configs(source) + self.assertEqual( + sorted(clocks), ["I2C_0", "I2C_TARGET", "PWM_0", "SPI_1", "SPI_PERIPH", "UART_0"] + ) + self.assertEqual(clocks["UART_0"]["clockSel"], "DL_UART_MAIN_CLOCK_BUSCLK") From c2a0c1d55af4d71bdb89ecd63afadb2c7a162073 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 20:34:21 +0100 Subject: [PATCH 20/34] Validate the MSPM0 settings and fix the clocks, PWM names and terminal of libxr gen An SPI clock constant is generated whenever the code uses it (MFCLK or LFCLK with any divider, BUSCLK with a divider); an unsupported clock source and a project YAML without the power domain or CPUCLK are errors instead of the _INST_FREQUENCY macro that SysConfig never defines for an I2C or SPI. A PWM is named pwm__c after its peripheral (TIMG0), as libxr pins -d names its settings. Every libxr_config value is checked: null takes the default, buffers and queues are positive integers, a DMA threshold is a non-negative integer, the UART tx_buffer_size is a multiple of 4 up to 65532 as the driver asserts, and a PWM frequency is a positive integer or null for no SetConfig. Settings keys match without regard to case and keep the file's spelling. terminal_source follows STM32: an empty value or none stays off across regenerations; the first UART is chosen only while the file has no such key. Warnings for an unused UART DMA RX channel, PWM channels of one timer with different frequencies, and a hand-written app_main whose lines outside User Code are replaced. The UART and SPI DMA errors name the SysConfig option. The redundant "No UART has DMA TX" warning and the duplicated _setting_int are gone. --- src/libxr/generator_code_mspm0.py | 542 ++++++++++++------ .../data/mspm0/variants_expected_app_main.cpp | 111 ++++ tests/test_generator_code_mspm0.py | 190 +++++- 3 files changed, 682 insertions(+), 161 deletions(-) create mode 100644 tests/data/mspm0/variants_expected_app_main.cpp diff --git a/src/libxr/generator_code_mspm0.py b/src/libxr/generator_code_mspm0.py index a8f1b12..9307fdb 100644 --- a/src/libxr/generator_code_mspm0.py +++ b/src/libxr/generator_code_mspm0.py @@ -15,27 +15,43 @@ 时钟(M5):PD1 的 BUSCLK 是 CPUCLK_FREQ;PD0 的是 CPUCLK_FREQ / ULPCLK 分频(生成代码里的 DL_SYSCTL_setULPCLKDivider,默认 1)。I2C 驱动自己重设时钟(BUSCLK、分频 1),传电源域的 -BUSCLK 即可;SPI 驱动沿用 SysConfig 写下的时钟配置,传入时钟要除以 SysConfig 的 divideRatio -(时钟源为 MFCLK 时按 4 MHz 计算)。UART 用 SysConfig 的 INST_FREQUENCY 宏,PWM 的源时钟由 -驱动从 INST_CLK_FREQ 求出,都不需要生成器计算。 +BUSCLK 即可;SPI 驱动沿用 SysConfig 写下的时钟配置,传入时钟是 SysConfig 选的时钟源(BUSCLK、 +MFCLK 4 MHz 或 LFCLK 32.768 kHz)除以它的 divideRatio,其他时钟源报错。SysConfig 不为 I2C 和 +SPI 导出时钟宏,工程 YAML 缺少电源域或 CPUCLK 时报错。UART 用 SysConfig 的 INST_FREQUENCY 宏, +PWM 的源时钟由驱动从 INST_CLK_FREQ 求出,都不需要生成器计算。 Clocks (M5): the BUSCLK of PD1 is CPUCLK_FREQ, that of PD0 is CPUCLK_FREQ / the ULPCLK divider (the DL_SYSCTL_setULPCLKDivider of the generated code, 1 by default). The I2C driver resets the clock configuration itself (BUSCLK, divider 1), so the BUSCLK of the power domain is the right argument; the SPI driver keeps the clock configuration SysConfig wrote, so its argument is the -BUSCLK divided by the divideRatio of SysConfig (4 MHz when the source is MFCLK). A UART takes -the INST_FREQUENCY macro of SysConfig and the source clock of a PWM is derived by the driver -from INST_CLK_FREQ, so neither needs a generator-side computation. +clock source SysConfig chose (BUSCLK, MFCLK at 4 MHz or LFCLK at 32.768 kHz) divided by its +divideRatio, and any other source is an error. SysConfig exports no clock macro for an I2C or +an SPI, so a project YAML without the power domain or CPUCLK is an error. A UART takes the +INST_FREQUENCY macro of SysConfig and the source clock of a PWM is derived by the driver from +INST_CLK_FREQ, so neither needs a generator-side computation. + +设置(libxr_config.yaml):值为 null 时用默认值,缓冲区和队列必须是正整数,UART 的 +tx_buffer_size 还要满足驱动的对齐和 DMA 长度断言;PWM 的 frequency 为 null 时不调用 +SetConfig。terminal_source 沿用 STM32 的约定(空值或 none 不生成终端),只在文件里还没有这个键 +时选第一个 UART。设置键不分大小写,文件里的写法保持不变。 +Settings (libxr_config.yaml): a null value takes the default, the buffers and queues must be +positive integers and the tx_buffer_size of a UART must also meet the alignment and DMA length +assertions of the driver; a null PWM frequency calls no SetConfig. terminal_source follows the +STM32 convention (an empty value or none generates no terminal), and the first UART is chosen +only while the file has no such key. Settings keys match without regard to case, and the +spelling of the file is kept. 对象名:GPIO 用引脚标签($name 去掉 PIN_ 前缀),UART/I2C/SPI 用外设名的小写(uart0),PWM 是 pwm__c。GPIO 中断遵循 STM32 的约定(模型 O1):生成器只创建对象,边沿来自 SysConfig; RegisterCallback、EnableInterrupt 和回调函数属于消费者(Module 或 User Code)。UART 没有 DMA TX -(或 SPI 没有一对 DMA 通道)时驱动没有对应的构造路径,生成报错。 +(或 SPI 没有一对 DMA 通道)时驱动没有对应的构造路径,生成报错;UART 的 DMA RX 通道不用(不生成 +MSPM0_UART_EXTEND_INIT),给出警告。 Object names: a GPIO takes the pin label (the $name without its PIN_ prefix), a UART/I2C/SPI the lower-case peripheral name (uart0), and a PWM is pwm__c. GPIO interrupts follow the STM32 convention (model O1): the generator creates the object only, the edge comes from SysConfig, and RegisterCallback, EnableInterrupt and the callback belong to the consumer (a Module or the User Code). The driver has no construction path for a UART without DMA TX (or an -SPI without a pair of DMA channels), so generation reports an error then. +SPI without a pair of DMA channels), so generation reports an error then; the DMA RX channel of +a UART is unused (MSPM0_UART_EXTEND_INIT is not generated) and warned about. """ from __future__ import annotations @@ -45,6 +61,7 @@ import re import sys +from xr_syntax.cpp import CppDocument from xr_syntax.i18n import tr from libxr import generator_code_stm32 as stm32 @@ -75,9 +92,19 @@ "USART", "SYSTEM", ) -# MFCLK 的固定频率(M5)。 -# The fixed frequency of MFCLK (M5). +# UART 发送缓冲的一半 N(tx_buffer_size):驱动断言 2 x N 是 2 * alignof(size_t) 的倍数 +# (Cortex-M0+ 上 size_t 按 4 字节对齐,所以 N 是 4 的倍数),且 N 不超过单次 DMA 的 +# 0xFFFF 字节(mspm0_uart.cpp)。 +# The half N of the UART transmit buffer (tx_buffer_size): the driver asserts that 2 x N is a +# multiple of 2 * alignof(size_t) (size_t aligns to 4 bytes on the Cortex-M0+, so N is a +# multiple of 4) and that N is at most the 0xFFFF bytes of one DMA transfer (mspm0_uart.cpp). +UART_TX_ALIGN = 4 +UART_TX_MAX = 0xFFFF // UART_TX_ALIGN * UART_TX_ALIGN +# SPI 可用的固定时钟源的频率(M5):MFCLK 4 MHz,LFCLK 32.768 kHz。 +# The frequencies of the fixed clock sources an SPI can use (M5): MFCLK 4 MHz, LFCLK +# 32.768 kHz. MFCLK_FREQ = 4000000 +LFCLK_FREQ = 32768 IDENTIFIER = re.compile(r"[A-Za-z_]\w*") DIVIDER_NUMBER = re.compile(r"(?:DIVIDE|RATIO)_(\d+)$") @@ -108,15 +135,57 @@ def _fail(message: str): sys.exit(1) +def _settings_of(group: str, name: str) -> dict: + """libxr_settings[group] 中对象 name 的设置段:键不分大小写,文件里已有的键保留它的写法 + (libxr pins -d 也这样找),没有时以小写的 name 新建。 + The settings section of the object name in libxr_settings[group]: the key is matched + without regard to case and a key already in the file keeps its spelling (libxr pins -d + finds it the same way); a missing one is created as the lower-case name. + """ + section = stm32._settings(group) + key = next((key for key in section if str(key).lower() == name.lower()), name.lower()) + return stm32._settings(group, key) + + +def _setting(section: dict, key: str, default): + """设置段 section 中 key 的值;缺少或为 null(YAML 中只写了键)时写入并返回 default。 + The value of key in the settings section; a missing or null value (only the key written in + YAML) is replaced by default, which is returned. + """ + if section.get(key) is None: + section[key] = default + return section[key] + + def _instance_settings(group: str, instance: str) -> dict: - """libxr_settings 中小写实例键下的设置段,缺少的默认值补进段里。 - The settings section under the lower-case instance key of libxr_settings[group], with the - missing defaults filled in. + """实例的设置段,缺少的默认值补进段里,每个值都检查过:缓冲区和队列是正整数,DMA 阈值是非负 + 整数;UART 的发送缓冲还要满足驱动的断言(见 UART_TX_ALIGN 和 UART_TX_MAX)。返回检查后的 + 整数值。 + The settings of an instance with the missing defaults filled in, every value checked: the + buffers and queues are positive integers, a DMA threshold a non-negative integer, and the + UART transmit buffer also meets the assertions of the driver (see UART_TX_ALIGN and + UART_TX_MAX). The checked integers are returned. """ - section = stm32._settings(group, instance.lower()) + section = _settings_of(group, instance) + values = {} for key, default in MSPM0_DEFAULTS[group].items(): - section.setdefault(key, default) - return section + minimum = 0 if key == "dma_enable_min_size" else 1 + values[key] = stm32._integer( + f"{group}.{instance}.{key}", _setting(section, key, default), minimum + ) + if group == "UART": + size = values["tx_buffer_size"] + if size % UART_TX_ALIGN or size > UART_TX_MAX: + raise stm32._invalid_setting( + f"UART.{instance}.tx_buffer_size", + size, + f"a multiple of {UART_TX_ALIGN} up to {UART_TX_MAX} (the driver takes 2 x N " + f"bytes, a multiple of 2 * alignof(size_t), and sends at most " + f"{UART_TX_MAX + 3} bytes per DMA transfer)", + f"{UART_TX_ALIGN} 的倍数且不大于 {UART_TX_MAX}(驱动使用 2 x N 字节,必须是 " + f"2 * alignof(size_t) 的倍数,单次 DMA 最多发送 {UART_TX_MAX + 3} 字节)", + ) + return values def _object_name(name: str, kind: str) -> str: @@ -156,11 +225,22 @@ def _peripherals(project_data: dict) -> dict[str, list]: continue objects = [] for instance, record in records.items(): + if not record.get("Peripheral"): + _fail( + tr( + f"{instance}: the project YAML names no peripheral for it; assign one " + "in SysConfig and run `libxr parse` again", + f"{instance}:工程 YAML 没有给出它的外设;请在 SysConfig 中分配外设后" + "重新运行 `libxr parse`", + ) + ) if kind == "PWM": - # PWM 的对象名 pwm__c;定时器取实例名去掉 PWM_ 前缀(或外设名)。 - # The PWM object name pwm__c; the timer is the instance name without - # its PWM_ prefix (or the peripheral name). - timer = re.sub(r"^PWM_", "", instance).lower() + # PWM 的对象名 pwm_<定时器>_c,定时器是外设名(TIMG0),与 libxr pins -d 给出 + # 的设置键一致;实例名(PWM_0)不进名字。 + # The PWM object name pwm__c, the timer being the peripheral (TIMG0), + # as in the settings keys libxr pins -d gives; the instance name (PWM_0) does + # not enter the name. + timer = str(record["Peripheral"]).lower() for channel in record.get("Channels", []): name = _object_name(f"pwm_{timer}_c{channel}", "PWM") objects.append((name, instance, record, channel)) @@ -173,60 +253,117 @@ def _peripherals(project_data: dict) -> dict[str, list]: return result -def _clock_constants(project_data: dict) -> list[str]: - """时钟常量:每个用到的电源域一个 BUSCLK,SPI 的非默认时钟再各一个;用不到时不生成。 - The clock constants: one BUSCLK per power domain in use and one per SPI instance with a - non-default clock; none when no clock is needed. +def _domain_clock(instance: str, record: dict, cpuclk) -> int: + """实例所在的电源域(0 或 1);工程 YAML 没有电源域或 CPUCLK 时报错退出:SysConfig 不为 + I2C 和 SPI 导出输入时钟的宏,生成器必须自己算出 BUSCLK。 + The power domain (0 or 1) of an instance; a project YAML without the power domain or + CPUCLK is an error: SysConfig exports no input clock macro for an I2C or an SPI, so the + generator has to compute the BUSCLK itself. + """ + domain = record.get("PowerDomain") + if domain not in (0, 1) or cpuclk is None: + missing = "CPUCLK" if cpuclk is None else f"the power domain of {record.get('Peripheral')}" + missing_zh = "CPUCLK" if cpuclk is None else f"{record.get('Peripheral')} 的电源域" + _fail( + tr( + f"{instance}: the project YAML has no {missing}, so the input clock of the " + "driver cannot be computed (SysConfig defines no clock macro for an I2C or " + "SPI); run `libxr parse` again with a SysConfig output that defines CPUCLK_FREQ", + f"{instance}:工程 YAML 里没有{missing_zh},算不出驱动的输入时钟(SysConfig 不为 " + "I2C 和 SPI 定义时钟宏);请用定义了 CPUCLK_FREQ 的 SysConfig 输出重新运行 " + "`libxr parse`", + ) + ) + return domain + + +def _spi_clock(instance: str, record: dict) -> tuple[str | None, str, int]: + """SPI 的输入时钟:(时钟源常量名,或 BUSCLK 时为 None;时钟源说明;分频数)。驱动沿用 + SysConfig 写下的时钟配置;不支持的时钟源报错退出。 + The input clock of an SPI: (the constant of the clock source, or None for the BUSCLK; a + description of the source; the divider). The driver keeps the clock configuration SysConfig + wrote; an unsupported clock source is an error. + """ + clock = record.get("SysConfigClock") or {} + match = DIVIDER_NUMBER.search(str(clock.get("divideRatio") or "")) + divider = int(match.group(1)) if match else 1 + sel = str(clock.get("clockSel") or "") + if sel == "" or sel.endswith("_BUSCLK"): + return None, "BUSCLK", divider + if sel.endswith("_MFCLK"): + return "MFCLK_FREQ", "MFCLK (4 MHz)", divider + if sel.endswith("_LFCLK"): + return "LFCLK_FREQ", "LFCLK (32.768 kHz)", divider + _fail( + tr( + f"{instance}: the SysConfig clock source {sel} is not supported (BUSCLK, MFCLK and " + "LFCLK are); choose one of them in SysConfig", + f"{instance}:不支持 SysConfig 时钟源 {sel}(支持 BUSCLK、MFCLK 和 LFCLK);请在 " + "SysConfig 中选择其中之一", + ) + ) + + +def _clocks(project_data: dict) -> tuple[list[str], dict[str, str]]: + """时钟常量和每个 I2C、SPI 实例的时钟实参:用到的电源域各一个 BUSCLK 常量;SysConfig 给 + SPI 配了非默认时钟(其他时钟源或分频)时再有 MFCLK/LFCLK 常量和该实例的 <实例>_CLK_FREQ, + 凡被引用的常量都会生成。用不到时钟时两者都为空。 + The clock constants and the clock argument of every I2C and SPI instance: one BUSCLK + constant per power domain in use; when SysConfig gave an SPI a non-default clock (another + source or a divider) there is also the MFCLK/LFCLK constant and the _CLK_FREQ of + that instance, and every constant that is referenced is generated. Both are empty when no + clock is needed. """ divider = project_data.get("ULPCLKDivider") or 1 cpuclk = project_data.get("CPUCLK") - domains = set() - for section in ("I2C", "SPI"): - for record in project_data.get("Peripherals", {}).get(section, {}).values(): - if record.get("PowerDomain") is not None and cpuclk is not None: - domains.add(record["PowerDomain"]) - if not domains: - return [] - domains_text = " and ".join( - f"PD{domain} from {'MCLK (CPUCLK_FREQ)' if domain == 1 else _ulpclk_text(divider)}" - for domain in sorted(domains) - ) - lines = _comment( - f"Input clocks: the BUSCLK of the power domain. {domains_text}. The I2C driver resets " - "the clock configuration of its peripherals, so the BUSCLK of the domain is the right " - "argument." - ) - for domain in sorted(domains): - expression = "CPUCLK_FREQ" if domain == 1 or divider == 1 else f"(CPUCLK_FREQ / {divider})" - lines.append(f"static constexpr uint32_t PD{domain}_BUSCLK_FREQ = {expression};") - mfclk = False - for name, record in project_data.get("Peripherals", {}).get("SPI", {}).items(): - clock = record.get("SysConfigClock") - if not clock: + peripherals = project_data.get("Peripherals", {}) + domains: set[int] = set() + arguments: dict[str, str] = {} + spi_lines: list[str] = [] + sources: dict[str, int] = {} + for instance, record in peripherals.get("I2C", {}).items(): + domain = _domain_clock(instance, record, cpuclk) + domains.add(domain) + arguments[instance] = f"PD{domain}_BUSCLK_FREQ" + for instance, record in peripherals.get("SPI", {}).items(): + source, text, div = _spi_clock(instance, record) + if source is None: + domain = _domain_clock(instance, record, cpuclk) + domains.add(domain) + base, text = f"PD{domain}_BUSCLK_FREQ", f"the BUSCLK of PD{domain}" + else: + base = source + sources[source] = MFCLK_FREQ if source == "MFCLK_FREQ" else LFCLK_FREQ + if not record.get("SysConfigClock"): + arguments[instance] = base continue - match = DIVIDER_NUMBER.search(str(clock.get("divideRatio") or "")) - div = int(match.group(1)) if match else 1 - sel = str(clock.get("clockSel") or "") - if sel.endswith("_MFCLK"): - if not mfclk: - lines.append(f"static constexpr uint32_t MFCLK_FREQ = {MFCLK_FREQ};") - mfclk = True - base = "MFCLK_FREQ" - elif sel and not sel.endswith("_BUSCLK"): - logging.warning( - tr( - f"{name}: unsupported SysConfig clock source {sel}; the SPI driver keeps " - "the configuration SysConfig wrote, check the clock by hand", - f"{name}:不支持的 SysConfig 时钟源 {sel};SPI 驱动会沿用 SysConfig 写下的" - "配置,请自行核对时钟", - ) + constant = f"{instance}_CLK_FREQ" + spi_lines += _comment( + f"{instance} runs from {text} divided by {div}, as SysConfig configured it; the SPI " + "driver keeps that clock configuration." + ) + expression = base if div == 1 else f"{base} / {div}" + spi_lines.append(f"static constexpr uint32_t {constant} = {expression};") + arguments[instance] = constant + lines: list[str] = [] + if domains: + domains_text = " and ".join( + f"PD{domain} from {'MCLK (CPUCLK_FREQ)' if domain == 1 else _ulpclk_text(divider)}" + for domain in sorted(domains) + ) + lines = _comment( + f"Input clocks: the BUSCLK of the power domain. {domains_text}. The I2C driver " + "resets the clock configuration of its peripherals, so the BUSCLK of the domain is " + "the right argument." + ) + for domain in sorted(domains): + expression = ( + "CPUCLK_FREQ" if domain == 1 or divider == 1 else f"(CPUCLK_FREQ / {divider})" ) - continue - else: - base = f"PD{record.get('PowerDomain')}_BUSCLK_FREQ" - if div != 1: - lines.append(f"static constexpr uint32_t {name}_CLK_FREQ = {base} / {div};") - return lines + lines.append(f"static constexpr uint32_t PD{domain}_BUSCLK_FREQ = {expression};") + for source in sorted(sources): + lines.append(f"static constexpr uint32_t {source} = {sources[source]};") + return lines + spi_lines, arguments def _ulpclk_text(divider: int) -> str: @@ -355,19 +492,36 @@ def _gpio_section(gpio: dict) -> list[str]: def _uart_section(uarts: list) -> list[str]: - """UART 对象:MSPM0_UART_MAIN_INIT,发送走 DMA;没有 DMA TX 的实例报错。 - The UART objects: MSPM0_UART_MAIN_INIT with DMA on the transmit side; an instance without - DMA TX reports an error. + """UART 对象:MSPM0_UART_MAIN_INIT,发送走 DMA,接收走字节中断;没有 DMA TX 的实例报错, + 配了 DMA RX 的实例给出警告(不生成 MSPM0_UART_EXTEND_INIT,RX 通道不用)。 + The UART objects: MSPM0_UART_MAIN_INIT with DMA on the transmit side and byte interrupts on + the receive side; an instance without DMA TX reports an error, and one with DMA RX gets a + warning (MSPM0_UART_EXTEND_INIT is not generated, so the RX channel is unused). """ lines = [f"{INDENT}// UART: TX with DMA; the receive side runs on byte interrupts."] for name, instance, record, _channel in uarts: if not record.get("DMA_TX"): _fail( tr( - f"{instance}: the MSPM0 UART driver constructs only with DMA TX; enable " - "DMA TX in SysConfig or drop the UART", - f"{instance}:MSPM0 的 UART 驱动只支持带 DMA TX 的构造;请在 SysConfig 中" - "启用 DMA TX,或删去这个 UART", + f"{instance}: no DMA TX channel in the SysConfig project (UART > DMA " + "Configuration: Enable DMA TX with the TX trigger, which also gives the " + f"{instance}_INST_DMA_TRIGGER_n and _CHAN_ID macros); the MSPM0 UART " + "driver constructs only with DMA TX. Enable it and run `libxr parse` again, " + "or drop the UART", + f"{instance}:SysConfig 工程里没有 DMA TX 通道(UART > DMA Configuration:" + f"启用 DMA TX 并选 TX 触发,SysConfig 随之生成 {instance}_INST_DMA_TRIGGER_n " + "和 <通道>_CHAN_ID 宏);MSPM0 的 UART 驱动只支持带 DMA TX 的构造。请启用后" + "重新运行 `libxr parse`,或删去这个 UART", + ) + ) + if record.get("DMA_RX"): + logging.warning( + tr( + f"{instance}: the DMA RX channel {record['DMA_RX']} is not used; the " + "generated UART uses MSPM0_UART_MAIN_INIT, whose receive side runs on byte " + "interrupts (MSPM0_UART_EXTEND_INIT is not generated)", + f"{instance}:DMA RX 通道 {record['DMA_RX']} 不会被使用;生成的 UART 用 " + "MSPM0_UART_MAIN_INIT,接收走字节中断(不生成 MSPM0_UART_EXTEND_INIT)", ) ) settings = _instance_settings("UART", name) @@ -386,23 +540,22 @@ def _uart_section(uarts: list) -> list[str]: return lines -def _i2c_section(i2cs: list) -> list[str]: - """I2C 对象:轮询驱动,缓冲是 DMA 传输的暂存区;时钟是所在电源域的 BUSCLK。 +def _i2c_section(i2cs: list, clocks: dict[str, str]) -> list[str]: + """I2C 对象:轮询驱动,缓冲是 DMA 传输的暂存区;时钟是所在电源域的 BUSCLK(clocks 中的 + 实参,见 _clocks())。 The I2C objects: the polling driver whose buffer stages DMA transfers; the clock is the - BUSCLK of the power domain. + BUSCLK of the power domain (the argument in clocks, see _clocks()). """ if not i2cs: return [] lines = [f"{INDENT}// I2C: polling; the buffer stages DMA transfers."] - for name, instance, record, _channel in i2cs: + for name, instance, _record, _channel in i2cs: settings = _instance_settings("I2C", name) - domain = record.get("PowerDomain") - clock = f"PD{domain}_BUSCLK_FREQ" if domain is not None else f"{instance}_INST_FREQUENCY" lines += layout( f"static MSPM0I2C {name}", [ f"MSPM0_I2C_INIT({instance}", - clock, + clocks[instance], f"{name}_buf", f"sizeof({name}_buf)", f"{settings['dma_enable_min_size']})", @@ -412,11 +565,11 @@ def _i2c_section(i2cs: list) -> list[str]: return lines -def _spi_section(spis: list) -> list[str]: - """SPI 对象:收发各一个 DMA 通道;时钟是所在电源域的 BUSCLK 按 SysConfig 的 divideRatio - 分频后的值。 - The SPI objects: one DMA channel for each direction; the clock is the BUSCLK of the power - domain divided by the divideRatio SysConfig wrote. +def _spi_section(spis: list, clocks: dict[str, str]) -> list[str]: + """SPI 对象:收发各一个 DMA 通道;时钟是 SysConfig 配给它的输入时钟(clocks 中的实参,见 + _clocks())。 + The SPI objects: one DMA channel for each direction; the clock is the input clock SysConfig + configured for it (the argument in clocks, see _clocks()). """ if not spis: return [] @@ -426,25 +579,23 @@ def _spi_section(spis: list) -> list[str]: if not dma_rx or not dma_tx: _fail( tr( - f"{instance}: the MSPM0 SPI driver constructs only with a pair of DMA " - "channels; enable DMA in SysConfig or drop the SPI", - f"{instance}:MSPM0 的 SPI 驱动只支持带一对 DMA 通道的构造;请在 SysConfig " - "中启用 DMA,或删去这个 SPI", + f"{instance}: the MSPM0 SPI driver constructs only with one DMA channel for " + f"RX and one for TX, and the SysConfig project has RX {dma_rx or 'none'}, " + f"TX {dma_tx or 'none'}. Configure SPI > DMA Configuration (DMA Event 1/2 " + "triggers: one RX or RX timeout, one TX), run `libxr parse` again, or drop " + "the SPI", + f"{instance}:MSPM0 的 SPI 驱动只支持收发各一个 DMA 通道的构造,而 SysConfig " + f"工程里 RX 为 {dma_rx or '没有'},TX 为 {dma_tx or '没有'}。请配置 SPI > DMA " + "Configuration(DMA Event 1/2 的触发:一个 RX 或 RX timeout,一个 TX)后重新" + "运行 `libxr parse`,或删去这个 SPI", ) ) settings = _instance_settings("SPI", name) - domain = record.get("PowerDomain") - if record.get("SysConfigClock"): - clock = f"{instance}_CLK_FREQ" - elif domain is not None: - clock = f"PD{domain}_BUSCLK_FREQ" - else: - clock = f"{instance}_INST_FREQUENCY" lines += layout( f"static MSPM0SPI {name}", [ f"MSPM0_SPI_INIT({instance}", - clock, + clocks[instance], dma_rx, dma_tx, f"{name}_rx_buf", @@ -458,66 +609,77 @@ def _spi_section(spis: list) -> list[str]: def _pwm_section(pwms: list) -> list[str]: - """PWM 对象:定时器的每个通道一个 MSPM0PWM;频率设置在 libxr_config.yaml 中给出时对每个 - 通道调用 SetConfig。 - The PWM objects: one MSPM0PWM per channel of the timer; SetConfig is called on every - channel when the frequency is set in libxr_config.yaml. + """PWM 对象:定时器的每个通道一个 MSPM0PWM;libxr_config.yaml 给出频率(正整数)时对该 + 通道调用 SetConfig,null 表示不调用。同一定时器的通道共用周期,频率不同时最后一次 SetConfig + 生效,给出警告。 + The PWM objects: one MSPM0PWM per channel of the timer; SetConfig is called on a channel + when libxr_config.yaml gives its frequency (a positive integer), and null means no call. + The channels of one timer share one period, so differing frequencies are warned about: the + last SetConfig wins. """ if not pwms: return [] lines = [ f"{INDENT}// PWM: the channels of one timer share one period, which SysConfig configures.", ] + frequencies: dict[str, dict[str, int]] = {} for name, instance, _record, channel in pwms: lines += layout(f"static MSPM0PWM {name}", [f"MSPM0_PWM_CH({instance}, {channel})"]) - settings = stm32._settings("PWM", name) + settings = _settings_of("PWM", name) frequency = settings.setdefault("frequency", None) - if frequency: + if frequency is not None: + frequency = stm32._integer(f"PWM.{name}.frequency", frequency) + frequencies.setdefault(instance, {})[name] = frequency lines += layout(f"{name}.SetConfig", [Braces(str(frequency))]) + for instance, channels in frequencies.items(): + if len(set(channels.values())) > 1: + listed = ", ".join(f"{name} {value}" for name, value in channels.items()) + last = list(channels)[-1] + logging.warning( + tr( + f"libxr_config.yaml: the PWM channels of {instance} share one period but " + f"set different frequencies ({listed}); the last SetConfig ({last}) wins", + f"libxr_config.yaml:{instance} 的 PWM 通道共用一个周期,却设了不同的频率" + f"({listed});以最后一次 SetConfig({last})为准", + ) + ) return lines -def _setting_int(key: str, value) -> int: - """整数设置:不是正整数时报错退出。 - An integer setting; a value that is not a positive integer logs an error and exits. +def _terminal_source(uarts: list) -> str: + """生效的终端设备,与 STM32 的约定相同:空值表示不生成终端,none 也一样(写法保持不变)。 + 只有 libxr_config.yaml 里还没有 terminal_source 这个键时(第一次生成),才选第一个 UART 并 + 写进文件;之后用户清空或写成 none,重新生成都不会再打开终端。 + The effective terminal device, with the STM32 convention: an empty value means no terminal, + and so does none (kept as written). Only when libxr_config.yaml has no terminal_source key + yet (the first generation) is the first UART chosen and written to the file; once the user + empties it or writes none, regenerating never turns the terminal back on. """ - if ( - isinstance(value, bool) - or not isinstance(value, (int, float)) - or int(value) != value - or value < 1 - ): - _fail( + document = stm32.libxr_config_document + source = stm32._text("terminal_source", stm32.libxr_settings.get("terminal_source")) + if source == "" and uarts and (document is None or "terminal_source" not in document): + source = uarts[0][0] + stm32.libxr_settings["terminal_source"] = source + logging.info( tr( - f"libxr_config.yaml: {key} {value!r} is not a positive integer", - f"libxr_config.yaml:{key} {value!r} 不是正整数", + f"terminal_source is not set; using {source}", + f"未设置 terminal_source;使用 {source}", ) ) - return int(value) + source = source.lower() + return "" if source == "none" else source def _terminal_section(peripherals: dict) -> list[str]: """终端:terminal_source 指定的 UART 作为标准输入输出,RamFS 和 Terminal 由软件定时器任务 - 每 10 ms 运行一次;terminal_source 未设置时用第一个 UART,写成 none 时不生成终端。 + 每 10 ms 运行一次(terminal_source 的取值见 _terminal_source())。 The terminal: the UART named by terminal_source becomes the standard I/O, and the RamFS and - Terminal objects run in a software timer task every 10 ms; the first UART is used when - terminal_source is not set, and none skips the terminal. + Terminal objects run in a software timer task every 10 ms (see _terminal_source() for the + values of terminal_source). """ uarts = peripherals.get("UART", []) - source = str(stm32.libxr_settings.get("terminal_source") or "").lower() + source = _terminal_source(uarts) if not source: - if not uarts: - return [] - source = uarts[0][0] - stm32.libxr_settings["terminal_source"] = source - logging.info( - tr( - f"terminal_source is not set; using {source}", - f"未设置 terminal_source;使用 {source}", - ) - ) - elif source == "none": - stm32.libxr_settings["terminal_source"] = "" return [] names = {name for name, _instance, _record, _channel in uarts} if source not in names: @@ -532,7 +694,7 @@ def _terminal_section(peripherals: dict) -> list[str]: return [] term_config = stm32._settings("Terminal") params = [ - _setting_int(f"Terminal.{key}", term_config.setdefault(key, default)) + stm32._integer(f"Terminal.{key}", _setting(term_config, key, default)) for key, default in ( ("read_buff_size", 32), ("max_line_size", 32), @@ -555,7 +717,7 @@ def _terminal_section(peripherals: dict) -> list[str]: ] -def _sections(project_data: dict, peripherals: dict, gpio: dict, use_xrobot: bool) -> list[str]: +def _sections(peripherals: dict, gpio: dict, use_xrobot: bool, clocks: dict[str, str]) -> list[str]: """app_main 函数体的各段:时基、GPIO、UART、I2C、SPI、PWM、终端和登记。 The sections of the app_main body: timebase, GPIO, UART, I2C, SPI, PWM, terminal and the registrations. @@ -568,8 +730,8 @@ def _sections(project_data: dict, peripherals: dict, gpio: dict, use_xrobot: boo ], _gpio_section(gpio), _uart_section(peripherals.get("UART", [])), - _i2c_section(peripherals.get("I2C", [])), - _spi_section(peripherals.get("SPI", [])), + _i2c_section(peripherals.get("I2C", []), clocks), + _spi_section(peripherals.get("SPI", []), clocks), _pwm_section(peripherals.get("PWM", [])), _terminal_section(peripherals), ] @@ -579,6 +741,35 @@ def _sections(project_data: dict, peripherals: dict, gpio: dict, use_xrobot: boo return stm32.join_blocks([block for block in blocks if block]) +def _check_gpio_name(label: str) -> None: + """GPIO 对象名(SysConfig 的引脚名)必须是合法、唯一、非关键字且非保留的 C++ 标识符;不满足 + 时报错退出,说明在 SysConfig 中改名。 + A GPIO object name (the pin name of SysConfig) must be a valid, unique C++ identifier that + is neither a keyword nor reserved; otherwise generation exits with an error that says to + rename the pin in SysConfig. + """ + if ( + not IDENTIFIER.fullmatch(label) + or label in stm32.CPP_KEYWORDS + or "__" in label + or re.match(r"_[A-Z]", label) + ): + problem = ("is not a valid C++ identifier", "不是可用的 C++ 标识符") + elif label in stm32.registered_devices: + problem = ( + f"is already used by the {stm32.registered_devices[label]} object", + f"已被 {stm32.registered_devices[label]} 对象使用", + ) + else: + return + _fail( + tr( + f"GPIO name {label} {problem[0]}; rename the pin in SysConfig", + f"GPIO 名字 {label} {problem[1]};请在 SysConfig 中给引脚改名", + ) + ) + + def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) -> str: """生成 app_main 源文件的完整内容,并填回已有代码中 User Code 区域的内容。 Generate the full content of the app_main source file and put back the User Code bodies of @@ -587,22 +778,9 @@ def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) peripherals = _peripherals(project_data) gpio = project_data.get("GPIO", {}) for label in gpio: - if not IDENTIFIER.fullmatch(label) or label in stm32.registered_devices: - _fail( - tr( - f"GPIO name {label} is not a valid unique C++ identifier", - f"GPIO 名字 {label} 不是合法且唯一的 C++ 标识符", - ) - ) + _check_gpio_name(str(label)) stm32._register_device(label, "GPIO") uarts = peripherals.get("UART", []) - if uarts and not any(record.get("DMA_TX") for _o, _i, record, _c in uarts): - logging.warning( - tr( - "No UART has DMA TX; the MSPM0 UART driver constructs only with DMA TX", - "没有任何 UART 配置 DMA TX;MSPM0 的 UART 驱动只支持带 DMA TX 的构造", - ) - ) default_3 = ( [] if use_xrobot @@ -616,9 +794,9 @@ def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) lines = _notice(project_data) lines += _includes(project_data, use_xrobot) lines += ["", "/* User Code Begin 1 */", "/* User Code End 1 */"] - clocks = _clock_constants(project_data) - if clocks: - lines += [""] + clocks + clock_lines, clocks = _clocks(project_data) + if clock_lines: + lines += [""] + clock_lines defines = _uart_dma_defines(uarts) if defines: lines += [""] + defines @@ -627,7 +805,7 @@ def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) lines += [""] + buffers lines += ["", 'extern "C" void app_main(void)', "{"] lines += [f"{INDENT}/* User Code Begin 2 */", f"{INDENT}/* User Code End 2 */", ""] - lines += _sections(project_data, peripherals, gpio, use_xrobot) + lines += _sections(peripherals, gpio, use_xrobot, clocks) lines += ["", f"{INDENT}/* User Code Begin 3 */"] + default_3 lines.append(f"{INDENT}/* User Code End 3 */") if use_xrobot: @@ -636,6 +814,50 @@ def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) return stm32._preserve_generated_regions(existing_code, "\n".join(lines) + "\n") +# 手写文件被替换时最多列出的行数。 +# At most this many lines are listed when a hand-written file is replaced. +HAND_WRITTEN_LINES = 20 + + +def _warn_hand_written(path: str, existing_code: str, generated_code: str) -> None: + """已有的 app_main 不是 libxr gen 生成的(前两行没有生成说明)时给出警告,列出 User Code + 区域之外、新文件里不再有的行:这些行会被替换。与 STM32 一样照常生成,不拒绝。 + Warn when the existing app_main was not generated by libxr gen (no generated-file notice in + its first two lines) and list the lines outside the User Code regions that the new file no + longer has: they are replaced. Generation goes on as on STM32; it is not refused. + """ + if not existing_code.strip() or GENERATED_NOTICE in existing_code.splitlines()[:2]: + return + source = existing_code.encode("utf-8", errors="surrogateescape") + spans = [region.body_span for region in CppDocument.parse(existing_code).user_regions()] + outside, start = [], 0 + for span in sorted(spans, key=lambda span: span.start): + outside.append(source[start : span.start]) + start = span.end + outside.append(source[start:]) + kept = {line.strip() for line in generated_code.splitlines()} + replaced = [ + line.strip() + for part in outside + for line in part.decode("utf-8", errors="replace").splitlines() + if line.strip() and line.strip() not in kept + ] + if not replaced: + return + listed = "\n".join(f" {line}" for line in replaced[:HAND_WRITTEN_LINES]) + more = len(replaced) - HAND_WRITTEN_LINES + listed += tr(f"\n ... and {more} more", f"\n ……另有 {more} 行") if more > 0 else "" + logging.warning( + tr( + f"{path} was not generated by libxr gen; everything outside the User Code regions " + f"is regenerated, and these {len(replaced)} line(s) of it are replaced; code to " + f"keep belongs in the User Code regions:\n{listed}", + f"{path} 不是 libxr gen 生成的;User Code 区域之外的内容全部重新生成,以下 " + f"{len(replaced)} 行被替换;要保留的代码应放在 User Code 区域中:\n{listed}", + ) + ) + + def initialize_registry() -> None: """清空生成对象的登记表和本次生成用到的头文件,使同一次进程中的下一次生成不带上次的对象。 Clear the registry of generated objects and the headers of this generation, so the next @@ -697,10 +919,10 @@ def generate( stm32.reject_user_xrobot_main(existing_code) existing_code = stm32._without_default_loop(existing_code) + code = generate_full_code(project_data, use_xrobot, existing_code) + _warn_hand_written(output_path, existing_code, code) files = { - os.path.basename(output_path): generate_full_code( - project_data, use_xrobot, existing_code - ), + os.path.basename(output_path): code, "app_main.h": stm32.APP_MAIN_HEADER, "libxr_config.yaml": stm32.libxr_config_text(), } diff --git a/tests/data/mspm0/variants_expected_app_main.cpp b/tests/data/mspm0/variants_expected_app_main.cpp new file mode 100644 index 0000000..608bcc5 --- /dev/null +++ b/tests/data/mspm0/variants_expected_app_main.cpp @@ -0,0 +1,111 @@ +// Generated by `libxr gen`; do not edit by hand. +// Generated from mspm0_variants.syscfg (MSPM0G3507); SysConfig configures the +// clocks, pins, DMA channels and peripherals (SYSCFG_DL_init() in main.c). Put +// application code between the "User Code Begin" and "User Code End" markers. +#include "app_main.h" + +#include "libxr.hpp" +#include "mspm0_gpio.hpp" +#include "mspm0_i2c.hpp" +#include "mspm0_pwm.hpp" +#include "mspm0_spi.hpp" +#include "mspm0_timebase.hpp" +#include "mspm0_uart.hpp" +#include "ti_msp_dl_config.h" +#include "xrobot_main.hpp" + +using namespace LibXR; + +/* User Code Begin 1 */ +/* User Code End 1 */ + +// Input clocks: the BUSCLK of the power domain. PD0 from ULPCLK = CPUCLK_FREQ (no +// ULPCLK divider). The I2C driver resets the clock configuration of its peripherals, so +// the BUSCLK of the domain is the right argument. +static constexpr uint32_t PD0_BUSCLK_FREQ = CPUCLK_FREQ; +static constexpr uint32_t MFCLK_FREQ = 4000000; +// SPI_1 runs from MFCLK (4 MHz) divided by 4, as SysConfig configured it; the SPI +// driver keeps that clock configuration. +static constexpr uint32_t SPI_1_CLK_FREQ = MFCLK_FREQ / 4; + +// Ownership of the DMA channels that serve a UART transmitter; +// MSPM0_UART_MAIN_INIT checks these names against the ones SysConfig generated. +#define DMA_CH_UART0_TX_LIBXR_UART_IRQN UART_0_INST_INT_IRQN +#define DMA_CH_UART0_TX_LIBXR_UART_TX 1 + +// DMA buffers. A UART gets 2 x N bytes for its two transmit halves; the receive side +// runs on byte interrupts. The SPI DMA buffers are split in two halves as well; the +// I2C driver uses polling, its buffer is the staging area for DMA transfers. +alignas(size_t) static uint8_t uart0_tx_buf[2 * 128]; +alignas(4) static uint8_t spi1_rx_buf[32]; +alignas(4) static uint8_t spi1_tx_buf[32]; +alignas(4) static uint8_t i2c0_buf[32]; + +extern "C" void app_main(void) +{ + /* User Code Begin 2 */ + /* User Code End 2 */ + + // Timebase and platform + static MSPM0Timebase timebase; + PlatformInit(); + + // GPIO: SysConfig configured USER_LED_1 (PA26), USER_LED_2 (PA27) as output pins and + // gpio_btn_pin_0 (PA7) as input pins. The interrupt edge comes from SysConfig; + // RegisterCallback and EnableInterrupt belong to the consumer (a Module or the User + // Code). + static MSPM0GPIO USER_LED_1(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN, + GPIO_LEDS_USER_LED_1_IOMUX); + static MSPM0GPIO USER_LED_2(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_2_PIN, + GPIO_LEDS_USER_LED_2_IOMUX); + static MSPM0GPIO gpio_btn_pin_0(GPIO_BTN_PORT, GPIO_BTN_PIN_0_PIN, + GPIO_BTN_PIN_0_IOMUX); + + // UART: TX with DMA; the receive side runs on byte interrupts. + static MSPM0UART uart0(MSPM0_UART_MAIN_INIT(UART_0, DMA_CH_UART0_TX, uart0_tx_buf, + sizeof(uart0_tx_buf), 5, 128)); + + // I2C: polling; the buffer stages DMA transfers. + static MSPM0I2C i2c0(MSPM0_I2C_INIT(I2C_0, PD0_BUSCLK_FREQ, i2c0_buf, sizeof(i2c0_buf), + 8), {I2C_0_BUS_SPEED_HZ}); + + // SPI: DMA for transfers longer than the threshold. + static MSPM0SPI spi1(MSPM0_SPI_INIT(SPI_1, SPI_1_CLK_FREQ, DMA_CH_SPI1_RX, + DMA_CH_SPI1_TX, spi1_rx_buf, sizeof(spi1_rx_buf), spi1_tx_buf, + sizeof(spi1_tx_buf), 3)); + + // PWM: the channels of one timer share one period, which SysConfig configures. + static MSPM0PWM pwm_timg0_c0(MSPM0_PWM_CH(PWM_0, 0)); + static MSPM0PWM pwm_timg0_c1(MSPM0_PWM_CH(PWM_0, 1)); + + // Terminal on uart0 + STDIO::read_ = uart0.read_port_; + STDIO::write_ = uart0.write_port_; + static RamFS ramfs("XRobot"); + static Terminal<32, 32, 5, 5> terminal(ramfs); + static auto terminal_task = Timer::CreateTask(terminal.TaskFun, &terminal, 10); + Timer::Add(terminal_task); + Timer::Start(terminal_task); + + // Hardware registration + XR_REGISTER(USER_LED_1, LibXR::GPIO); + XR_REGISTER(USER_LED_2, LibXR::GPIO); + XR_REGISTER(gpio_btn_pin_0, LibXR::GPIO); + + XR_REGISTER(pwm_timg0_c0, LibXR::PWM); + XR_REGISTER(pwm_timg0_c1, LibXR::PWM); + + XR_REGISTER(spi1, LibXR::SPI); + + XR_REGISTER(uart0, LibXR::UART); + + XR_REGISTER(i2c0, LibXR::I2C); + + XR_REGISTER(ramfs, LibXR::RamFS); + + XR_REGISTER(terminal, LibXR::Terminal<32, 32, 5, 5>); + + /* User Code Begin 3 */ + /* User Code End 3 */ + XROBOT_MAIN(); +} diff --git a/tests/test_generator_code_mspm0.py b/tests/test_generator_code_mspm0.py index 7322bce..dcef384 100644 --- a/tests/test_generator_code_mspm0.py +++ b/tests/test_generator_code_mspm0.py @@ -490,7 +490,7 @@ def failure(self, root: Path) -> str: return logs.output[-1] def test_the_generated_source_matches_the_reviewed_output(self): - for name in ("g3507", "g3519"): + for name in ("g3507", "g3519", "variants"): with self.subTest(name=name): generator.initialize_registry() generator.reset_settings() @@ -544,6 +544,194 @@ def test_without_xrobot_the_entry_sleeps_and_registers_nothing(self): self.assertIn("Thread::Sleep(UINT32_MAX);", code) self.assertNotIn("XROBOT_MAIN();", code) + def test_the_spi_clock_constant_is_defined_whenever_it_is_used(self): + # H2:MFCLK 不分频和 LFCLK 时也定义 SPI_1_CLK_FREQ。 + # H2: SPI_1_CLK_FREQ is defined for MFCLK without a divider and for LFCLK as well. + root, code = self.generate("variants") + self.assertIn("static constexpr uint32_t SPI_1_CLK_FREQ = MFCLK_FREQ / 4;", code) + for sel, div, line in ( + ("MFCLK", 1, "SPI_1_CLK_FREQ = MFCLK_FREQ;"), + ("LFCLK", 2, "SPI_1_CLK_FREQ = LFCLK_FREQ / 2;"), + ("BUSCLK", 2, "SPI_1_CLK_FREQ = PD1_BUSCLK_FREQ / 2;"), + ): + with self.subTest(sel=sel, div=div): + + def change(data, sel=sel, div=div): + data["Peripherals"]["SPI"]["SPI_1"]["SysConfigClock"] = { + "clockSel": f"DL_SPI_CLOCK_{sel}", + "divideRatio": f"DL_SPI_CLOCK_DIVIDE_RATIO_{div}", + } + + self.project_yaml(root, change) + with self.assertLogs(level="WARNING"): + code = self.regenerate(root) + self.assertIn(f"static constexpr uint32_t {line}", code) + self.assertIn("MSPM0_SPI_INIT(SPI_1, SPI_1_CLK_FREQ,", code) + source = line.split(" = ")[1].split(" ")[0].rstrip(";") + self.assertIn(f"static constexpr uint32_t {source} = ", code) + + def test_an_unsupported_spi_clock_source_is_an_error(self): + root, _code = self.generate("variants") + + def change(data): + data["Peripherals"]["SPI"]["SPI_1"]["SysConfigClock"]["clockSel"] = "DL_SPI_CLOCK_X" + + self.project_yaml(root, change) + self.assertIn( + "SPI_1: the SysConfig clock source DL_SPI_CLOCK_X is not supported", self.failure(root) + ) + + def test_a_missing_power_domain_is_an_error_not_an_undefined_macro(self): + # L3:SysConfig 不为 I2C 定义 I2C_0_INST_FREQUENCY。 + # L3: SysConfig defines no I2C_0_INST_FREQUENCY for an I2C. + root, _code = self.generate("variants") + self.project_yaml(root, lambda data: data["Peripherals"]["I2C"]["I2C_0"].pop("PowerDomain")) + self.assertIn("I2C_0: the project YAML has no the power domain of I2C0", self.failure(root)) + + def test_a_pwm_object_is_named_after_its_timer(self): + # H4:实例名 PWM_0、定时器 TIMG0 -> pwm_timg0_c0,与 libxr pins -d 一致。 + # H4: instance PWM_0 on timer TIMG0 -> pwm_timg0_c0, as libxr pins -d names it. + root, code = self.generate("variants") + self.assertIn("static MSPM0PWM pwm_timg0_c0(MSPM0_PWM_CH(PWM_0, 0));", code) + self.assertIn("pwm_timg0_c1", self.settings(root)["PWM"]) + + def test_terminal_source_none_or_empty_stays_off(self): + # M1:与 STM32 一样,空值不生成终端;第一次生成时才选第一个 UART。 + # M1: as on STM32 an empty value generates no terminal; only the first generation + # picks the first UART. + for value in ("none", ""): + with self.subTest(value=value): + generator.initialize_registry() + generator.reset_settings() + root, code = self.generate("variants") + self.assertIn("// Terminal on uart0", code) + self.settings( + root, lambda settings, value=value: settings.update(terminal_source=value) + ) + for _ in range(2): + with self.assertLogs(level="WARNING"): + code = self.regenerate(root) + self.assertNotIn("Terminal on", code) + self.assertEqual(self.settings(root)["terminal_source"], value) + + def test_settings_are_validated(self): + # M2 + root, _code = self.generate("variants") + for section, name, key, value, message in ( + ("UART", "uart0", "tx_buffer_size", 30, "is not a multiple of 4 up to 65532"), + ("UART", "uart0", "tx_buffer_size", 65536, "is not a multiple of 4 up to 65532"), + ("UART", "uart0", "tx_queue_size", 0, "is not a positive integer"), + ("SPI", "spi1", "dma_enable_min_size", "abc", "is not a non-negative integer"), + ("I2C", "i2c0", "buffer_size", 1.5, "is not a positive integer"), + ("PWM", "pwm_timg0_c0", "frequency", "fast", "is not a positive integer"), + ("Terminal", None, "max_line_size", -1, "is not a positive integer"), + ): + with self.subTest(key=key, value=value): + + def change(settings, section=section, name=name, key=key, value=value): + (settings[section][name] if name else settings[section])[key] = value + + previous = self.settings(root) + self.settings(root, change) + error = self.failure(root) + self.assertIn(f"{key} {value!r} {message}", error) + (root / "User" / "libxr_config.yaml").write_text( + yaml.dump(previous), encoding="utf-8" + ) + + def test_a_null_setting_takes_the_default(self): + # M2:null 不再写成 2 * None。 + # M2: a null no longer becomes 2 * None. + root, _code = self.generate("variants") + self.settings(root, lambda settings: settings["UART"]["uart0"].update(tx_buffer_size=None)) + with self.assertLogs(level="WARNING"): + code = self.regenerate(root) + self.assertIn("static uint8_t uart0_tx_buf[2 * 128];", code) + self.assertNotIn(".SetConfig", code) + + def test_a_settings_key_in_another_case_is_used_and_kept(self): + root, _code = self.generate("variants") + + def change(settings): + settings["UART"] = {"UART0": settings["UART"].pop("uart0")} + settings["UART"]["UART0"]["tx_buffer_size"] = 64 + + self.settings(root, change) + with self.assertLogs(level="WARNING"): + code = self.regenerate(root) + self.assertIn("static uint8_t uart0_tx_buf[2 * 64];", code) + self.assertEqual(list(self.settings(root)["UART"]), ["UART0"]) + + def test_a_dma_rx_channel_of_a_uart_is_a_warning(self): + # L1 + root, _code = self.generate("variants") + with self.assertLogs(level="WARNING") as logs: + self.regenerate(root) + self.assertIn( + "WARNING:root:UART_0: the DMA RX channel DMA_CH_UART0_RX is not used; the generated " + "UART uses MSPM0_UART_MAIN_INIT, whose receive side runs on byte interrupts " + "(MSPM0_UART_EXTEND_INIT is not generated)", + logs.output, + ) + + def test_a_uart_without_dma_tx_names_the_sysconfig_option(self): + # L6 + root, _code = self.generate("variants") + self.project_yaml(root, lambda data: data["Peripherals"]["UART"]["UART_0"].pop("DMA_TX")) + self.assertIn( + "UART_0: no DMA TX channel in the SysConfig project (UART > DMA Configuration: " + "Enable DMA TX", + self.failure(root), + ) + + def test_different_frequencies_of_one_timer_are_a_warning(self): + # L7 + root, _code = self.generate("variants") + + def change(settings): + settings["PWM"]["pwm_timg0_c0"]["frequency"] = 1000 + settings["PWM"]["pwm_timg0_c1"]["frequency"] = 2000 + + self.settings(root, change) + with self.assertLogs(level="WARNING") as logs: + self.regenerate(root) + self.assertIn( + "WARNING:root:libxr_config.yaml: the PWM channels of PWM_0 share one period but set " + "different frequencies (pwm_timg0_c0 1000, pwm_timg0_c1 2000); the last SetConfig " + "(pwm_timg0_c1) wins", + logs.output, + ) + + def test_a_hand_written_file_lists_the_lines_that_are_replaced(self): + # M6:已有文件没有生成说明时警告,照常生成。 + # M6: an existing file without the generated-file notice is warned about and generated + # as usual. + root, _code = self.generate("g3507") + output = root / "User" / "app_main.cpp" + output.write_text( + '#include "app_main.h"\n' + "static int hand_written = 1;\n" + "/* User Code Begin 1 */\nstatic int kept = 2;\n/* User Code End 1 */\n" + 'extern "C" void app_main(void)\n{\n' + " /* User Code Begin 2 */\n /* User Code End 2 */\n" + " KEY1.EnableInterrupt();\n" + " /* User Code Begin 3 */\n /* User Code End 3 */\n" + " XROBOT_MAIN();\n}\n", + encoding="utf-8", + ) + with self.assertLogs(level="WARNING") as logs: + code = self.regenerate(root) + warning = next(line for line in logs.output if "was not generated by libxr gen" in line) + self.assertIn("these 2 line(s) of it are replaced", warning) + self.assertTrue( + warning.endswith("\n static int hand_written = 1;\n KEY1.EnableInterrupt();") + ) + self.assertIn("static int kept = 2;", code) + # 生成过的文件不再警告。 + # A generated file is not warned about any more. + with self.assertNoLogs(level="WARNING"): + self.regenerate(root) + class Analyzer(TestCase): """解析器的小函数。 From b857bdfc2f8d39e37e94795827eda9622fe5cb23 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 20:35:43 +0100 Subject: [PATCH 21/34] Keep the XRobot choice in libxr mspm0 setup and libxr hpm setup as stm32 setup does Without --xrobot or --no-xrobot both setups keep the choice of the existing output file, and a new file uses no XRobot, as libxr stm32 setup does; before, they always turned XRobot on. Both write .gitignore (ignoring .config.yaml) when it is missing and, like stm32 setup, give the XRobot setup steps while Modules/modules.yaml does not exist. User/xrobot_main.hpp stays untouched, as on STM32: xrobot setup / xrobot gen owns it. --- src/libxr/cli.py | 71 +++++++++++++++++++++--------- src/libxr/config_cubemx_project.py | 18 ++++++-- tests/test_generator_code_mspm0.py | 71 +++++++++++++++++++++++++++++- 3 files changed, 133 insertions(+), 27 deletions(-) diff --git a/src/libxr/cli.py b/src/libxr/cli.py index 76b65de..149e31f 100644 --- a/src/libxr/cli.py +++ b/src/libxr/cli.py @@ -328,40 +328,61 @@ def cmd_stm32_setup(args: argparse.Namespace) -> None: ) +def _setup_without_cubemx(args: argparse.Namespace, parse, generate) -> None: + """没有 CubeMX 步骤的平台(HPM、MSPM0)的 setup,规则与 libxr stm32 setup 相同:写 + .gitignore(已有的不动),解析工程到 .config.yaml,生成 User/app_main.cpp(或 -o 给出的 + 文件)。--xrobot 和 --no-xrobot 都不给时沿用输出文件现在的选择,新文件不用 XRobot。结束时, + XRobot 工程还没有 Modules/modules.yaml 就给出 XRobot 的设置步骤;与 stm32 setup 一样不改 + User/xrobot_main.hpp,它由 xrobot setup / xrobot gen 生成。 + The setup of a platform without a CubeMX step (HPM, MSPM0), with the rules of libxr stm32 + setup: write .gitignore (an existing one stays), parse the project into .config.yaml and + generate User/app_main.cpp (or the file -o names). With neither --xrobot nor --no-xrobot + the output file keeps its choice, and a new file does not use XRobot. At the end an XRobot + project without Modules/modules.yaml gets the XRobot setup steps; like stm32 setup it + leaves User/xrobot_main.hpp alone, which xrobot setup / xrobot gen generates. + """ + from libxr.config_cubemx_project import create_gitignore_file, report_xrobot_steps + from libxr.generator_stm32_cmake import uses_xrobot + + output = args.output or os.path.join(args.directory, "User", "app_main.cpp") + use_xrobot = args.xrobot + if use_xrobot is None: + use_xrobot = uses_xrobot(output) + if use_xrobot: + logging.info( + tr( + f"{output} uses XRobot; generating with --xrobot (--no-xrobot turns it off).", + f"{output} 使用了 XRobot,继续按 --xrobot 生成(--no-xrobot 可关闭)。", + ) + ) + create_gitignore_file(args.directory) + parse(args.directory, None) + generate(os.path.join(args.directory, ".config.yaml"), output, use_xrobot, args.libxr_config) + report_xrobot_steps(args.directory, use_xrobot) + + def cmd_hpm_setup(args: argparse.Namespace) -> None: - """libxr hpm setup:解析 HPM 工程并生成 User/app_main.cpp;没有 CubeMX 步骤。 + """libxr hpm setup:解析 HPM 工程并生成 User/app_main.cpp;没有 CubeMX 步骤(见 + _setup_without_cubemx())。 libxr hpm setup: parse an HPM project and generate User/app_main.cpp; there is no CubeMX - step. + step (see _setup_without_cubemx()). """ from libxr.generator_code_hpm import generate from libxr.peripheral_analyzer_hpm import parse_project - parse_project(args.directory, None) - output = args.output or os.path.join(args.directory, "User", "app_main.cpp") - generate( - os.path.join(args.directory, ".config.yaml"), - output, - True if args.xrobot is None else args.xrobot, - args.libxr_config, - ) + _setup_without_cubemx(args, parse_project, generate) def cmd_mspm0_setup(args: argparse.Namespace) -> None: - """libxr mspm0 setup:解析 SysConfig 工程并生成 User/app_main.cpp;没有 CubeMX 步骤。 + """libxr mspm0 setup:解析 SysConfig 工程并生成 User/app_main.cpp;没有 CubeMX 步骤(见 + _setup_without_cubemx())。 libxr mspm0 setup: parse a SysConfig project and generate User/app_main.cpp; there is no - CubeMX step. + CubeMX step (see _setup_without_cubemx()). """ from libxr.generator_code_mspm0 import generate from libxr.peripheral_analyzer_mspm0 import parse_project - parse_project(args.directory, None) - output = args.output or os.path.join(args.directory, "User", "app_main.cpp") - generate( - os.path.join(args.directory, ".config.yaml"), - output, - True if args.xrobot is None else args.xrobot, - args.libxr_config, - ) + _setup_without_cubemx(args, parse_project, generate) def cmd_stm32_cubemx_gen(args: argparse.Namespace) -> None: @@ -646,7 +667,10 @@ def _add_hpm_setup(commands) -> None: ) _add_xrobot_choice( parser, - tr(" (default: generate XRobot registrations)", "(默认:生成 XRobot 注册代码)"), + tr( + " (default: keep the choice of the existing output file; a new file uses no XRobot)", + "(默认:沿用已有输出文件的选择;新文件不使用 XRobot)", + ), ) parser.add_argument( "--libxr-config", @@ -693,7 +717,10 @@ def _add_mspm0_setup(commands) -> None: ) _add_xrobot_choice( parser, - tr(" (default: generate XRobot registrations)", "(默认:生成 XRobot 注册代码)"), + tr( + " (default: keep the choice of the existing output file; a new file uses no XRobot)", + "(默认:沿用已有输出文件的选择;新文件不使用 XRobot)", + ), ) parser.add_argument( "--libxr-config", diff --git a/src/libxr/config_cubemx_project.py b/src/libxr/config_cubemx_project.py index 0f7b941..dd1106e 100644 --- a/src/libxr/config_cubemx_project.py +++ b/src/libxr/config_cubemx_project.py @@ -882,6 +882,20 @@ def _report_next_steps(project_dir: str, xrobot: bool = False) -> None: english = f'Next: #include "app_main.h" and call app_main() {where_en}, {keep_en}' chinese = f'下一步:{where_zh} #include "app_main.h" 并调用 app_main(),{keep_zh}' logging.info(tr(english, chinese)) + report_xrobot_steps(project_dir, xrobot) + preset = _build_preset(os.path.join(project_dir, "CMakePresets.json")) + if preset: + command = f"cmake --preset {preset} && cmake --build --preset {preset}" + logging.info(tr(f"Build: {command}", f"构建:{command}")) + + +def report_xrobot_steps(project_dir: str, xrobot: bool) -> None: + """XRobot 工程(xrobot 为真)还没有 Modules/modules.yaml 时依次给出 XRobot 的设置命令 + (XROBOT_STEPS,其中 xrobot setup 生成 User/xrobot_main.hpp);各平台的 setup 共用。 + Give the XRobot setup commands in order (XROBOT_STEPS, where xrobot setup generates + User/xrobot_main.hpp) when an XRobot project (xrobot true) has no Modules/modules.yaml + yet; the setup of every platform shares this. + """ if xrobot and not os.path.isfile(os.path.join(project_dir, "Modules", "modules.yaml")): logging.info( tr( @@ -891,10 +905,6 @@ def _report_next_steps(project_dir: str, xrobot: bool = False) -> None: ) for command, english, chinese in XROBOT_STEPS: logging.info(f" {command:<36} " + tr(english, chinese)) - preset = _build_preset(os.path.join(project_dir, "CMakePresets.json")) - if preset: - command = f"cmake --preset {preset} && cmake --build --preset {preset}" - logging.info(tr(f"Build: {command}", f"构建:{command}")) def _build_preset(path: str) -> str: diff --git a/tests/test_generator_code_mspm0.py b/tests/test_generator_code_mspm0.py index dcef384..2b2a00a 100644 --- a/tests/test_generator_code_mspm0.py +++ b/tests/test_generator_code_mspm0.py @@ -31,7 +31,7 @@ from unittest import mock import yaml -from fixtures import DATA, TestCase +from fixtures import DATA, TestCase, run_libxr from libxr import generator_code_mspm0 as generator from libxr import peripheral_analyzer_mspm0 as analyzer @@ -733,6 +733,75 @@ def test_a_hand_written_file_lists_the_lines_that_are_replaced(self): self.regenerate(root) +class Setup(MSPM0TestCase): + """libxr mspm0 setup 和 libxr hpm setup(M5、HPM 17):XRobot 的选择、.gitignore 和下一步。 + libxr mspm0 setup and libxr hpm setup (M5, HPM 17): the XRobot choice, .gitignore and the + next steps. + """ + + def setUp(self): + super().setUp() + generator.initialize_registry() + generator.reset_settings() + + def setup(self, root: Path, *options) -> tuple[int, str]: + """在 root 上运行 libxr mspm0 setup,返回退出码和生成的 app_main 源文件。 + Run libxr mspm0 setup on root and return the exit code and the generated app_main. + """ + with self.assertLogs(level="INFO") as logs: + code, _out, _err = run_libxr("mspm0", "setup", "-d", str(root), *options) + self.logs = logs.output + return code, (root / "User" / "app_main.cpp").read_text(encoding="utf-8") + + def test_a_new_project_uses_no_xrobot_and_an_existing_one_keeps_its_choice(self): + root = self.project("variants") + code, app_main = self.setup(root) + self.assertEqual(code, 0) + self.assertNotIn("xrobot_main.hpp", app_main) + self.assertIn(".config.yaml", (root / ".gitignore").read_text(encoding="utf-8")) + _code, app_main = self.setup(root, "--xrobot") + self.assertIn('#include "xrobot_main.hpp"', app_main) + _code, app_main = self.setup(root) + self.assertIn('#include "xrobot_main.hpp"', app_main) + self.assertIn( + f"INFO:root:{root / 'User' / 'app_main.cpp'} uses XRobot; generating with --xrobot " + "(--no-xrobot turns it off).", + self.logs, + ) + # HPM 17:与 stm32 setup 一样,还没有 Modules/modules.yaml 时给出 XRobot 的设置步骤, + # 其中 xrobot setup 生成 User/xrobot_main.hpp。 + # HPM 17: as stm32 setup does, the XRobot setup steps are given while there is no + # Modules/modules.yaml; xrobot setup among them generates User/xrobot_main.hpp. + self.assertIn( + "INFO:root:Next: Modules/modules.yaml does not exist yet; set up XRobot in this order:", + self.logs, + ) + _code, app_main = self.setup(root, "--no-xrobot") + self.assertNotIn("xrobot_main.hpp", app_main) + _code, app_main = self.setup(root) + self.assertNotIn("xrobot_main.hpp", app_main) + + def test_an_existing_gitignore_is_kept(self): + root = self.project("variants") + (root / ".gitignore").write_text("mine\n", encoding="utf-8") + self.setup(root) + self.assertEqual((root / ".gitignore").read_text(encoding="utf-8"), "mine\n") + + def test_hpm_setup_keeps_the_choice_of_the_output_file_as_well(self): + root = Path(tempfile.mkdtemp(prefix="libxr-hpm-setup-")) + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + (root / "User").mkdir() + (root / "User" / "app_main.cpp").write_text("int x;\n", encoding="utf-8") + with ( + mock.patch("libxr.peripheral_analyzer_hpm.parse_project"), + mock.patch("libxr.generator_code_hpm.generate") as generate, + self.assertLogs(level="INFO"), + ): + self.assertEqual(run_libxr("hpm", "setup", "-d", str(root))[0], 0) + self.assertIs(generate.call_args.args[2], False) + self.assertTrue((root / ".gitignore").is_file()) + + class Analyzer(TestCase): """解析器的小函数。 Small functions of the parser. From a3f9f88ac0509d165c1da92ad676ae19af335f2c Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 20:41:58 +0100 Subject: [PATCH 22/34] Build the HPM pin data from the ordering part numbers and the peripherals of each SoC The pin table of the HPM5300 datasheet has an LQFP80 column that no part uses, and its analog functions are one table for the whole series. Each SoC now gets only the packages of its ordering part numbers (HPM5301: QFN48; HPM5361: LQFP100, LQFP64, QFN48) and only the signals of the peripherals its hpm_soc_ip.h declares (no ADC1, DAC or op-amp on a HPM5301). HPM53M1 is not among the part numbers of the datasheet and leaves the data. --- scripts/build_pin_data.py | 79 ++++++++++++++++++++++++++++++++- src/libxr/pin_data/hpm.json.gz | Bin 5125 -> 3169 bytes 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/scripts/build_pin_data.py b/scripts/build_pin_data.py index f4d2048..0d63449 100644 --- a/scripts/build_pin_data.py +++ b/scripts/build_pin_data.py @@ -276,18 +276,84 @@ def read_hpm_balls(datasheet: Path) -> tuple[dict[str, dict[str, str]], dict[str return balls, analog +# 数据手册订购型号里的封装代码(产品命名规则图):HPM5361ICB1 的 CB 是 LQFP100。 +# The package codes of the datasheet's ordering part numbers (the product naming convention +# figure): the CB of HPM5361ICB1 is LQFP100. +HPM_PACKAGE_CODES = {"CB": "LQFP100", "CF": "LQFP64", "EG": "QFN48"} +HPM_PART_NUMBER = re.compile(r"\b(HPM\d{2}[0-9A-Z]{2})I(CB|CF|EG)\d\b") +HPM_SOC_IP = re.compile(r"^#define\s+HPM_(\w+?)_BASE\b", re.M) +# 信号的外设名与 hpm_soc_ip.h 的实例名不同的:OPA0_INN0 的外设是 OPAMP0。 +# Peripherals whose signal name differs from the instance of hpm_soc_ip.h: the peripheral of +# OPA0_INN0 is OPAMP0. +HPM_IP_ALIASES = {"OPA": "OPAMP"} + + +def read_hpm_packages(datasheet: Path) -> dict[str, set[str]]: + """数据手册列出的订购型号:SoC -> 有货的封装(HPM5301 只有 HPM5301IEG1,即 QFN48)。引脚 + 表里有 LQFP80 一列,但没有哪个型号用这个封装。 + The ordering part numbers the datasheet lists: SoC -> the packages it ships in (HPM5301 only + as HPM5301IEG1, QFN48). The pin table has an LQFP80 column, but no part uses that package. + """ + import pdfplumber + + packages: dict[str, set[str]] = {} + with pdfplumber.open(datasheet) as pdf: + for page in pdf.pages: + for soc, code in HPM_PART_NUMBER.findall(page.extract_text() or ""): + packages.setdefault(soc, set()).add(HPM_PACKAGE_CODES[code]) + return packages + + +def hpm_ip_instances(soc_dir: Path) -> set[str]: + """SoC 的 hpm_soc_ip.h 声明的外设实例(UART0、ADC0、ACMP……)。 + The peripheral instances the hpm_soc_ip.h of a SoC declares (UART0, ADC0, ACMP, ...). + """ + return set(HPM_SOC_IP.findall((soc_dir / "hpm_soc_ip.h").read_text(encoding="utf-8"))) + + +def hpm_signal_instance(name: str) -> str: + """信号所属的外设实例,用 hpm_soc_ip.h 的写法(OPA0_INN0 为 OPAMP0,ADC1_IN3 为 ADC1)。 + The peripheral instance of a signal, spelled as in hpm_soc_ip.h (OPAMP0 for OPA0_INN0, + ADC1 for ADC1_IN3). + """ + instance = name.split("_", 1)[0] + kind = re.sub(r"\d+$", "", instance) + return HPM_IP_ALIASES.get(kind, kind) + instance[len(kind) :] + + def build_hpm(sdk: Path, datasheet: Path, series: str) -> dict: """HPM 数据:一个系列(HPM5300)里每个 SoC 的各封装引脚;信号取自 SDK 的 hpm_iomux.h (BSD-3-Clause),球号取自该系列的数据手册 PINMUX 表(hpmicro.com)。 The HPM data: the pins of each package of every SoC of one series (HPM5300); the signals come from the SDK's hpm_iomux.h (BSD-3-Clause), the balls from that series' datasheet PINMUX table (hpmicro.com). + + 数据手册的模拟功能是全系列共用的一张表,按各 SoC 的 hpm_soc_ip.h 只留它有的外设:HPM5301 + 没有 ADC1、DAC 和运放。封装取自数据手册的订购型号;手册没有列出的 SoC 不进数据。 + The analog functions of the datasheet are one table for the whole series; each SoC keeps + only the peripherals its hpm_soc_ip.h declares: a HPM5301 has no ADC1, DAC or op-amp. The + packages come from the ordering part numbers of the datasheet; a SoC the datasheet does not + list stays out of the data. """ balls, analog = read_hpm_balls(datasheet) + ordered = read_hpm_packages(datasheet) + soc_dirs = [ + soc_dir + for soc_dir in sorted((sdk / "soc" / series).glob("*")) + if (soc_dir / "hpm_iomux.h").is_file() + ] + # 系列里任一 SoC 声明过的外设:只有这些按实例过滤,JTAG、XPI0 等不在 hpm_soc_ip.h 里的保留。 + # The peripherals any SoC of the series declares: only these are filtered by instance; + # JTAG, XPI0 and others that hpm_soc_ip.h does not list stay. + series_ip = set().union(*(hpm_ip_instances(soc_dir) for soc_dir in soc_dirs)) socs = {} - for soc_dir in sorted((sdk / "soc" / series).glob("*")): - if not (soc_dir / "hpm_iomux.h").is_file(): + for soc_dir in soc_dirs: + if soc_dir.name not in ordered: + print( + f"{soc_dir.name}: not among the ordering part numbers of {datasheet.name}; skipped" + ) continue + ip = hpm_ip_instances(soc_dir) signals = read_hpm_signals(soc_dir) # 模拟功能(ADC、ACMP、OPA 的输入输出)补进信号表;数字头文件里没有它们。 # The analog functions (the inputs and outputs of ADC, ACMP and OPA) join the signal @@ -295,8 +361,17 @@ def build_hpm(sdk: Path, datasheet: Path, series: str) -> dict: for pad, names in analog.items(): known = {name for name, _ in signals.get(pad, [])} signals.setdefault(pad, []).extend([name, None] for name in names if name not in known) + for pad, entries in signals.items(): + signals[pad] = [ + entry + for entry in entries + if hpm_signal_instance(entry[0]) in ip + or hpm_signal_instance(entry[0]) not in series_ip + ] packages = {} for package in balls[next(iter(balls))]: + if package not in ordered[soc_dir.name]: + continue pins = [ [ ball, diff --git a/src/libxr/pin_data/hpm.json.gz b/src/libxr/pin_data/hpm.json.gz index bc5373a693dba1ff402a718d90c210339171bd8d..d1cbc5ebed685e20ef484706adc84054ef648b77 100644 GIT binary patch literal 3169 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 HIfDQISVJeL literal 5125 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 n#$rM^IgbwE Date: Wed, 7 Oct 2026 20:41:59 +0100 Subject: [PATCH 23/34] Recognize an HPM project before an MSPM0 one, as libxr pins and the extension do An app.yaml with a .hpmpc under boards/ is HPM even when the root also holds a .syscfg. --- src/libxr/cli.py | 24 ++++++++++++++---------- tests/test_cli.py | 30 +++++++++++++++++++++--------- 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/src/libxr/cli.py b/src/libxr/cli.py index 76b65de..67ae552 100644 --- a/src/libxr/cli.py +++ b/src/libxr/cli.py @@ -188,6 +188,10 @@ def _hpm_gen(args: argparse.Namespace) -> None: generate(args.input, args.output, use_xrobot, args.libxr_config) +# 识别顺序与 libxr pins 和 VS Code 扩展一致:一个 HPM 工程(app.yaml 加 boards/ 下的 .hpmpc) +# 即使根目录还有 .syscfg 也是 HPM。 +# The order of recognition matches libxr pins and the VS Code extension: an HPM project (an +# app.yaml with a .hpmpc under boards/) is HPM even when its root also holds a .syscfg. PLATFORMS = ( Platform( "stm32", @@ -196,16 +200,6 @@ def _hpm_gen(args: argparse.Namespace) -> None: _stm32_parse, _stm32_gen, ), - Platform( - "mspm0", - lambda: tr( - "a directory with a SysConfig .syscfg file in its root", - "根目录中含有 SysConfig .syscfg 文件的目录", - ), - _has_syscfg, - _mspm0_parse, - _mspm0_gen, - ), Platform( "hpm", lambda: tr( @@ -216,6 +210,16 @@ def _hpm_gen(args: argparse.Namespace) -> None: _hpm_parse, _hpm_gen, ), + Platform( + "mspm0", + lambda: tr( + "a directory with a SysConfig .syscfg file in its root", + "根目录中含有 SysConfig .syscfg 文件的目录", + ), + _has_syscfg, + _mspm0_parse, + _mspm0_gen, + ), ) diff --git a/tests/test_cli.py b/tests/test_cli.py index 8e00e03..1cba1d2 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -43,9 +43,9 @@ def test_an_unrecognized_project_is_an_error(self): logs.output, [ f"ERROR:root:{self.root}: no supported platform recognized " - "(stm32: a directory with an STM32CubeMX .ioc file; mspm0: a directory with " - "a SysConfig .syscfg file in its root; hpm: a directory with an app.yaml and " - "a .hpmpc under boards/)" + "(stm32: a directory with an STM32CubeMX .ioc file; hpm: a directory with an " + "app.yaml and a .hpmpc under boards/; mspm0: a directory with a SysConfig " + ".syscfg file in its root)" ], ) @@ -98,9 +98,9 @@ def test_without_a_recorded_platform_gen_reads_the_project_directory(self): logs.output, [ "ERROR:root:.: no supported platform recognized " - "(stm32: a directory with an STM32CubeMX .ioc file; mspm0: a directory with " - "a SysConfig .syscfg file in its root; hpm: a directory with an app.yaml and " - "a .hpmpc under boards/)" + "(stm32: a directory with an STM32CubeMX .ioc file; hpm: a directory with an " + "app.yaml and a .hpmpc under boards/; mspm0: a directory with a SysConfig " + ".syscfg file in its root)" ], ) self.assertFalse(output.exists()) @@ -116,9 +116,9 @@ def test_an_unsupported_recorded_platform_is_an_error(self): logs.output, [ f"ERROR:root:{config}: platform 'zephyr' is not supported " - "(stm32: a directory with an STM32CubeMX .ioc file; mspm0: a directory with " - "a SysConfig .syscfg file in its root; hpm: a directory with an app.yaml and " - "a .hpmpc under boards/)" + "(stm32: a directory with an STM32CubeMX .ioc file; hpm: a directory with an " + "app.yaml and a .hpmpc under boards/; mspm0: a directory with a SysConfig " + ".syscfg file in its root)" ], ) @@ -137,6 +137,18 @@ def test_an_hpm_project_is_detected(self): "Platform: hpm", ) + def test_an_hpm_project_with_a_syscfg_is_still_hpm(self): + # 识别顺序与 libxr pins 和扩展一致:stm32、hpm、mspm0。 + # The order of recognition is that of libxr pins and the extension: stm32, hpm, mspm0. + self.test_an_hpm_project_is_detected() + project = self.root / "hpm" + (project / "board.syscfg").write_text("// a stray SysConfig file\n", encoding="utf-8") + self.assertEqual(run_libxr("parse", "-d", str(project))[0], 0) + self.assertEqual( + (project / ".config.yaml").read_text(encoding="utf-8").splitlines()[1], + "Platform: hpm", + ) + def test_a_missing_directory_is_an_error(self): config = self.root / "cubemx.yaml" config.write_text("Mcu: {}\n", encoding="utf-8") From ec402adc9f2b6413cffa2028bdbf82699c6875fa Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 20:41:59 +0100 Subject: [PATCH 24/34] Fix the HPM review findings of libxr parse, libxr gen and libxr pins - One reader of the .hpmpc for parse and pins: UTF-8 BOM, null managers, gpiom and selectPins, a formatted error for a malformed file, the SoC name in upper case. - The pinmux calls are those of the body of main, with comments and string literals removed; spaces, (void) and several calls on a line are allowed. A function called inside #if, or not at all, is warned about. - An unknown SoC or package is an error in parse and gen instead of a SoC "without PWM"; pins and parse agree that a GPTMR of a SoC with a PWM peripheral has no PWM settings. - parse checks every pad and signal against the layout, needs SCL and SDA for an I2C, keeps a capture-only GPTMR out of PWM, warns about a GPTMR whose capture inputs generate nothing and about a comparator on two pads, and skips a GPIO assigned to a controller other than GPIO0. - gen validates the GPIO renames (identifier, keyword, reserved, SDK and generated names, uniqueness, all problems at once) and the PWM frequency, finds settings keys in any case as pins does, writes the rename table with null entries (dropping the null entries of pins that left the project), writes no Terminal or terminal_source for HPM and says in the notice when main.c calls no pinmux function. - The GPIO ports and the PWM-capable GPTMR and PWM timers are in the peripheral index of libxr pins; GPIO lines drop their leading zero (P3). --- src/libxr/generator_code_hpm.py | 214 ++++++++++++--- src/libxr/peripheral_analyzer_hpm.py | 376 ++++++++++++++++----------- src/libxr/pin_layout.py | 29 ++- src/libxr/pin_project.py | 304 ++++++++++++++++++---- tests/test_generator_code_hpm.py | 262 ++++++++++++++++++- tests/test_pin_layout.py | 44 ++++ tests/test_pin_project.py | 150 ++++++++++- 7 files changed, 1120 insertions(+), 259 deletions(-) diff --git a/src/libxr/generator_code_hpm.py b/src/libxr/generator_code_hpm.py index d43ab20..3960bcf 100644 --- a/src/libxr/generator_code_hpm.py +++ b/src/libxr/generator_code_hpm.py @@ -48,19 +48,25 @@ from xr_syntax.i18n import tr from libxr import generator_code_stm32 as stm32 +from libxr import pin_layout from libxr.cpp_layout import Braces, layout -from libxr.generator_code_stm32 import GENERATED_NOTICE, INDENT +from libxr.generator_code_stm32 import CPP_KEYWORDS, GENERATED_NOTICE, INDENT # generator_code_stm32 的其余接口(登记表、设置、写入助手)经模块属性访问:测试会用 # importlib.reload 重载它,直接导入的名字会指向重载前的旧全局对象。 # The rest of the generator_code_stm32 interface (the registry, the settings, the writing # helpers) is reached through module attributes: tests reload it with importlib.reload, and # directly imported names would keep pointing at the pre-reload global objects. -# HPM 各设置段的默认值;STM32 段(USART/TIM/USB……)不适用于 HPM,生成前剔除。 -# The defaults of the HPM settings sections; the STM32 sections (USART/TIM/USB, ...) do not -# apply to HPM and are removed before generation. +# HPM 各设置段的默认值;STM32 段(USART/TIM/USB……)以及终端设置(HPM 生成器不创建 UART, +# 没有终端)不适用于 HPM,生成前从默认集合中剔除;文件里写了的照常读入。 +# The defaults of the HPM settings sections; the STM32 sections (USART/TIM/USB, ...) and the +# terminal settings (the HPM generator creates no UART, so there is no terminal) do not apply +# to HPM and are removed from the default set before generation; written in the file, they +# are read as usual. HPM_DEFAULTS = {"I2C": {"speed": 100000}} STM32_ONLY_SECTIONS = ( + "terminal_source", + "Terminal", "ADC", "TIM", "CAN", @@ -80,6 +86,30 @@ PWM_DUTY_CMP = 0 IDENTIFIER = re.compile(r"[A-Za-z_]\w*") +# 生成的 app_main 里用到的名字:GPIO 对象不能叫这些。 +# The names the generated app_main uses: a GPIO object must not be called any of them. +GENERATED_NAMES = frozenset( + { + "app_main", + "main", + "timebase", + "PlatformInit", + "LibXR", + "Thread", + "UINT32_MAX", + "HPMTimebase", + "HPMGPIO", + "HPMI2C", + "HPMPWM", + "LibXRHpmPwmType", + "XR_REGISTER", + "XROBOT_MAIN", + } +) +# HPM SDK 的宏和函数的前缀(HPM_GPIO0、GPIO_DI_GPIOA、IRQn_GPIO0_A、clock_i2c3……)。 +# The prefixes of the HPM SDK macros and functions (HPM_GPIO0, GPIO_DI_GPIOA, IRQn_GPIO0_A, +# clock_i2c3, ...). +SDK_NAME = re.compile(r"(HPM_|GPIO_|IRQn_|IOC_|clock_|gpio_|gpiom_|board_|init_)\w*") def _comment(text: str, indent: str = "") -> list[str]: @@ -107,12 +137,29 @@ def _fail(message: str): sys.exit(1) +def _key(section: dict, name: str): + """section 中与 name 只差大小写的键(文件的写法);没有时为小写的 name。libxr pins 也这样找, + 两边对同一个文件读到同一段。 + The key of section that differs from name in case only (the file's spelling); the lower-case + name when there is none. libxr pins looks the same way, so both read the same entry of a + file. + """ + return next((key for key in section if str(key).lower() == name.lower()), name.lower()) + + +def _keyed_settings(group: str, name: str) -> dict: + """libxr_settings[group] 中 name 的设置段,键的大小写以文件为准。 + The settings section of name in libxr_settings[group], the case of the key as in the file. + """ + return stm32._settings(group, _key(stm32._settings(group), name)) + + def _instance_settings(group: str, instance: str) -> dict: - """libxr_settings 中小写实例键下的设置段,缺少的默认值补进段里。 - The settings section under the lower-case instance key of libxr_settings[group], with the + """libxr_settings 中实例的设置段(键不区分大小写),缺少的默认值补进段里。 + The settings section of an instance in libxr_settings (the key in any case), with the missing defaults filled in. """ - section = stm32._settings(group, instance.lower()) + section = _keyed_settings(group, instance) for key, default in HPM_DEFAULTS[group].items(): section.setdefault(key, default) return section @@ -155,8 +202,8 @@ def _setting_int(key: str, value) -> int: ): _fail( tr( - f"libxr_config.yaml: {key} {value!r} is not a positive integer", - f"libxr_config.yaml:{key} {value!r} 不是正整数", + f"{stm32.libxr_config_origin}: {key} {value!r} is not a positive integer", + f"{stm32.libxr_config_origin}:{key} {value!r} 不是正整数", ) ) return int(value) @@ -200,40 +247,89 @@ def _gpio_names(project_data: dict) -> dict[str, dict]: warned about. """ gpio = project_data.get("GPIO", {}) - renames = stm32.libxr_settings.get("GPIO") or {} - if not isinstance(renames, dict): + if not isinstance(stm32.libxr_settings.get("GPIO") or {}, dict): _fail( tr( - f"{stm32.libxr_config_origin}: GPIO {renames!r} is not a mapping of a pin name " - "to an object name", - f"{stm32.libxr_config_origin}:GPIO {renames!r} 不是引脚名到对象名的映射", + f"{stm32.libxr_config_origin}: GPIO {stm32.libxr_settings['GPIO']!r} is not a " + "mapping of a pin name to an object name", + f"{stm32.libxr_config_origin}:GPIO {stm32.libxr_settings['GPIO']!r} 不是引脚名到" + "对象名的映射", ) ) + renames = stm32._settings("GPIO") + # 改名表写出每个引脚(null 保留默认名),设置树里就能直接改;引脚不在工程里了时,它的 null + # 条目随之删除,写了名字的保留并给出警告。 + # The rename table lists every pin (null keeps the default name), so the settings tree can + # edit it directly; when a pin leaves the project its null entry goes, while one with a + # name stays and is warned about. + keys = {label: _key(renames, label) for label in gpio} + for key in [key for key in renames if key not in keys.values()]: + if renames[key] is None: + del renames[key] + else: + logging.warning( + tr( + f"{stm32.libxr_config_origin}: the GPIO rename {key} names no generated " + "pin; it is ignored", + f"{stm32.libxr_config_origin}:GPIO 改名 {key} 没有对应的生成引脚;忽略", + ) + ) names: dict[str, dict] = {} + problems = [] for label, pin in gpio.items(): - rename = renames.get(label) - name = str(label if rename is None else rename) - if not IDENTIFIER.fullmatch(name) or name in stm32.registered_devices: - _fail( + rename = renames.setdefault(keys[label], None) + if rename is not None and not isinstance(rename, str): + problems.append( tr( - f"GPIO name {name} is not a valid unique C++ identifier", - f"GPIO 名字 {name} 不是合法且唯一的 C++ 标识符", + f"GPIO.{keys[label]} {rename!r} is not a name", + f"GPIO.{keys[label]} {rename!r} 不是名字", ) ) + continue + name = rename or label + problem = _gpio_name_problem(name) + if problem: + problems.append(f"GPIO.{keys[label]} {name!r}: {problem}") + continue stm32._register_device(name, "GPIO") names[name] = pin - for label in renames: - if label not in gpio: - logging.warning( - tr( - f"{stm32.libxr_config_origin}: the GPIO rename {label} names no generated " - "pin; it is ignored", - f"{stm32.libxr_config_origin}:GPIO 改名 {label} 没有对应的生成引脚;忽略", - ) + if problems: + _fail( + tr( + f"{stm32.libxr_config_origin}: rename these GPIO objects:\n ", + f"{stm32.libxr_config_origin}:请重命名以下 GPIO 对象:\n ", ) + + "\n ".join(problems) + ) return names +def _gpio_name_problem(name: str) -> str: + """GPIO 对象名不能用的原因;能用时为空串。名字必须是合法的 C++ 标识符,不是关键字或保留 + 标识符,不与 SDK 的宏和函数、生成代码用到的名字或其他对象重名。 + Why a GPIO object name cannot be used; empty when it can. The name must be a valid C++ + identifier that is no keyword or reserved identifier and does not collide with an SDK macro + or function, a name the generated code uses or another object. + """ + if not IDENTIFIER.fullmatch(name): + return tr("not a valid C++ identifier", "不是合法的 C++ 标识符") + if name in CPP_KEYWORDS: + return tr("a C++ keyword", "是 C++ 关键字") + if "__" in name or re.match(r"_[A-Z]", name): + return tr("a reserved C++ identifier", "是 C++ 保留标识符") + if name in GENERATED_NAMES or SDK_NAME.fullmatch(name): + return tr( + "a name of the HPM SDK or of the generated code", + "是 HPM SDK 或生成代码使用的名字", + ) + if name in stm32.registered_devices: + return tr( + f"already the name of a {stm32.registered_devices[name]} object", + f"已是一个 {stm32.registered_devices[name]} 对象的名字", + ) + return "" + + def _pull_text(pad_ctls: dict) -> str: """padCtls(PE/PS)的上下拉描述;没有上拉使能时为空。 The pull description of padCtls (PE/PS); empty when the pull is not enabled. @@ -265,12 +361,11 @@ def _gpio_section(project_data: dict, gpio: dict[str, dict]) -> list[str]: """ if not gpio: return [] - functions = ", ".join( - f"{name}()" for name in project_data.get("MainFunctions") or ["init_bsp_pins"] - ) + functions = _functions_text(project_data) summary = ", ".join(_gpio_description(label, pin) for label, pin in gpio.items()) + verb = "configured" if _main_calls(project_data) else "defines (main.c does not call it)" lines = _comment( - f"GPIO: {functions} configured {summary}. The interrupt edge comes from the pinmux " + f"GPIO: {functions} {verb} {summary}. The interrupt edge comes from the pinmux " "and every object carries its port IRQ; RegisterCallback and EnableInterrupt belong " "to the consumer (a Module or the User Code).", INDENT, @@ -342,8 +437,11 @@ def _pwm_section(pwms: list) -> list[str]: "HPMPWM::Polarity::NORMAL", ], ) - frequency = stm32._settings("PWM", name).setdefault("frequency", None) - if frequency: + # null 不调用 SetConfig;给出的频率必须是正整数(赫兹)。 + # null calls no SetConfig; a given frequency must be a positive integer (hertz). + frequency = _keyed_settings("PWM", name).setdefault("frequency", None) + if frequency is not None: + frequency = _setting_int(f"PWM.{name}.frequency", frequency) lines += layout(f"{name}.SetConfig", [Braces(str(frequency))]) return lines @@ -403,17 +501,38 @@ def _notice(project_data: dict) -> list[str]: The notice at the start of the file: which .hpmpc it was generated from, what the Pinmux Tool and the BSP own and that only the User Code regions are for editing. """ - functions = ", ".join( - f"{name}()" for name in project_data.get("MainFunctions") or ["init_bsp_pins"] - ) + functions = _functions_text(project_data) + if _main_calls(project_data): + pins = f"configures the pins via {functions} in main.c" + else: + pins = f"defines the pins in {functions}, which main.c does not call," return [GENERATED_NOTICE] + _comment( f"Generated from {project_data.get('Hpmpc', 'the HPM Pinmux Tool project')}" - f" ({project_data.get('Mcu', {}).get('Type', '')}); the Pinmux Tool configures the" - f" pins via {functions} in main.c and main.c stays BSP-owned. Put application code" - ' between the "User Code Begin" and "User Code End" markers.' + f" ({project_data.get('Mcu', {}).get('Type', '')}); the Pinmux Tool {pins} and main.c" + ' stays BSP-owned. Put application code between the "User Code Begin" and "User Code' + ' End" markers.' ) +def _main_calls(project_data: dict) -> bool: + """main.c 是否真的调用了读到引脚的 pinmux 函数;为假时引脚取自 init_bsp_pins 兜底。旧的 + 工程 YAML 没有 MainCalls,按调用了处理。 + Whether main.c really calls the pinmux functions the pins were read from; false when the + pins come from the init_bsp_pins fallback. An older project YAML has no MainCalls and counts + as calling them. + """ + return bool(project_data.get("MainCalls", project_data.get("MainFunctions"))) + + +def _functions_text(project_data: dict) -> str: + """读到引脚的 pinmux 函数,写成 init_bsp_pins() 这样的列表;没有时为 "no pinmux function"。 + The pinmux functions the pins were read from, listed as init_bsp_pins(); "no pinmux + function" when there is none. + """ + names = project_data.get("MainFunctions") or [] + return ", ".join(f"{name}()" for name in names) or "no pinmux function" + + def _includes(project_data: dict, use_xrobot: bool) -> list[str]: """include 列表:libxr.hpp、hpm_soc.h、用到的 hpm 驱动头和时基头,XRobot 再加 xrobot_main.hpp;均按字母顺序。 @@ -470,6 +589,20 @@ def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) return stm32._preserve_generated_regions(existing_code, "\n".join(lines) + "\n") +def _check_soc(project_data: dict) -> None: + """工程 YAML 的 SoC 和封装必须在芯片引脚数据里(大写);不认识的 SoC 无法判断有没有 PWM + 外设,报错退出。 + The SoC and the package of the project YAML must be in the chip pin data (upper case); for + an unknown SoC it cannot be told whether it has a PWM peripheral, so an error is logged and + generation exits. + """ + soc = str(project_data.get("Mcu", {}).get("Type") or "") + try: + pin_layout.layout_hpm(soc, project_data.get("Package")) + except ValueError as error: + _fail(str(error)) + + def initialize_registry() -> None: """清空生成对象的登记表,使同一次进程中的下一次生成不带上次的对象。 Clear the registry of generated objects, so the next generation in the same process @@ -514,6 +647,7 @@ def generate( reset_settings() project_data = stm32.load_configuration(input_path) + _check_soc(project_data) stm32.load_libxr_config(output_dir, libxr_config) # load_configuration 又写入了 SYSTEM(HPM 只有裸机),再剔除一次。 # load_configuration has written SYSTEM again (HPM is bare metal only); remove it diff --git a/src/libxr/peripheral_analyzer_hpm.py b/src/libxr/peripheral_analyzer_hpm.py index 13ce449..398d4f9 100644 --- a/src/libxr/peripheral_analyzer_hpm.py +++ b/src/libxr/peripheral_analyzer_hpm.py @@ -1,23 +1,29 @@ """libxr parse 对 HPM 工程:解析 Pinmux Tool 工程并写出工程 YAML。 libxr parse for an HPM project: parse the Pinmux Tool project and write the project YAML. -工程是 app.yaml 加 boards/ 下唯一的 .hpmpc。已选信号取根目录 main.c 在预处理条件外调用的 -pinmux 函数(O2:条件编译里的不算,例如 rmcs 的 JTAG 共用引脚),从 .hpmpc 的 selectPins -读出引脚和信号,化成 hpm_iomux.h 的宏名后按布局核对。GPIO 的复用(GPIO.A.B[11])算引脚自己 -的普通用法:对象默认按引脚命名(pb11,用户 2026-10-07 确认),libxr_config 可改名;其余外设 -按 recognize_hpm 识别,LibXR 有驱动的(I2C;以及 SoC 没有 PWM 外设时 GPTMR 上的 PWM——判定 -来自芯片引脚数据里有没有 PWM 信号,HPM5301 没有、HPM5361 有)进入 Peripherals,其余(UART、 -SPI、CAN、ACMP、有 PWM 外设的 SoC 上的 GPTMR……)记入 Other,只作展示。 +工程是 app.yaml 加 boards/ 下唯一的 .hpmpc。已选信号取根目录 main.c 的 main 在预处理条件外 +调用的 pinmux 函数(O2:条件编译里的不算,例如 rmcs 的 JTAG 共用引脚),从 .hpmpc 的 selectPins +读出引脚和信号,化成 hpm_iomux.h 的宏名后按 SoC 封装的布局核对(封装上没有的焊盘、焊盘不能 +承载的信号给出警告)。读 .hpmpc、找 main 的调用和合并各函数的选择与 libxr pins 共用 +pin_project 的实现。GPIO 的复用(GPIO.A.B[11])算引脚自己的普通用法:对象默认按引脚命名 +(pb11,用户 2026-10-07 确认),libxr_config 可改名;其余外设按 recognize_hpm 识别,LibXR 有 +驱动的(I2C;以及 SoC 没有 PWM 外设时 GPTMR 比较器上的 PWM——判定来自芯片引脚数据里有没有 PWM +信号,HPM5301 没有、HPM5361 有)进入 Peripherals,其余(UART、SPI、CAN、ACMP、只有捕获输入的 +GPTMR、有 PWM 外设的 SoC 上的 GPTMR……)记入 Other,只作展示。 The project is app.yaml plus the single .hpmpc under boards/. The selected signals come from -the pinmux functions the root main.c calls outside preprocessor conditions (O2: a call inside -a conditional does not count, such as the rmcs JTAG shared pins), read from the selectPins of -the .hpmpc and checked against the layout as the macro names of hpm_iomux.h. A GPIO mux -(GPIO.A.B[11]) counts as the pin's own plain use: the object defaults to the pin name (pb11, -confirmed by the user 2026-10-07) and libxr_config renames it; the other peripherals go -through recognize_hpm, and the ones LibXR has drivers for (I2C; a PWM on a GPTMR when the SoC -has no PWM peripheral — decided by whether the chip's pin data has any PWM signal, HPM5301 has -none and HPM5361 has 20) enter Peripherals while the rest (UART, SPI, CAN, ACMP, a GPTMR on a -SoC with a PWM peripheral, ...) are recorded under Other for display only. +the pinmux functions that main in the root main.c calls outside preprocessor conditions (O2: a +call inside a conditional does not count, such as the rmcs JTAG shared pins), read from the +selectPins of the .hpmpc and checked, as the macro names of hpm_iomux.h, against the layout of +the SoC package (a pad the package does not have, or a signal its pad cannot carry, is warned +about). Reading the .hpmpc, finding the calls of main and merging the selections of the +functions share the pin_project implementation with libxr pins. A GPIO mux (GPIO.A.B[11]) +counts as the pin's own plain use: the object defaults to the pin name (pb11, confirmed by the +user 2026-10-07) and libxr_config renames it; the other peripherals go through recognize_hpm, +and the ones LibXR has drivers for (I2C; a PWM on a GPTMR comparator when the SoC has no PWM +peripheral — decided by whether the chip's pin data has any PWM signal, HPM5301 has none and +HPM5361 has 20) enter Peripherals while the rest (UART, SPI, CAN, ACMP, a GPTMR with capture +inputs only, a GPTMR on a SoC with a PWM peripheral, ...) are recorded under Other for display +only. UART、SPI 和 MCAN 的驱动还压着没合(生成器认出它们,但不生成对象)。 The UART, SPI and MCAN drivers are still held back (the generator recognizes them but @@ -26,7 +32,6 @@ from __future__ import annotations -import json import logging import os import re @@ -38,100 +43,34 @@ from libxr import pin_layout, pin_project -# LibXR 有驱动、gen 生成对象的信号:段 -> 识别出的 kind。 -# The signals LibXR has drivers for and gen generates objects for: section -> the kind -# recognized. -GENERATED_KINDS = {"I2C": "I2C", "GPTMR": "PWM"} -HPM_SOC_PREFIX = "HPM" +# .hpmpc 里 gpiom 管理器的 gpioController 值:1 是 SoC 的 GPIO0(工具为它生成 +# gpiom_soc_gpio0),HPMGPIO 只驱动这一个控制器。 +# The gpioController value of the gpiom manager of a .hpmpc: 1 is the GPIO0 of the SoC (the +# tool generates gpiom_soc_gpio0 for it), the only controller HPMGPIO drives. +GPIO0_CONTROLLER = "1" -class Project: - """一个 HPM 工程:.hpmpc 的内容、活动的 pinmux 函数和它们的引脚。 - One HPM project: the .hpmpc content, the active pinmux functions and their pins. +def _fail(message: str): + """记录错误并以状态 1 退出。 + Log an error and exit with status 1. """ - - def __init__(self, root: Path, hpmpc: Path, main_c: Path) -> None: - """读 .hpmpc 与根目录 main.c,记下 SoC、封装、活动的 pinmux 函数和它们的引脚。同一 pad - 被两个活动函数选中时记进 conflicts,信号以后一个为准。 - Read the .hpmpc and the root main.c, keeping the SoC, the package, the active pinmux - functions and their pins. A pad that two active functions select is recorded in - conflicts; the later signal wins. - """ - self.root = root - self.hpmpc = hpmpc - document = json.loads(hpmpc.read_text(encoding="utf-8")) - info = document["content"]["info"] - self.soc = info.get("socName") - self.package = info.get("packageName") - functions = document["content"]["pinmux"]["functions"] - # main.c 真正调用过的函数(O2):没有时 parse 会提示,并退回 init_bsp_pins。 - # The functions main.c really calls (O2): when there are none, parse says so and - # falls back to init_bsp_pins. - self.called = pin_project.hpm_called_functions(main_c, functions) - self.active = self.called or (["init_bsp_pins"] if "init_bsp_pins" in functions else []) - self.pins: list[dict] = [] - self.conflicts: list[tuple[str, str, str, str, str]] = [] - owners: dict[str, tuple[str, str]] = {} - for function in self.active: - for pad, selection in functions[function].get("selectPins", {}).items(): - if not selection.get("signal"): - continue - if pad in owners and owners[pad][0] != function: - self.conflicts.append( - (pad, owners[pad][0], owners[pad][1], function, selection["signal"]) - ) - owners[pad] = (function, selection["signal"]) - entry = { - "pad": pad, - "signal": selection["signal"], - "padCtls": selection.get("padCtls", {}), - "gpiom": functions[function].get("managers", {}).get("gpiom", {}).get(pad, {}), - } - # 同一 pad 被再次选中时替换前面的记录(以后一个为准)。 - # A pad that is selected again replaces the earlier record (the later one - # wins). - for index, previous in enumerate(self.pins): - if previous["pad"] == pad: - self.pins[index] = entry - break - else: - self.pins.append(entry) - - -def _pad_port_line(pad: str) -> tuple[str, int] | None: - """物理引脚名(PA10)的端口字母和引脚号;不合式样时为 None。 - The port letter and the pin line of a pad name (PA10); None for a name that does not fit. - """ - match = re.fullmatch(r"P([A-Z])(\d+)", pad) - if match is None: - return None - return match.group(1), int(match.group(2)) - - -def _gpio_name(pad: str) -> str | None: - """GPIO 对象的默认名:p 加端口字母小写加引脚号(PA10 -> pa10,用户 2026-10-07 确认)。 - The default GPIO object name: p, the lower-case port letter and the pin line - (PA10 -> pa10, confirmed by the user 2026-10-07). - """ - port_line = _pad_port_line(pad) - if port_line is None: - return None - port, line = port_line - return f"p{port.lower()}{line:d}" + logging.error(message) + sys.exit(1) def _gpio_entry(pad: str, pad_ctls: dict, gpiom: dict) -> dict | None: - """一个 GPIO 引脚的工程记录:端口字母、引脚号、方向(gpiom 写下的)和 pad 设置。 - The project record of one GPIO pin: the port letter, the pin line, the direction the - gpiom manager wrote and the pad settings. + """一个 GPIO 引脚的工程记录:端口字母、引脚号、方向(gpiom 写下的)和 pad 设置;焊盘名不是 + P<字母><数字> 时为 None。 + The project record of one GPIO pin: the port letter, the pin line, the direction the gpiom + manager wrote and the pad settings; None when the pad name is not P. """ - port_line = _pad_port_line(pad) - if port_line is None: + port_line = pin_layout.gpio_port_and_line(pad) + if port_line is None or not re.fullmatch(r"P[A-Z]\d+", pad): return None entry = { "Pad": pad, "Port": port_line[0], - "Line": port_line[1], + "Line": int(port_line[1]), "PadCtls": pad_ctls or {}, } direction = str(gpiom.get("direction") or "") @@ -142,70 +81,130 @@ def _gpio_entry(pad: str, pad_ctls: dict, gpiom: dict) -> dict | None: return entry -def parse_project(directory: str, output: str | None = None, summary: bool = True) -> None: - """解析 directory 中的 HPM 工程并写出 YAML;summary 为真时打印摘要。 - Parse the HPM project in directory and write the YAML; print a summary when summary is - set. +def _instance(signal: str) -> str: + """信号所属的外设实例(UART0_TXD 为 UART0);GPIO 的复用都算 GPIO。 + The peripheral instance a signal belongs to (UART0 for UART0_TXD); every GPIO mux counts + as GPIO. + """ + recognized = pin_layout.recognize_hpm(signal) + return recognized[0] if recognized else "GPIO" if signal.startswith("GPIO_") else signal - 输出路径默认为该目录下的 .config.yaml。调用方(libxr parse)已确认目录存在且是 HPM 工程。 - The output defaults to .config.yaml in that directory. The caller, libxr parse, has - checked that the directory exists and is an HPM project. + +def _project(directory: str) -> tuple[Path, Path, pin_project.HpmProject]: + """directory 中唯一的 .hpmpc、根目录 main.c 和读出的工程;缺少或读不出时报错退出。SoC 和 + 封装必须在芯片引脚数据里(SoC 名不区分大小写)。 + The single .hpmpc of directory, the root main.c and the project read from it; a missing or + unreadable one logs an error and exits. The SoC and the package must be in the chip pin + data (the SoC name in any case). """ root = Path(directory) hpmpcs = sorted(root.glob("boards/*/*.hpmpc")) if len(hpmpcs) != 1: names = ", ".join(path.as_posix() for path in hpmpcs) or tr("none found", "没有找到") - logging.error( + _fail( tr( f"{directory} must hold exactly one .hpmpc under boards/ ({names})", f"{directory} 的 boards/ 下必须有且只有一个 .hpmpc({names})", ) ) - sys.exit(1) main_c = root / "main.c" if not main_c.is_file(): - logging.error( + _fail( tr( f"{directory}: no root main.c; the HPM main sits at the project root", f"{directory}:根目录没有 main.c;HPM 的 main 在工程根目录", ) ) - sys.exit(1) - project = Project(root, hpmpcs[0], main_c) + try: + project = pin_project.read_hpmpc(hpmpcs[0]) + except ValueError as error: + _fail(str(error)) if project.soc is None: - logging.error( + _fail(tr(f"{hpmpcs[0]} does not name a SoC", f"{hpmpcs[0]} 没有给出 SoC")) + return hpmpcs[0], main_c, project + + +def _layout(project: pin_project.HpmProject) -> pin_layout.PinLayout: + """工程 SoC 封装的布局;SoC 或封装不在引脚数据里时报错退出。 + The layout of the project's SoC package; a SoC or package missing from the pin data logs an + error and exits. + """ + try: + return pin_layout.layout_hpm(project.soc, project.package) + except ValueError as error: + _fail(f"{project.path}: {error}") + + +def _report_calls( + hpmpc: Path, + main_c: Path, + project: pin_project.HpmProject, + called: list[str], + conditional: list[str], + active: list[str], +) -> None: + """main.c 调用情况的警告:条件编译里调用的函数、没有被调用的函数,以及完全没有调用时的 + init_bsp_pins 兜底。 + The warnings about the calls of main.c: the functions called inside a conditional, the + functions not called, and the init_bsp_pins fallback when there is no call at all. + """ + for name in conditional: + logging.warning( tr( - f"{hpmpcs[0]} does not name a SoC", - f"{hpmpcs[0]} 没有给出 SoC", + f"{main_c}: {name}() is called inside a preprocessor condition; its pins are not " + "read (the generated objects must not depend on build options)", + f"{main_c}:{name}() 在预处理条件里调用;不读它的引脚(生成的对象不能依赖编译选项)", ) ) - sys.exit(1) - if not project.called: + if not called: detail = ( tr("using the init_bsp_pins fallback", "退回 init_bsp_pins") - if project.active + if active else tr( "no init_bsp_pins exists, so no pin is read", "没有 init_bsp_pins 可退,读不到引脚" ) ) logging.warning( tr( - f"{main_c} calls no pinmux function ({detail}); a pin function called from " - "elsewhere (board.c, a helper) is not visible", - f"{main_c} 没有调用任何 pinmux 函数({detail});从别处(board.c、辅助函数)" + f"{main_c}: main calls no pinmux function ({detail}); a pin function called " + "from elsewhere (board.c, a helper) is not visible", + f"{main_c}:main 没有调用任何 pinmux 函数({detail});从别处(board.c、辅助函数)" "调用的引脚函数看不到", ) ) - for pad, first, first_signal, second, second_signal in project.conflicts: - logging.warning( - tr( - f"{hpmpcs[0]}: {pad} is selected by both {first} ({first_signal}) and " - f"{second} ({second_signal}); the later one wins", - f"{hpmpcs[0]}:{pad} 同时被 {first}({first_signal})和 {second}" - f"({second_signal})选中;以后一个为准", + return + for name in project.functions: + if name not in called and name not in conditional: + logging.warning( + tr( + f"{hpmpc}: the pinmux function {name}() is not called by main in " + f"{main_c.name}; its pins are not read", + f"{hpmpc}:pinmux 函数 {name}() 没有被 {main_c.name} 的 main 调用;不读它的引脚", + ) ) - ) + +def parse_project(directory: str, output: str | None = None, summary: bool = True) -> None: + """解析 directory 中的 HPM 工程并写出 YAML;summary 为真时打印摘要。 + Parse the HPM project in directory and write the YAML; print a summary when summary is + set. + + 输出路径默认为该目录下的 .config.yaml。调用方(libxr parse)已确认目录存在且是 HPM 工程。 + The output defaults to .config.yaml in that directory. The caller, libxr parse, has + checked that the directory exists and is an HPM project. + """ + root = Path(directory) + hpmpc, main_c, project = _project(directory) + layout = _layout(project) + called, conditional = pin_project.hpm_main_calls(main_c, project.functions) + active = called or (["init_bsp_pins"] if "init_bsp_pins" in project.functions else []) + _report_calls(hpmpc, main_c, project, called, conditional, active) + selections, conflicts = pin_project.hpm_selections(project, active) + for conflict in conflicts: + logging.warning(pin_project.hpm_conflict_message(hpmpc, *conflict)) + + pins = {pin.name: pin for pin in layout.pins} + known = {_instance(signal) for pin in layout.pins for signal in pin.signals} gpio: dict[str, dict] = {} peripherals: dict[str, dict] = {} other: dict[str, dict] = {} @@ -215,67 +214,109 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru # with one (HPM5361) it lands in Other for display only. The decision comes from whether # the chip's pin data has any PWM signal. soc_has_pwm = pin_layout.hpm_soc_has_pwm(project.soc) - for selection in project.pins: + for selection in selections: pad, signal, pad_ctls = selection["pad"], selection["signal"], selection["padCtls"] canonical = pin_project.hpm_canonical(signal) + pin = pins.get(pad) + if pin is None: + logging.warning( + tr( + f"{hpmpc}: {pad} ({signal}) is not a pin of {project.soc} {layout.package}; " + "skipped", + f"{hpmpc}:{pad}({signal})不是 {project.soc} {layout.package} 的引脚;跳过", + ) + ) + continue + # 只核对引脚数据认识的外设:工具自己的伪信号(USBPHY.A.USB_DM 等,hpm_iomux.h 和数据 + # 手册的引脚表里都没有)不算错。 + # Only peripherals the pin data knows are checked: the tool's own pseudo signals + # (USBPHY.A.USB_DM and the like, in neither hpm_iomux.h nor the datasheet pin table) + # are no error. + if canonical not in pin.signals and _instance(canonical) in known: + logging.warning( + tr( + f"{hpmpc}: {pad} cannot carry {canonical} ({signal}) on {project.soc}", + f"{hpmpc}:{project.soc} 的 {pad} 不能承载 {canonical}({signal})", + ) + ) if canonical.startswith("GPIO_"): - name = _gpio_name(pad) + controller = str(selection["gpiom"].get("gpioController") or GPIO0_CONTROLLER) entry = _gpio_entry(pad, pad_ctls, selection["gpiom"]) - if name is None or entry is None: + if entry is None: logging.warning( tr( - f"{hpmpcs[0]}: {pad} does not look like a GPIO pad; skipped", - f"{hpmpcs[0]}:{pad} 不是 GPIO 引脚的写法;跳过", + f"{hpmpc}: {pad} does not look like a GPIO pad; skipped", + f"{hpmpc}:{pad} 不是 GPIO 引脚的写法;跳过", ) ) continue - if name in gpio: + if controller != GPIO0_CONTROLLER: logging.warning( tr( - f"{hpmpcs[0]}: two GPIO pins are named {name}; the later one wins", - f"{hpmpcs[0]}:两个 GPIO 引脚都叫 {name};以后一个为准", + f"{hpmpc}: {pad} is assigned to GPIO controller {controller}, not the " + "GPIO0 HPMGPIO drives; no object is generated for it", + f"{hpmpc}:{pad} 分给了 GPIO 控制器 {controller},不是 HPMGPIO 驱动的 " + "GPIO0;不为它生成对象", ) ) - gpio[name] = entry + continue + gpio[f"p{entry['Port'].lower()}{entry['Line']}"] = entry continue recognized = pin_layout.recognize_hpm(canonical) instance, kind, function = recognized or (canonical, "OTHER", "PIN") - if kind in GENERATED_KINDS and not (kind == "GPTMR" and soc_has_pwm): - section = GENERATED_KINDS[kind] + comparator = re.fullmatch(r"COMP_(\d+)", function) + if kind == "I2C" or (kind == "GPTMR" and comparator and not soc_has_pwm): + section = "I2C" if kind == "I2C" else "PWM" record = peripherals.setdefault(section, {}).setdefault( instance, {"Peripheral": instance, "Pins": {}} ) - if function.startswith("COMP"): + if comparator: # GPTMR 的比较器输出:序号是 PWM 通道(pwm_gptmr0_ch1)。 # A GPTMR comparator output: its index is the PWM channel (pwm_gptmr0_ch1). - index = int(re.fullmatch(r"COMP_(\d+)", function).group(1)) + index = int(comparator.group(1)) channels = record.setdefault("Channels", []) - if not any(channel["Index"] == index for channel in channels): + taken = next((channel for channel in channels if channel["Index"] == index), None) + if taken is None: channels.append({"Index": index, "Pad": pad}) + elif taken["Pad"] != pad: + # 同一比较器只有一个输出对象,第一个焊盘为准。 + # One comparator has one output object; the first pad wins. + logging.warning( + tr( + f"{hpmpc}: {instance} {function} is selected on both {taken['Pad']} " + f"and {pad}; the PWM object drives {taken['Pad']}", + f"{hpmpc}:{instance} 的 {function} 同时选在 {taken['Pad']} 和 {pad};" + f"PWM 对象以 {taken['Pad']} 为准", + ) + ) + continue elif function in record["Pins"] and record["Pins"][function] != pad: logging.warning( tr( - f"{hpmpcs[0]}: {instance} {function} is assigned to both " + f"{hpmpc}: {instance} {function} is assigned to both " f"{record['Pins'][function]} and {pad}; the later one wins", - f"{hpmpcs[0]}:{instance} 的 {function} 同时分给了 " + f"{hpmpc}:{instance} 的 {function} 同时分给了 " f"{record['Pins'][function]} 和 {pad};以后一个为准", ) ) record["Pins"][function] = pad else: - # LibXR 还没有驱动的信号(UART、SPI、CAN、ACMP……)只作展示。 - # Signals without a LibXR driver yet (UART, SPI, CAN, ACMP, ...) are display-only. + # LibXR 还没有驱动的信号(UART、SPI、CAN、ACMP、GPTMR 的捕获输入……)只作展示。 + # Signals without a LibXR driver yet (UART, SPI, CAN, ACMP, the capture inputs of + # a GPTMR, ...) are display-only. record = other.setdefault( instance, {"Module": kind, "Peripheral": instance, "Pins": {}} ) record["Pins"][function] = pad + _check_peripherals(hpmpc, peripherals, other) data = { "Platform": "hpm", - "Hpmpc": hpmpcs[0].relative_to(root).as_posix(), + "Hpmpc": hpmpc.relative_to(root).as_posix(), "Mcu": {"Family": "HPM", "Type": project.soc}, - "Package": project.package, - "MainFunctions": project.active, + "Package": layout.package, + "MainFunctions": active, + "MainCalls": list(called), "GPIO": gpio, "Peripherals": {**peripherals, "Other": other} if other else peripherals, } @@ -293,6 +334,41 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru _print_summary(data) +def _check_peripherals(hpmpc: Path, peripherals: dict, other: dict) -> None: + """生成前的一致性检查:I2C 必须有 SCL 和 SDA,缺一个时不生成,改记入 Other;生成 PWM 的 + GPTMR 同时选了捕获输入(记在 Other)时给出警告(捕获不生成对象)。 + The consistency checks before generation: an I2C needs both SCL and SDA, and one missing + either is not generated but recorded under Other; a GPTMR that generates PWM and also + selects capture inputs (recorded under Other) is warned about (capture generates no + object). + """ + for instance, record in list(peripherals.get("I2C", {}).items()): + missing = [name for name in ("SCL", "SDA") if name not in record["Pins"]] + if missing: + logging.warning( + tr( + f"{hpmpc}: {instance} has no {' or '.join(missing)} pin; no I2C object is " + "generated for it", + f"{hpmpc}:{instance} 没有 {'、'.join(missing)} 引脚;不为它生成 I2C 对象", + ) + ) + del peripherals["I2C"][instance] + other[instance] = {"Module": "I2C", **record} + for instance in peripherals.get("PWM", {}): + captures = sorted(other.get(instance, {}).get("Pins", {})) + if captures: + logging.warning( + tr( + f"{hpmpc}: {instance} also selects {', '.join(captures)}; the capture inputs " + "generate no object", + f"{hpmpc}:{instance} 还选了 {'、'.join(captures)};捕获输入不生成对象", + ) + ) + for section in ("I2C", "PWM"): + if section in peripherals and not peripherals[section]: + del peripherals[section] + + def _save_to_yaml(data: dict, output_path: str) -> bool: """把工程数据写成 YAML,首行为 Pinmux Tool 工程的生成文件说明;成功时为 True。 Write the project data as YAML with a generated-file notice for a Pinmux Tool project on diff --git a/src/libxr/pin_layout.py b/src/libxr/pin_layout.py index 9f57083..bfea583 100644 --- a/src/libxr/pin_layout.py +++ b/src/libxr/pin_layout.py @@ -314,9 +314,18 @@ def hpm_soc_has_pwm(model: str) -> bool: none): on a SoC with them a GPTMR is display-only, and only a SoC without them generates the HPMPWM fallback objects. """ - soc = load_data("hpm")["socs"].get(model) + socs = load_data("hpm")["socs"] + soc = socs.get(model) if soc is None: - return False + # 不认识的 SoC 不能当作"没有 PWM":那样会给有 PWM 外设的芯片生成 GPTMR 的对象。 + # An unknown SoC must not count as "no PWM": that would generate GPTMR objects for a + # chip that has a PWM peripheral. + raise ValueError( + tr( + f"Unknown HPM SoC: {model}; this data has {', '.join(socs)}", + f"未知的 HPM SoC:{model};数据里有 {'、'.join(socs)}", + ) + ) for package in soc["packages"].values(): for _position, _name, _kind, _x, signals in package: for signal, _mode in signals: @@ -346,6 +355,8 @@ def natural_key(name: str) -> list: "HRTIM": r"CH[A-F]\d", "TIMA": r"CCP\d+(_CMPL)?", "TIMG": r"CCP\d+(_CMPL)?", + "GPTMR": r"COMP_\d+", + "PWM": r"P_\d+", } @@ -359,11 +370,15 @@ def gpio_port_and_line(pin_name: str) -> tuple[str, str] | None: def pin_has_gpio(pin: Pin) -> bool: - """引脚能当普通 GPIO:ST 的信号里有 GPIO;TI 的信号里有引脚自己的名字(PA0)。 + """引脚能当普通 GPIO:ST 的信号里有 GPIO;TI 的信号里有引脚自己的名字(PA0);HPM 的信号里 + 有它的 GPIO 复用(PA10 的 GPIO_A_10)。 Whether the pin can be a plain GPIO: ST lists GPIO among the signals, TI lists the name of - the pin itself (PA0). + the pin itself (PA0), and HPM lists its GPIO mux (GPIO_A_10 for PA10). """ - return "GPIO" in pin.signals or pin.name in pin.signals + if "GPIO" in pin.signals or pin.name in pin.signals: + return True + port_line = gpio_port_and_line(pin.name) + return port_line is not None and f"GPIO_{port_line[0]}_{port_line[1]}" in pin.signals def peripheral_index(layout: PinLayout) -> dict: @@ -396,7 +411,9 @@ def add(instance: str, kind: str, function: str, pin: Pin) -> None: add(*recognized, pin) port_line = gpio_port_and_line(pin.name) if port_line is not None and pin_has_gpio(pin): - port, line = port_line + # 线号去掉前导零:HPM 的 PA03 与 STM32 的 PA3 一样是 P3。 + # The line drops its leading zeros: the PA03 of an HPM is P3, like the PA3 of an STM32. + port, line = port_line[0], int(port_line[1]) add(f"GPIO{port}", "GPIO", f"P{line}", pin) if any(mode.startswith("EXTI") for mode in pin.extra.get("gpio_modes", [])): add("EXTI", "EXTI", f"LINE{line}", pin) diff --git a/src/libxr/pin_project.py b/src/libxr/pin_project.py index eb9c530..b7a979c 100644 --- a/src/libxr/pin_project.py +++ b/src/libxr/pin_project.py @@ -470,36 +470,186 @@ def hpm_canonical(signal: str) -> str: return "_".join(parts).replace("[", "_").replace("]", "") -HPM_DIRECTIVE = re.compile(r"^\s*#\s*(if|ifdef|ifndef|elif|else|endif)\b") -HPM_CALL = re.compile(r"^\s*(\w+)\(\);\s*$") +HPM_DIRECTIVE = re.compile(r"^[ \t]*#[ \t]*(if|ifdef|ifndef|elif|else|endif)\b") +HPM_CALL = re.compile(r"\b(\w+)\s*\(\s*(?:void\s*)?\)\s*;") +HPM_MAIN = re.compile(r"\bmain\s*\([^)]*\)\s*\{") +# C 源码里的注释和字面量:块注释、行注释、字符串和字符常量(带转义)。 +# The comments and literals of C source: block comments, line comments, string and character +# constants (with escapes). +C_COMMENT_OR_LITERAL = re.compile( + r"/\*.*?\*/|//[^\n]*|\"(?:\\.|[^\"\\\n])*\"|'(?:\\.|[^'\\\n])*'", re.S +) + + +@dataclass +class HpmFunction: + """.hpmpc 的一个 pinmux 函数:选中的引脚(pad -> 信号和 pad 设置)和 gpiom 写下的 GPIO 设置。 + One pinmux function of a .hpmpc: the selected pins (pad -> signal and pad settings) and the + GPIO settings the gpiom manager wrote. + """ + + pins: dict[str, dict] + gpiom: dict[str, dict] + + +@dataclass +class HpmProject: + """一个 .hpmpc:SoC(大写,没有给出时为 None)、封装和各 pinmux 函数,按文件中的顺序。 + One .hpmpc: the SoC (upper case, None when not given), the package and the pinmux functions, + in file order. + """ + + path: Path + soc: str | None + package: str | None + functions: dict[str, HpmFunction] -def hpm_called_functions(main_c: Path, functions: dict) -> list[str]: - """main.c 在预处理条件外调用的 pinmux 函数,按调用顺序;main.c 不存在时为空。条件编译里的 - 调用不算(rmcs 的 JTAG 共用引脚在 #if 里,O2 的决定)。 - The pinmux functions main.c calls outside preprocessor conditions, in call order; empty - when main.c does not exist. A call inside a conditional does not count (rmcs' JTAG shared - pins sit in an #if, the decision of O2). +def _mapping(value, what: str, path: Path) -> dict: + """value 本身(映射),null 为空映射;其他值抛出说明 what 的 ValueError。 + value itself when it is a mapping, an empty mapping for null; any other value raises a + ValueError that names what. + """ + if value is None: + return {} + if not isinstance(value, dict): + raise ValueError( + tr( + f"{path}: {what} is not a mapping; export the project again from the HPM Pinmux " + "Tool", + f"{path}:{what} 不是映射;请从 HPM Pinmux Tool 重新导出工程", + ) + ) + return value + + +def read_hpmpc(path: Path) -> HpmProject: + """读一个 .hpmpc(允许 UTF-8 BOM)。info 和 pinmux 缺失或类型不对时抛出 ValueError;值为 + null 的 managers、gpiom 和 selectPins 当作空。SoC 名换成大写。 + Read a .hpmpc (a UTF-8 BOM is allowed). A missing or mistyped info or pinmux raises + ValueError; a null managers, gpiom or selectPins counts as empty. The SoC name is put in + upper case. + """ + try: + document = json.loads(path.read_text(encoding="utf-8-sig")) + except (OSError, UnicodeDecodeError, json.JSONDecodeError) as error: + raise ValueError( + tr(f"{path}: not a readable .hpmpc: {error}", f"{path}:无法读取的 .hpmpc:{error}") + ) from error + content = _mapping(_mapping(document, "the file", path).get("content"), "content", path) + if "info" not in content or "pinmux" not in content: + raise ValueError( + tr( + f"{path}: no info or pinmux in content; export the project again from the HPM " + "Pinmux Tool", + f"{path}:content 中没有 info 或 pinmux;请从 HPM Pinmux Tool 重新导出工程", + ) + ) + info = _mapping(content["info"], "content.info", path) + soc = info.get("socName") + soc = soc.strip().upper() if isinstance(soc, str) and soc.strip() else None + package = info.get("packageName") + raw = _mapping( + _mapping(content["pinmux"], "content.pinmux", path).get("functions"), + "content.pinmux.functions", + path, + ) + functions: dict[str, HpmFunction] = {} + for name, function in raw.items(): + where = f"content.pinmux.functions.{name}" + function = _mapping(function, where, path) + pins = {} + for pad, selection in _mapping( + function.get("selectPins"), f"{where}.selectPins", path + ).items(): + selection = _mapping(selection, f"{where}.selectPins.{pad}", path) + signal = selection.get("signal") + if not isinstance(signal, str) or not signal: + continue + pins[str(pad)] = { + "signal": signal, + "padCtls": _mapping( + selection.get("padCtls"), f"{where}.selectPins.{pad}.padCtls", path + ), + } + managers = _mapping(function.get("managers"), f"{where}.managers", path) + gpiom = { + str(pad): _mapping(value, f"{where}.managers.gpiom.{pad}", path) + for pad, value in _mapping( + managers.get("gpiom"), f"{where}.managers.gpiom", path + ).items() + } + functions[str(name)] = HpmFunction(pins, gpiom) + return HpmProject(path, soc, package if isinstance(package, str) else None, functions) + + +def _blank(match: re.Match) -> str: + """注释或字面量换成同样多的空白,换行保留,使行号和预处理指令的位置不变。 + A comment or literal replaced by as much white space, the newlines kept, so the lines and + the places of the preprocessor directives stay. + """ + return re.sub(r"[^\n]", " ", match.group(0)) + + +def hpm_main_calls(main_c: Path, functions) -> tuple[list[str], list[str]]: + """main.c 的 main 函数体里调用的 pinmux 函数(functions 中的名字),按调用顺序:预处理 + 条件外的和条件里的(O2:后者不算,例如 rmcs 的 JTAG 共用引脚)。注释和字符串里的不算, + 辅助函数里的不算;main.c 不存在或没有 main 时都为空。 + The pinmux functions (names in functions) that the body of main in main.c calls, in call + order: those outside preprocessor conditions and those inside one (O2: the latter do not + count, such as the rmcs JTAG shared pins). Calls in comments and strings or in a helper + function do not count; both are empty when main.c or its main does not exist. """ if not main_c.is_file(): - return [] + return [], [] + text = C_COMMENT_OR_LITERAL.sub(_blank, main_c.read_text(encoding="utf-8", errors="replace")) + start = HPM_MAIN.search(text) + if start is None: + return [], [] + # main 的函数体:从它的 { 数到配对的 }。 + # The body of main: from its { to the matching }. + depth, end = 0, len(text) + for index in range(start.end() - 1, len(text)): + if text[index] == "{": + depth += 1 + elif text[index] == "}": + depth -= 1 + if depth == 0: + end = index + break called: list[str] = [] - depth = 0 - for line in main_c.read_text(encoding="utf-8", errors="replace").splitlines(): + conditional: list[str] = [] + condition = 0 + offset = 0 + for line in text.splitlines(keepends=True): + line_start, offset = offset, offset + len(line) directive = HPM_DIRECTIVE.match(line) if directive: if directive.group(1) in ("if", "ifdef", "ifndef"): - depth += 1 + condition += 1 elif directive.group(1) == "endif": - depth = max(0, depth - 1) + condition = max(0, condition - 1) continue - call = HPM_CALL.match(line) - if call and depth == 0 and call.group(1) in functions and call.group(1) not in called: - called.append(call.group(1)) - return called + for call in HPM_CALL.finditer(line): + position = line_start + call.start() + name = call.group(1) + if not start.end() <= position < end or name not in functions: + continue + target = conditional if condition else called + if name not in target: + target.append(name) + return called, [name for name in conditional if name not in called] + +def hpm_called_functions(main_c: Path, functions) -> list[str]: + """main.c 的 main 在预处理条件外调用的 pinmux 函数,按调用顺序(见 hpm_main_calls)。 + The pinmux functions that main in main.c calls outside preprocessor conditions, in call + order (see hpm_main_calls). + """ + return hpm_main_calls(main_c, functions)[0] -def hpm_active_functions(main_c: Path, functions: dict) -> list[str]: + +def hpm_active_functions(main_c: Path, functions) -> list[str]: """main.c 在预处理条件外调用的、.hpmpc 里存在的 pinmux 函数;main.c 不存在或没有调用 时退回 init_bsp_pins。 The pinmux functions of the .hpmpc that the root main.c calls outside preprocessor @@ -511,6 +661,37 @@ def hpm_active_functions(main_c: Path, functions: dict) -> list[str]: return ["init_bsp_pins"] if "init_bsp_pins" in functions else [] +def hpm_selections( + project: HpmProject, active: list[str] +) -> tuple[list[dict], list[tuple[str, str, str, str, str]]]: + """活动函数选中的引脚,按选择顺序:[{pad, signal, padCtls, gpiom, function}];同一 pad 被 + 后一个函数再次选中时替换前面的记录,并记进冲突 (pad, 前一个函数, 信号, 后一个函数, 信号)。 + The pins the active functions select, in selection order: [{pad, signal, padCtls, gpiom, + function}]; a pad selected again by a later function replaces the earlier record and is + recorded as a conflict (pad, earlier function, signal, later function, signal). + """ + selections: dict[str, dict] = {} + conflicts = [] + for name in active: + function = project.functions[name] + for pad, selection in function.pins.items(): + previous = selections.get(pad) + if previous is not None and previous["function"] != name: + conflicts.append( + (pad, previous["function"], previous["signal"], name, selection["signal"]) + ) + # 后一个为准,记录留在原来的位置。 + # The later one wins, and the record keeps its place. + selections[pad] = { + "pad": pad, + "signal": selection["signal"], + "padCtls": selection["padCtls"], + "gpiom": function.gpiom.get(pad, {}), + "function": name, + } + return list(selections.values()), conflicts + + def hpm_assignments(hpmpc: Path, main_c: Path, layout: PinLayout) -> dict[str, dict]: """.hpmpc 里 main.c 调用的 pinmux 函数的已选信号:引脚名 -> 信号及其识别结果。 The selected signals of the pinmux functions of the .hpmpc that the root main.c calls: pin name -> @@ -522,49 +703,55 @@ def hpm_assignments(hpmpc: Path, main_c: Path, layout: PinLayout) -> dict[str, d as the macro name of hpm_iomux.h (UART0_TXD); a GPIO one (GPIO.A.A[10]) counts as the plain use like MSPM0. The .hpmpc carries no names, so there is no label. """ - functions = json.loads(hpmpc.read_text(encoding="utf-8"))["content"]["pinmux"]["functions"] + project = read_hpmpc(hpmpc) by_name = {pin.name: pin for pin in layout.pins} assigned: dict[str, dict] = {} - owners: dict[str, tuple[str, str]] = {} - for function in hpm_active_functions(main_c, functions): - for pad, selection in functions[function].get("selectPins", {}).items(): - if pad in owners and owners[pad][0] != function: - logging.warning( - tr( - f"{hpmpc}: {pad} is selected by both {owners[pad][0]} " - f"({owners[pad][1]}) and {function} ({selection.get('signal')}); " - "the later one wins", - f"{hpmpc}:{pad} 同时被 {owners[pad][0]}({owners[pad][1]})和 " - f"{function}({selection.get('signal')})选中;以后一个为准", - ) - ) - owners[pad] = (function, selection.get("signal") or "") - pin = by_name.get(pad) - if pin is None or not selection.get("signal"): - continue - canonical = hpm_canonical(selection["signal"]) - if canonical.startswith("GPIO_"): - port_line = pin_layout.gpio_port_and_line(pin.name) - assigned[pin.name] = { - "signal": canonical, - "peripheral": f"GPIO{port_line[0]}" if port_line else "GPIO", - "kind": "GPIO", - "function": f"P{port_line[1]}" if port_line else "GPIO", - "matched": canonical in pin.signals, - } - continue - recognized = pin_layout.recognize_hpm(canonical) - instance, kind, pin_function = recognized or (canonical, "", "") + selections, conflicts = hpm_selections(project, hpm_active_functions(main_c, project.functions)) + for pad, first, first_signal, second, second_signal in conflicts: + logging.warning( + hpm_conflict_message(hpmpc, pad, first, first_signal, second, second_signal) + ) + for selection in selections: + pin = by_name.get(selection["pad"]) + if pin is None: + continue + canonical = hpm_canonical(selection["signal"]) + if canonical.startswith("GPIO_"): + port_line = pin_layout.gpio_port_and_line(pin.name) assigned[pin.name] = { "signal": canonical, - "peripheral": instance, - "kind": kind, - "function": pin_function, + "peripheral": f"GPIO{port_line[0]}" if port_line else "GPIO", + "kind": "GPIO", + "function": f"P{int(port_line[1])}" if port_line else "GPIO", "matched": canonical in pin.signals, } + continue + recognized = pin_layout.recognize_hpm(canonical) + instance, kind, pin_function = recognized or (canonical, "", "") + assigned[pin.name] = { + "signal": canonical, + "peripheral": instance, + "kind": kind, + "function": pin_function, + "matched": canonical in pin.signals, + } return assigned +def hpm_conflict_message( + hpmpc: Path, pad: str, first: str, first_signal: str, second: str, second_signal: str +) -> str: + """两个活动函数选中同一个 pad 的警告。 + The warning about two active functions selecting the same pad. + """ + return tr( + f"{hpmpc}: {pad} is selected by both {first} ({first_signal}) and {second} " + f"({second_signal}); the later one wins", + f"{hpmpc}:{pad} 同时被 {first}({first_signal})和 {second}({second_signal})选中;" + "以后一个为准", + ) + + def config_entries( platform: str, instance: str, @@ -572,6 +759,7 @@ def config_entries( functions: dict, settings: dict, sysconfig: dict | None, + model: str | None = None, ) -> list[dict]: """一个已选外设在 libxr_config.yaml 中的设置条目;libxr gen 不生成它的设置时为空。 The config entries of a selected peripheral in libxr_config.yaml; empty when libxr gen does @@ -618,7 +806,9 @@ def channels(pattern: str) -> list[int]: if platform == "hpm": if kind == "I2C": return [keyed("I2C", instance.lower())] - if kind == "GPTMR": + # GPTMR 的 PWM 只在 SoC 没有 PWM 外设时生成(与解析一致)。 + # A PWM on a GPTMR is generated only when the SoC has no PWM peripheral, as parsed. + if kind == "GPTMR" and not (model and pin_layout.hpm_soc_has_pwm(model)): return [keyed("PWM", f"pwm_{instance.lower()}_ch{n}") for n in channels(r"COMP_(\d+)")] if kind == "GPIO": values = settings.get("GPIO") if isinstance(settings.get("GPIO"), dict) else {} @@ -670,6 +860,7 @@ def project_overlay( used["pins"], settings, used.get("sysconfig"), + layout.model, ) if entries: used["config"] = entries @@ -721,16 +912,15 @@ def layout_with_project( # An HPM project: the SoC and the package are in the info of the .hpmpc, and the selected # signals come from the pinmux functions main.c calls without a condition (O2: a call # inside a conditional does not count). - info = json.loads(hpmpcs[0].read_text(encoding="utf-8"))["content"]["info"] - soc = model or info.get("socName") - if soc is None: + project = read_hpmpc(hpmpcs[0]) + if not (model or project.soc): raise ValueError( tr( f"{hpmpcs[0]} does not name a SoC; give the model", f"{hpmpcs[0]} 没有给出 SoC;请给出型号", ) ) - layout = pin_layout.layout_pins(soc, package or info.get("packageName")) + layout = pin_layout.layout_pins(model or project.soc, package or project.package) assigned = hpm_assignments(hpmpcs[0], root / "main.c", layout) source = hpmpcs[0].relative_to(root).as_posix() # sysconfig_file 对 HPM 是 .hpmpc 本身:外设配置就住在里面。 diff --git a/tests/test_generator_code_hpm.py b/tests/test_generator_code_hpm.py index 4cea56c..82076bc 100644 --- a/tests/test_generator_code_hpm.py +++ b/tests/test_generator_code_hpm.py @@ -250,7 +250,7 @@ class Notices(TestCase): "selectPins": {"PA10": {"signal": "GPIO.A.A[10]", "padCtls": {}}} }, "init_bsp_more_pins": { - "selectPins": {"PA10": {"signal": "UART0.A.TXD", "padCtls": {}}} + "selectPins": {"PA10": {"signal": "SPI3.A.CS[0]", "padCtls": {}}} }, } }, @@ -291,14 +291,14 @@ def test_two_active_functions_on_one_pad_are_reported(self): self.assertTrue( logs.output[0].endswith( ": PA10 is selected by both init_bsp_pins (GPIO.A.A[10]) and " - "init_bsp_more_pins (UART0.A.TXD); the later one wins" + "init_bsp_more_pins (SPI3.A.CS[0]); the later one wins" ) ) self.assertEqual(data["MainFunctions"], ["init_bsp_pins", "init_bsp_more_pins"]) - # 后一个的信号生效:PA10 归 UART0,不再是 GPIO。 - # The later signal wins: PA10 belongs to the UART0 now, not to the GPIO. + # 后一个的信号生效:PA10 归 SPI3,不再是 GPIO。 + # The later signal wins: PA10 belongs to the SPI3 now, not to the GPIO. self.assertNotIn("pa10", data["GPIO"]) - self.assertEqual(data["Peripherals"]["Other"]["UART0"]["Pins"]["TXD"], "PA10") + self.assertEqual(data["Peripherals"]["Other"]["SPI3"]["Pins"]["CS_0"], "PA10") def test_a_main_c_that_calls_no_pinmux_function_is_a_warning(self): main_c = textwrap.dedent( @@ -343,5 +343,257 @@ def test_without_init_bsp_pins_no_pin_is_read(self): self.assertEqual(data["GPIO"], {}) +def synthetic_project( + selections: dict, + soc: str = "HPM5301", + gpiom: dict | None = None, + main_c: str = "int main(void)\n{\n init_bsp_pins();\n}\n", +) -> Path: + """一个合成的 HPM 工程:init_bsp_pins 选中 selections(pad -> 工具的信号名),main 调用它。 + 返回工程目录。 + A synthetic HPM project: init_bsp_pins selects selections (pad -> the tool's signal name) + and main calls it. The project directory is returned. + """ + root = Path(tempfile.mkdtemp(prefix="libxr-hpm-review-")) + (root / "app.yaml").write_text("dependency: []\n", encoding="utf-8") + board = root / "boards" / "board" + board.mkdir(parents=True) + function = { + "selectPins": { + pad: {"signal": signal, "padCtls": {}} for pad, signal in selections.items() + }, + "managers": {"gpiom": gpiom or {}}, + } + hpmpc = { + "content": { + "info": {"socName": soc, "packageName": "QFN48"}, + "pinmux": {"functions": {"init_bsp_pins": function}}, + } + } + (board / "tool_config.hpmpc").write_text(json.dumps(hpmpc), encoding="utf-8") + (root / "main.c").write_text(main_c, encoding="utf-8") + return root + + +class ParseChecks(TestCase): + """解析的核对:SoC、焊盘和信号按引脚数据核对,生成前的外设一致性检查。 + The checks of the parse: the SoC, the pads and the signals against the pin data, and the + consistency of the peripherals before generation. + """ + + def parse(self, root: Path) -> dict: + """解析 root 并返回工程 YAML;测试结束时删除 root。 + Parse root and return the project YAML; root is removed at the end of the test. + """ + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + parse_project(str(root), summary=False) + return yaml.safe_load((root / ".config.yaml").read_text(encoding="utf-8")) + + def test_an_unknown_soc_is_an_error(self): + root = synthetic_project({"PA10": "GPIO.A.A[10]"}, soc="HPM9999") + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + with self.assertLogs(level="ERROR") as logs, self.assertRaises(SystemExit): + parse_project(str(root), summary=False) + self.assertIn("Unknown HPM SoC: HPM9999", logs.output[0]) + + def test_a_lower_case_soc_is_the_same_soc(self): + data = self.parse(synthetic_project({"PA10": "GPIO.A.A[10]"}, soc="hpm5301")) + self.assertEqual(data["Mcu"]["Type"], "HPM5301") + + def test_a_pad_off_the_package_and_a_signal_the_pad_cannot_carry_are_warned_about(self): + with self.assertLogs(level="WARNING") as logs: + data = self.parse(synthetic_project({"PA12": "GPIO.A.A[12]", "PA10": "UART0.A.TXD"})) + self.assertTrue( + any("PA12 (GPIO.A.A[12]) is not a pin of HPM5301 QFN48" in line for line in logs.output) + ) + self.assertTrue(any("PA10 cannot carry UART0_TXD" in line for line in logs.output)) + self.assertNotIn("pa12", data["GPIO"]) + + def test_an_i2c_without_sda_generates_nothing(self): + with self.assertLogs(level="WARNING") as logs: + data = self.parse(synthetic_project({"PB13": "I2C3.C.SCL"})) + self.assertNotIn("I2C", data["Peripherals"]) + self.assertEqual(data["Peripherals"]["Other"]["I2C3"]["Pins"], {"SCL": "PB13"}) + self.assertTrue(any("I2C3 has no SDA pin" in line for line in logs.output)) + + def test_a_gptmr_with_capture_only_is_no_pwm(self): + data = self.parse(synthetic_project({"PB09": "GPTMR0.B.CAPT[1]"})) + self.assertNotIn("PWM", data["Peripherals"]) + self.assertEqual(data["Peripherals"]["Other"]["GPTMR0"]["Pins"], {"CAPT_1": "PB09"}) + + def test_a_gptmr_with_capture_and_compare_warns_about_the_capture(self): + with self.assertLogs(level="WARNING") as logs: + data = self.parse( + synthetic_project({"PB08": "GPTMR0.B.COMP[1]", "PB09": "GPTMR0.B.CAPT[1]"}) + ) + self.assertEqual( + data["Peripherals"]["PWM"]["GPTMR0"]["Channels"], [{"Index": 1, "Pad": "PB08"}] + ) + self.assertTrue(any("GPTMR0 also selects CAPT_1" in line for line in logs.output)) + + def test_a_pin_of_another_gpio_controller_gets_no_object(self): + with self.assertLogs(level="WARNING") as logs: + data = self.parse( + synthetic_project( + {"PA10": "GPIO.A.A[10]", "PA03": "GPIO.A.A[03]"}, + gpiom={"PA10": {"direction": "1", "gpioController": "2"}}, + ) + ) + self.assertEqual(list(data["GPIO"]), ["pa3"]) + self.assertTrue( + any("PA10 is assigned to GPIO controller 2" in line for line in logs.output) + ) + + def test_a_pinmux_function_main_does_not_call_is_warned_about(self): + root = synthetic_project({"PA10": "GPIO.A.A[10]"}) + hpmpc = root / "boards" / "board" / "tool_config.hpmpc" + document = json.loads(hpmpc.read_text(encoding="utf-8")) + document["content"]["pinmux"]["functions"]["init_unused_pins"] = { + "selectPins": {"PA03": {"signal": "GPIO.A.A[03]", "padCtls": {}}} + } + hpmpc.write_text(json.dumps(document), encoding="utf-8") + with self.assertLogs(level="WARNING") as logs: + data = self.parse(root) + self.assertEqual(list(data["GPIO"]), ["pa10"]) + self.assertTrue( + any("init_unused_pins() is not called by main" in line for line in logs.output) + ) + + +class GenerationChecks(TestCase): + """生成的核对:设置的类型、名字和大小写,改名表和终端设置的写法。 + The checks of generation: the type, names and case of the settings, and how the rename + table and the terminal settings are written. + """ + + def setUp(self): + super().setUp() + generator.initialize_registry() + generator.reset_settings() + + def generate(self, config: str | None = None, root: Path | None = None) -> tuple[Path, str]: + """解析 hpm5301evklite 的临时工程(或 root),按 config(libxr_config.yaml 的内容)生成。 + 返回工程目录和生成的 app_main。 + Parse the temporary project of hpm5301evklite (or root) and generate with config (the + content of libxr_config.yaml). The project directory and the generated app_main are + returned. + """ + if root is None: + root = project_of("hpm5301evklite") + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + parse_project(str(root), summary=False) + output = root / "User" / "app_main.cpp" + output.parent.mkdir(exist_ok=True) + if config is not None: + (root / "User" / "libxr_config.yaml").write_text(config, encoding="utf-8") + generator.generate(str(root / ".config.yaml"), str(output), True, "") + return root, output.read_text(encoding="utf-8") + + def settings(self, root: Path) -> dict: + """写出的 libxr_config.yaml。 + The libxr_config.yaml that was written. + """ + return yaml.safe_load((root / "User" / "libxr_config.yaml").read_text(encoding="utf-8")) + + def assertGenerationFails(self, config: str, *messages: str): + """按 config 生成时报错退出,错误信息含 messages。 + Generation with config logs an error that holds messages and exits. + """ + with self.assertLogs(level="ERROR") as logs, self.assertRaises(SystemExit): + self.generate(config) + for message in messages: + self.assertIn(message, "\n".join(logs.output)) + + def test_the_rename_table_lists_every_pin_and_no_terminal_is_written(self): + root, _code = self.generate() + settings = self.settings(root) + self.assertEqual(settings["GPIO"], {"pa10": None, "pa3": None}) + self.assertNotIn("Terminal", settings) + self.assertNotIn("terminal_source", settings) + + def test_a_stale_null_rename_goes_and_a_stale_name_stays(self): + root, _code = self.generate("GPIO:\n pa10: LED\n pb1:\n pb2: OLD\n") + self.assertEqual(self.settings(root)["GPIO"], {"pa10": "LED", "pb2": "OLD", "pa3": None}) + + def test_a_written_terminal_source_is_kept_and_warned_about(self): + with self.assertLogs(level="WARNING") as logs: + root, _code = self.generate("terminal_source: uart0\n") + self.assertEqual(self.settings(root)["terminal_source"], "uart0") + self.assertTrue( + any("terminal_source 'uart0' has no effect" in line for line in logs.output) + ) + + def test_unusable_gpio_names_are_listed_together(self): + self.assertGenerationFails( + "GPIO:\n pa10: int\n pa3: HPM_GPIO0\n", + "GPIO.pa10 'int': a C++ keyword", + "GPIO.pa3 'HPM_GPIO0': a name of the HPM SDK or of the generated code", + ) + for name, problem in ( + ("timebase", "a name of the HPM SDK or of the generated code"), + ("i2c3", "already the name of a I2C object"), + ("__led", "a reserved C++ identifier"), + ("1led", "not a valid C++ identifier"), + ): + with self.subTest(name=name): + generator.initialize_registry() + generator.reset_settings() + self.assertGenerationFails(f"GPIO:\n pa10: '{name}'\n", problem) + + def test_a_gpio_rename_must_be_a_name(self): + self.assertGenerationFails("GPIO:\n pa10: 5\n", "GPIO.pa10 5 is not a name") + + def test_a_pwm_frequency_must_be_a_positive_integer(self): + for value in ("0", "-5", "abc", "1.5", "true"): + with self.subTest(value=value): + generator.initialize_registry() + generator.reset_settings() + self.assertGenerationFails( + f"PWM:\n pwm_gptmr0_ch1:\n frequency: {value}\n", + "PWM.pwm_gptmr0_ch1.frequency", + "is not a positive integer", + ) + + def test_the_key_of_a_setting_is_found_in_any_case(self): + # 文件写 I2C3、PWM_GPTMR0_CH1、PA10:生成与 libxr pins 一样读到这些段,不另写一份小写的。 + # The file writes I2C3, PWM_GPTMR0_CH1 and PA10: generation reads these entries as libxr + # pins does, and writes no second, lower-case copy. + root, code = self.generate( + "I2C:\n I2C3:\n speed: 400000\n" + "PWM:\n PWM_GPTMR0_CH1:\n frequency: 1000\n" + "GPIO:\n PA10: LED\n" + ) + self.assertIn("static HPMI2C i2c3(HPM_I2C3, clock_i2c3, {400000U});", code) + self.assertIn("pwm_gptmr0_ch1.SetConfig({1000});", code) + self.assertIn("static HPMGPIO LED(", code) + settings = self.settings(root) + self.assertEqual(list(settings["I2C"]), ["I2C3"]) + self.assertEqual(list(settings["PWM"]), ["PWM_GPTMR0_CH1"]) + self.assertEqual(settings["GPIO"], {"PA10": "LED", "pa3": None}) + + def test_an_unknown_soc_in_the_project_yaml_is_an_error(self): + root = project_of("hpm5301evklite") + self.addCleanup(shutil.rmtree, root, ignore_errors=True) + parse_project(str(root), summary=False) + config = root / ".config.yaml" + config.write_text( + config.read_text(encoding="utf-8").replace("Type: HPM5301", "Type: HPM9999"), + encoding="utf-8", + ) + (root / "User").mkdir() + with self.assertLogs(level="ERROR") as logs, self.assertRaises(SystemExit): + generator.generate(str(config), str(root / "User" / "app_main.cpp"), True, "") + self.assertIn("Unknown HPM SoC: HPM9999", logs.output[0]) + + def test_the_notice_says_when_main_calls_no_pinmux_function(self): + root = synthetic_project( + {"PA10": "GPIO.A.A[10]"}, main_c="int main(void)\n{\n board_init();\n}\n" + ) + with self.assertLogs(level="WARNING"): + _root, code = self.generate(root=root) + notice = " ".join(line.removeprefix("//").strip() for line in code.splitlines()[:6]) + self.assertIn("defines the pins in init_bsp_pins(), which main.c does not call", notice) + + if __name__ == "__main__": unittest.main() diff --git a/tests/test_pin_layout.py b/tests/test_pin_layout.py index 7517267..2750970 100644 --- a/tests/test_pin_layout.py +++ b/tests/test_pin_layout.py @@ -103,6 +103,50 @@ def test_an_unknown_soc_or_package_is_an_error(self): str(caught.exception).startswith("HPM5301 has no package BGA"), str(caught.exception) ) + def test_the_packages_are_the_ordering_part_numbers(self): + # 数据手册的订购型号:HPM5301 只有 IEG1(QFN48),所以不用给封装;LQFP80 是引脚表里的一 + # 列,但没有哪个型号用它。 + # The ordering part numbers of the datasheet: HPM5301 ships as IEG1 (QFN48) only, so + # no package needs to be given; LQFP80 is a column of the pin table that no part uses. + self.assertEqual(layout_pins("HPM5301").package, "QFN48") + socs = pin_layout.load_data("hpm")["socs"] + self.assertEqual(sorted(socs["HPM5361"]["packages"]), ["LQFP100", "LQFP64", "QFN48"]) + for soc in socs.values(): + self.assertNotIn("LQFP80", soc["packages"]) + + def test_the_analog_functions_follow_the_peripherals_of_the_soc(self): + # HPM5301 只有 ADC0,没有 DAC 和运放(hpm_soc_ip.h);HPM5361 都有。 + # A HPM5301 has ADC0 only and no DAC or op-amp (hpm_soc_ip.h); a HPM5361 has them all. + pb08 = { + soc: next(p for p in layout_pins(soc, "QFN48").pins if p.name == "PB08") + for soc in ("HPM5301", "HPM5361") + } + for signal in ("ADC1_IN11", "DAC0_OUT", "OPA0_INP2"): + self.assertNotIn(signal, pb08["HPM5301"].signals) + self.assertIn(signal, pb08["HPM5361"].signals) + + def test_an_unknown_soc_has_no_answer_about_pwm(self): + # 不认识的 SoC 不能当作没有 PWM 外设,否则会给 HPM5361 这样的芯片生成 GPTMR 的 PWM。 + # An unknown SoC must not count as having no PWM peripheral; that would generate GPTMR + # PWM objects for a chip like the HPM5361. + self.assertFalse(pin_layout.hpm_soc_has_pwm("HPM5301")) + self.assertTrue(pin_layout.hpm_soc_has_pwm("HPM5361")) + with self.assertRaises(ValueError): + pin_layout.hpm_soc_has_pwm("hpm5361") + + def test_the_index_has_the_gpio_ports_and_the_pwm_capable_timers(self): + index = layout_to_dict(layout_pins("HPM5301"))["peripherals"] + self.assertEqual(index["GPIOA"]["kind"], "GPIO") + self.assertEqual(index["GPIOA"]["signals"]["P10"], ["PA10"]) + # 线号去掉前导零:PA03 是 P3。 + # The line drops its leading zero: PA03 is P3. + self.assertEqual(index["GPIOA"]["signals"]["P3"], ["PA03"]) + self.assertEqual(index["GPTMR0"]["capabilities"], ["pwm"]) + self.assertEqual( + layout_to_dict(layout_pins("HPM5361", "QFN48"))["peripherals"]["PWM0"]["capabilities"], + ["pwm"], + ) + class Mspm0Models(TestCase): """MSPM0 型号按器件族和封装代码解析,每个引脚带 PINCM 和各信号的模式号。 diff --git a/tests/test_pin_project.py b/tests/test_pin_project.py index 09038c3..d637011 100644 --- a/tests/test_pin_project.py +++ b/tests/test_pin_project.py @@ -629,6 +629,77 @@ def test_two_functions_on_one_pad_are_reported(self): ) self.assertEqual(info["project"]["assignments"]["PA00"]["signal"], "UART0_TXD") + def test_a_gptmr_on_a_soc_with_a_pwm_peripheral_has_no_pwm_entry(self): + # 与解析一致:HPM5361 有 PWM 外设,GPTMR 只作展示,libxr_config 里没有它的 PWM 条目。 + # As parsed: a HPM5361 has a PWM peripheral, so a GPTMR is display-only and has no PWM + # entry in libxr_config. + hpmpc = json.loads(self.HPMPC) + hpmpc["content"]["info"]["socName"] = "HPM5361" + hpmpc["content"]["pinmux"]["functions"]["init_bsp_pins"]["selectPins"]["PB08"] = { + "signal": "GPTMR0.B.COMP[1]", + "padCtls": {}, + } + files = self.project_files() + files["boards/board/tool_config.hpmpc"] = json.dumps(hpmpc) + peripherals = self.project(files)["project"]["peripherals"] + self.assertEqual(peripherals["GPTMR0"]["pins"], {"COMP_1": "PB08"}) + self.assertNotIn("config", peripherals["GPTMR0"]) + + def test_a_lower_case_soc_and_a_byte_order_mark_are_read(self): + hpmpc = json.loads(self.HPMPC) + hpmpc["content"]["info"]["socName"] = "hpm5301" + files = self.project_files() + files["boards/board/tool_config.hpmpc"] = "" + json.dumps(hpmpc) + self.assertEqual(self.project(files)["part"], "HPM5301") + + def test_a_malformed_hpmpc_is_a_formatted_error(self): + cases = { + "no pinmux": {"content": {"info": {"socName": "HPM5301"}}}, + "a string selection": { + "content": { + "info": {"socName": "HPM5301"}, + "pinmux": {"functions": {"init_bsp_pins": {"selectPins": {"PA00": "x"}}}}, + } + }, + } + for name, document in cases.items(): + with self.subTest(name), tempfile.TemporaryDirectory() as directory: + path = write(Path(directory), "a.hpmpc", json.dumps(document)) + with self.assertRaises(ValueError) as caught: + pin_project.read_hpmpc(path) + self.assertIn( + "export the project again from the HPM Pinmux Tool", str(caught.exception) + ) + with tempfile.TemporaryDirectory() as directory: + path = write(Path(directory), "a.hpmpc", "{not json") + with self.assertRaises(ValueError): + pin_project.read_hpmpc(path) + + def test_null_managers_and_selections_count_as_empty(self): + document = { + "content": { + "info": {"socName": "HPM5301"}, + "pinmux": { + "functions": { + "init_bsp_pins": {"selectPins": None, "managers": None}, + "init_more_pins": { + "selectPins": {"PA10": {"signal": "GPIO.A.A[10]", "padCtls": None}}, + "managers": {"gpiom": None}, + }, + } + }, + } + } + with tempfile.TemporaryDirectory() as directory: + project = pin_project.read_hpmpc( + write(Path(directory), "a.hpmpc", json.dumps(document)) + ) + self.assertEqual(project.functions["init_bsp_pins"].pins, {}) + self.assertEqual( + project.functions["init_more_pins"].pins, + {"PA10": {"signal": "GPIO.A.A[10]", "padCtls": {}}}, + ) + def test_a_call_inside_a_conditional_is_not_active(self): # O2:条件编译里的函数不算,PA04 不出现。 # O2: a function inside a conditional does not count; PA04 stays out. @@ -684,7 +755,7 @@ def test_a_gptmr_channel_is_a_pwm_entry(self): # The object names of a GPTMR are pwm__ch; one entry per channel. hpmpc = json.loads(self.HPMPC) hpmpc["content"]["pinmux"]["functions"]["init_bsp_pins"]["selectPins"]["PB08"] = { - "signal": "GPTMR0.A.COMP_1", + "signal": "GPTMR0.B.COMP[1]", "padCtls": {}, } files = self.project_files() @@ -696,6 +767,83 @@ def test_a_gptmr_channel_is_a_pwm_entry(self): ) +class HpmMainCalls(TestCase): + """main.c 里哪些 pinmux 函数算被调用:只看 main 的函数体,去掉注释和字符串,条件编译里的 + 单独列出(O2)。 + Which pinmux functions main.c counts as called: only the body of main, with comments and + strings removed, and those inside a conditional listed apart (O2). + """ + + FUNCTIONS = ("init_bsp_pins", "init_uart_pins", "init_jtag_pins", "init_helper_pins") + + def calls(self, text: str) -> tuple[list[str], list[str]]: + """给定 main.c 内容时 hpm_main_calls 的结果。 + The result of hpm_main_calls for the given main.c content. + """ + with tempfile.TemporaryDirectory() as directory: + path = write(Path(directory), "main.c", textwrap.dedent(text)) + return pin_project.hpm_main_calls(path, self.FUNCTIONS) + + def test_the_spellings_of_a_call_are_recognized(self): + called, _ = self.calls( + """\ + int main(void) + { + init_bsp_pins(); // the console pins + init_uart_pins (void); + board_init(); init_jtag_pins ( ); + } + """ + ) + self.assertEqual(called, ["init_bsp_pins", "init_uart_pins", "init_jtag_pins"]) + + def test_calls_in_comments_and_strings_do_not_count(self): + called, conditional = self.calls( + """\ + int main(void) + { + /* init_uart_pins(); + #if 0 */ + printf("init_jtag_pins();"); + init_bsp_pins(); + } + """ + ) + self.assertEqual((called, conditional), (["init_bsp_pins"], [])) + + def test_a_call_in_a_helper_does_not_count(self): + called, _ = self.calls( + """\ + static void setup(void) + { + init_helper_pins(); + } + + int main(void) + { + setup(); + init_bsp_pins(); + } + """ + ) + self.assertEqual(called, ["init_bsp_pins"]) + + def test_a_call_inside_a_conditional_is_listed_apart(self): + called, conditional = self.calls( + """\ + int main(void) + { + init_bsp_pins(); + #ifdef KEEP_JTAG + #else + init_jtag_pins(); + #endif + } + """ + ) + self.assertEqual((called, conditional), (["init_bsp_pins"], ["init_jtag_pins"])) + + class SysconfigSettings(TestCase): """MSPM0 外设的设置取自 .syscfg,只读。 The settings of an MSPM0 peripheral come from the .syscfg, read-only. From 7f46ea54ad4ea46ce0955050ebd113e10571d06b Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 21:06:54 +0100 Subject: [PATCH 25/34] Generate MSPM0_UART_EXTEND_INIT for a UART Extend with DMA RX, and reject an SPI RX timeout trigger A UART Extend instance (SYS_UARTADV in the SysConfig device data) with DMA RX on a FULL-DMA channel now receives by circular DMA through MSPM0_UART_EXTEND_INIT: the RX channel annotations, the _LIBXR_EXTEND_CAPABLE mark and a receive ring of rx_dma_buffer_size bytes (even, default 128) are generated. An RX channel that is no FULL-DMA channel is an error naming the SysConfig option; DMA RX on a UART Main instance stays a warning. The pin data gains the UART Extend instances and the FULL-DMA channel count of each family, and the parse records Extend, DMA_RX_ID and DMAFullChannels. The generated code of the variants project compiles with -Werror against libxr 121b1db and MSPM0 SDK 2.11. An SPI whose DMA RX runs on the RX timeout trigger is an error in gen: the driver moves every byte on the trigger SysConfig configured, so a counted transfer on RX timeout never completes. The variants project uses the RX trigger, as every TI example does. --- scripts/build_pin_data.py | 29 +++ src/libxr/generator_code_mspm0.py | 221 ++++++++++++++---- src/libxr/peripheral_analyzer_mspm0.py | 34 ++- src/libxr/pin_data/mspm0.json.gz | Bin 61188 -> 61882 bytes tests/data/mspm0/variants.syscfg | 2 +- .../data/mspm0/variants_expected_app_main.cpp | 26 ++- tests/data/mspm0/variants_ti_msp_dl_config.c | 2 +- tests/test_generator_code_mspm0.py | 100 ++++++-- 8 files changed, 338 insertions(+), 76 deletions(-) diff --git a/scripts/build_pin_data.py b/scripts/build_pin_data.py index 0d63449..3987b39 100644 --- a/scripts/build_pin_data.py +++ b/scripts/build_pin_data.py @@ -184,6 +184,34 @@ def read_mspm0_family(path: Path) -> tuple[dict, dict[str, int]]: return packages, power_domains +def read_mspm0_extras(path: Path) -> dict: + """器件族 JSON 里 LibXR 的 UART 驱动要用的外设属性:UART Extend 实例(SYS_UARTADV, + MSPM0_UART_EXTEND_INIT 的接收 DMA 需要它)和 FULL-DMA 通道数(DMA 的 + SYS_N_DMA_FULL_CHANNEL,接收 DMA 必须用编号小于它的通道)。 + The peripheral attributes of a family JSON that the LibXR UART driver needs: the UART + Extend instances (SYS_UARTADV, which the receive DMA of MSPM0_UART_EXTEND_INIT requires) + and the number of FULL-DMA channels (SYS_N_DMA_FULL_CHANNEL of the DMA; the receive DMA must + use a channel below it). + """ + data = json.loads(path.read_text(encoding="utf-8")) + extend, full_channels = [], None + for peripheral in data["peripherals"].values(): + attributes = peripheral.get("attributes", {}) + if not isinstance(attributes, dict): + continue + if attributes.get("SYS_UARTADV") == "true": + extend.append(peripheral["name"]) + if ( + peripheral["name"] == "DMA" + and str(attributes.get("SYS_N_DMA_FULL_CHANNEL", "")).isdigit() + ): + full_channels = int(attributes["SYS_N_DMA_FULL_CHANNEL"]) + extras: dict = {"uart_extend": sorted(extend)} + if full_channels is not None: + extras["dma_full_channels"] = full_channels + return extras + + def build_mspm0(sysconfig: Path) -> dict: """MSPM0 数据:每个器件族的型号前缀、各封装的引脚和外设实例的电源域。 The MSPM0 data: the model prefixes of each family, the pins of its packages and the power @@ -197,6 +225,7 @@ def build_mspm0(sysconfig: Path) -> dict: "prefixes": family_prefixes(directory.name), "packages": packages, "power_domains": power_domains, + **read_mspm0_extras(directory / f"{directory.name}.json"), } version = (sysconfig / "dist" / "version.txt").read_text(encoding="utf-8").strip() return { diff --git a/src/libxr/generator_code_mspm0.py b/src/libxr/generator_code_mspm0.py index 9307fdb..e98967e 100644 --- a/src/libxr/generator_code_mspm0.py +++ b/src/libxr/generator_code_mspm0.py @@ -43,15 +43,20 @@ 对象名:GPIO 用引脚标签($name 去掉 PIN_ 前缀),UART/I2C/SPI 用外设名的小写(uart0),PWM 是 pwm__c。GPIO 中断遵循 STM32 的约定(模型 O1):生成器只创建对象,边沿来自 SysConfig; RegisterCallback、EnableInterrupt 和回调函数属于消费者(Module 或 User Code)。UART 没有 DMA TX -(或 SPI 没有一对 DMA 通道)时驱动没有对应的构造路径,生成报错;UART 的 DMA RX 通道不用(不生成 -MSPM0_UART_EXTEND_INIT),给出警告。 +(或 SPI 没有一对 DMA 通道)时驱动没有对应的构造路径,生成报错。UART 默认用 +MSPM0_UART_MAIN_INIT(接收走字节中断);配了 DMA RX 的 UART Extend 实例用 +MSPM0_UART_EXTEND_INIT(接收走 FULL-DMA 通道上的循环 DMA,接收环大小是 rx_dma_buffer_size), +RX 通道不是 FULL-DMA 通道时报错;UART Main 实例上的 DMA RX 通道用不上,给出警告。 Object names: a GPIO takes the pin label (the $name without its PIN_ prefix), a UART/I2C/SPI the lower-case peripheral name (uart0), and a PWM is pwm__c. GPIO interrupts follow the STM32 convention (model O1): the generator creates the object only, the edge comes from SysConfig, and RegisterCallback, EnableInterrupt and the callback belong to the consumer (a Module or the User Code). The driver has no construction path for a UART without DMA TX (or an -SPI without a pair of DMA channels), so generation reports an error then; the DMA RX channel of -a UART is unused (MSPM0_UART_EXTEND_INIT is not generated) and warned about. +SPI without a pair of DMA channels), so generation reports an error then. A UART takes +MSPM0_UART_MAIN_INIT by default (receive on byte interrupts); a UART Extend instance with DMA RX +takes MSPM0_UART_EXTEND_INIT (receive by circular DMA on a FULL-DMA channel into a ring of +rx_dma_buffer_size bytes), an RX channel that is no FULL-DMA channel being an error; the DMA RX +channel of a UART Main instance cannot be used and is warned about. """ from __future__ import annotations @@ -78,6 +83,9 @@ # apply to MSPM0 and are removed before generation. MSPM0_DEFAULTS = { "UART": {"tx_buffer_size": 128, "rx_buffer_size": 128, "tx_queue_size": 5}, + # 只有 MSPM0_UART_EXTEND_INIT 的 UART 有:接收 DMA 环的字节数(偶数)。 + # Only a UART of MSPM0_UART_EXTEND_INIT has it: the bytes of the receive DMA ring (even). + "UART_EXTEND": {"rx_dma_buffer_size": 128}, "I2C": {"buffer_size": 32, "dma_enable_min_size": 8}, "SPI": {"tx_buffer_size": 32, "rx_buffer_size": 32, "dma_enable_min_size": 3}, } @@ -157,7 +165,7 @@ def _setting(section: dict, key: str, default): return section[key] -def _instance_settings(group: str, instance: str) -> dict: +def _instance_settings(group: str, instance: str, extend: bool = False) -> dict: """实例的设置段,缺少的默认值补进段里,每个值都检查过:缓冲区和队列是正整数,DMA 阈值是非负 整数;UART 的发送缓冲还要满足驱动的断言(见 UART_TX_ALIGN 和 UART_TX_MAX)。返回检查后的 整数值。 @@ -168,7 +176,10 @@ def _instance_settings(group: str, instance: str) -> dict: """ section = _settings_of(group, instance) values = {} - for key, default in MSPM0_DEFAULTS[group].items(): + defaults = dict(MSPM0_DEFAULTS[group]) + if extend: + defaults.update(MSPM0_DEFAULTS["UART_EXTEND"]) + for key, default in defaults.items(): minimum = 0 if key == "dma_enable_min_size" else 1 values[key] = stm32._integer( f"{group}.{instance}.{key}", _setting(section, key, default), minimum @@ -185,6 +196,16 @@ def _instance_settings(group: str, instance: str) -> dict: f"{UART_TX_ALIGN} 的倍数且不大于 {UART_TX_MAX}(驱动使用 2 x N 字节,必须是 " f"2 * alignof(size_t) 的倍数,单次 DMA 最多发送 {UART_TX_MAX + 3} 字节)", ) + if extend: + size = values["rx_dma_buffer_size"] + if size < 2 or size % 2 or size > 0xFFFF: + raise stm32._invalid_setting( + f"UART.{instance}.rx_dma_buffer_size", + size, + "an even number from 2 to 65534 (the driver receives into a ring of two halves, " + "at most one DMA transfer long)", + "2 到 65534 之间的偶数(驱动的接收环分两半,最长一次 DMA 传输)", + ) return values @@ -377,11 +398,15 @@ def _ulpclk_text(divider: int) -> str: ) -def _uart_dma_defines(uarts: list) -> list[str]: - """UART 发送 DMA 通道的所有权标注:MSPM0_UART_MAIN_INIT 需要知道通道属于哪个 UART、服务于 - 发送端。 - The ownership annotations of the UART transmit DMA channels: MSPM0_UART_MAIN_INIT needs to - know which UART owns a channel and that the channel serves its transmitter. +def _uart_dma_defines(uarts: list, extend: set[str]) -> list[str]: + """UART DMA 通道的所有权标注:MSPM0_UART_MAIN_INIT 需要知道发送通道属于哪个 UART、服务于 + 发送端;MSPM0_UART_EXTEND_INIT 还要接收通道的同样标注、它是 FULL-DMA 通道、是否用半传输 + 中断(FULL-DMA 通道都低于 8,用),以及实例是 UART Extend。 + The ownership annotations of the UART DMA channels: MSPM0_UART_MAIN_INIT needs to know which + UART owns the transmit channel and that it serves the transmitter; MSPM0_UART_EXTEND_INIT + also needs the same for the receive channel, that it is a FULL-DMA channel, whether it uses + the half-transfer interrupt (every FULL-DMA channel is below 8, so it does) and that the + instance is a UART Extend. """ lines: list[str] = [] for _name, instance, record, _channel in uarts: @@ -389,7 +414,19 @@ def _uart_dma_defines(uarts: list) -> list[str]: if channel: lines.append(f"#define {channel}_LIBXR_UART_IRQN {instance}_INST_INT_IRQN") lines.append(f"#define {channel}_LIBXR_UART_TX 1") - if lines: + if instance in extend: + rx = record["DMA_RX"] + lines.append(f"#define {rx}_LIBXR_UART_IRQN {instance}_INST_INT_IRQN") + lines.append(f"#define {rx}_LIBXR_UART_RX 1") + lines.append(f"#define {rx}_LIBXR_FULL_CHANNEL 1") + lines.append(f"#define {rx}_LIBXR_HALF_INTERRUPT 1") + lines.append(f"#define {instance}_LIBXR_EXTEND_CAPABLE 1") + if lines and extend: + lines = [ + "// Ownership of the DMA channels that serve a UART; MSPM0_UART_MAIN_INIT and", + "// MSPM0_UART_EXTEND_INIT check these names against the ones SysConfig generated.", + ] + lines + elif lines: lines = [ "// Ownership of the DMA channels that serve a UART transmitter;", "// MSPM0_UART_MAIN_INIT checks these names against the ones SysConfig generated.", @@ -397,7 +434,54 @@ def _uart_dma_defines(uarts: list) -> list[str]: return lines -def _buffers(peripherals: dict) -> list[str]: +def _extend_uarts(project_data: dict, uarts: list) -> set[str]: + """用 MSPM0_UART_EXTEND_INIT 的 UART(SysConfig 实例名):配了 DMA RX 的 UART Extend 实例。 + RX 通道不是 FULL-DMA 通道时报错退出;UART Main 实例上的 DMA RX 给出警告(用 + MSPM0_UART_MAIN_INIT,RX 通道不用)。 + The UARTs (SysConfig instance names) that take MSPM0_UART_EXTEND_INIT: the UART Extend + instances with DMA RX. An RX channel that is no FULL-DMA channel logs an error and exits; DMA + RX on a UART Main instance is warned about (it takes MSPM0_UART_MAIN_INIT and the RX channel + stays unused). + """ + full = project_data.get("DMAFullChannels") + extend = set() + for _name, instance, record, _channel in uarts: + rx = record.get("DMA_RX") + if not rx: + continue + peripheral = record.get("Peripheral") + if not record.get("Extend"): + logging.warning( + tr( + f"{instance}: the DMA RX channel {rx} is not used; {peripheral} is a UART Main " + "instance, which receives on byte interrupts (MSPM0_UART_MAIN_INIT); DMA " + "reception needs a UART Extend instance", + f"{instance}:DMA RX 通道 {rx} 不会被使用;{peripheral} 是 UART Main 实例,接收" + "走字节中断(MSPM0_UART_MAIN_INIT);DMA 接收需要 UART Extend 实例", + ) + ) + continue + channel_id = record.get("DMA_RX_ID") + if channel_id is None or full is None or channel_id >= full: + where = ( + f"channel {channel_id}" if channel_id is not None else "a channel of unknown number" + ) + _fail( + tr( + f"{instance}: the DMA RX channel {rx} is {where}, but MSPM0_UART_EXTEND_INIT " + f"receives on a FULL-DMA channel (0 to {(full or 1) - 1}); choose one in " + "SysConfig (UART > DMA Configuration > DMA RX channel) and run `libxr parse` " + "again", + f"{instance}:DMA RX 通道 {rx} 是{where},但 MSPM0_UART_EXTEND_INIT 只能用 " + f"FULL-DMA 通道(0 到 {(full or 1) - 1})接收;请在 SysConfig(UART > DMA " + "Configuration 的 DMA RX 通道)中选择后重新运行 `libxr parse`", + ) + ) + extend.add(instance) + return extend + + +def _buffers(peripherals: dict, extend: set[str]) -> list[str]: """DMA 缓冲区的定义:UART 发送缓冲是两个半区(2 x N,按 size_t 对齐),SPI 收发各一,I2C 是 轮询与 DMA 之间的暂存区。 The DMA buffer declarations: a UART transmit buffer holds two halves (2 x N, aligned as @@ -405,10 +489,13 @@ def _buffers(peripherals: dict) -> list[str]: DMA. """ lines: list[str] = [] - for name, _instance, _record, _channel in peripherals.get("UART", []): - settings = _instance_settings("UART", name) + for name, instance, _record, _channel in peripherals.get("UART", []): + settings = _instance_settings("UART", name, instance in extend) tx = settings["tx_buffer_size"] lines.append(f"alignas(size_t) static uint8_t {name}_tx_buf[2 * {tx}];") + if instance in extend: + rx = settings["rx_dma_buffer_size"] + lines.append(f"alignas(4) static uint8_t {name}_rx_dma_buf[{rx}];") for name, _instance, _record, _channel in peripherals.get("SPI", []): settings = _instance_settings("SPI", name) lines.append(f"alignas(4) static uint8_t {name}_rx_buf[{settings['rx_buffer_size']}];") @@ -418,11 +505,19 @@ def _buffers(peripherals: dict) -> list[str]: lines.append(f"alignas(4) static uint8_t {name}_buf[{settings['buffer_size']}];") if not lines: return [] - return [ - "// DMA buffers. A UART gets 2 x N bytes for its two transmit halves; the receive side", - "// runs on byte interrupts. The SPI DMA buffers are split in two halves as well; the", - "// I2C driver uses polling, its buffer is the staging area for DMA transfers.", - ] + lines + if extend: + heading = [ + "// DMA buffers. A UART gets 2 x N bytes for its two transmit halves; a UART Extend with", + "// DMA RX also gets its receive ring. The SPI DMA buffers are split in two halves as", + "// well; the I2C driver uses polling, its buffer is the staging area for DMA transfers.", + ] + else: + heading = [ + "// DMA buffers. A UART gets 2 x N bytes for its two transmit halves; the receive side", + "// runs on byte interrupts. The SPI DMA buffers are split in two halves as well; the", + "// I2C driver uses polling, its buffer is the staging area for DMA transfers.", + ] + return heading + lines def _notice(project_data: dict) -> list[str]: @@ -491,14 +586,21 @@ def _gpio_section(gpio: dict) -> list[str]: return lines -def _uart_section(uarts: list) -> list[str]: - """UART 对象:MSPM0_UART_MAIN_INIT,发送走 DMA,接收走字节中断;没有 DMA TX 的实例报错, - 配了 DMA RX 的实例给出警告(不生成 MSPM0_UART_EXTEND_INIT,RX 通道不用)。 - The UART objects: MSPM0_UART_MAIN_INIT with DMA on the transmit side and byte interrupts on - the receive side; an instance without DMA TX reports an error, and one with DMA RX gets a - warning (MSPM0_UART_EXTEND_INIT is not generated, so the RX channel is unused). +def _uart_section(uarts: list, extend: set[str]) -> list[str]: + """UART 对象:发送走 DMA;MSPM0_UART_MAIN_INIT 接收走字节中断,extend 中的实例用 + MSPM0_UART_EXTEND_INIT 走循环 DMA 接收(见 _extend_uarts())。没有 DMA TX 的实例报错。 + The UART objects: DMA on the transmit side; MSPM0_UART_MAIN_INIT receives on byte + interrupts, and the instances in extend take MSPM0_UART_EXTEND_INIT with circular DMA + reception (see _extend_uarts()). An instance without DMA TX reports an error. """ - lines = [f"{INDENT}// UART: TX with DMA; the receive side runs on byte interrupts."] + if not uarts: + return [] + if extend: + heading = "TX with DMA; a UART Extend with DMA RX receives by circular DMA, the others " + heading += "on byte interrupts." + else: + heading = "TX with DMA; the receive side runs on byte interrupts." + lines = _comment(f"UART: {heading}", INDENT) for name, instance, record, _channel in uarts: if not record.get("DMA_TX"): _fail( @@ -514,18 +616,25 @@ def _uart_section(uarts: list) -> list[str]: "重新运行 `libxr parse`,或删去这个 UART", ) ) - if record.get("DMA_RX"): - logging.warning( - tr( - f"{instance}: the DMA RX channel {record['DMA_RX']} is not used; the " - "generated UART uses MSPM0_UART_MAIN_INIT, whose receive side runs on byte " - "interrupts (MSPM0_UART_EXTEND_INIT is not generated)", - f"{instance}:DMA RX 通道 {record['DMA_RX']} 不会被使用;生成的 UART 用 " - "MSPM0_UART_MAIN_INIT,接收走字节中断(不生成 MSPM0_UART_EXTEND_INIT)", - ) - ) - settings = _instance_settings("UART", name) + settings = _instance_settings("UART", name, instance in extend) tx_buf = f"{name}_tx_buf" + if instance in extend: + rx_buf = f"{name}_rx_dma_buf" + lines += layout( + f"static MSPM0UART {name}", + [ + f"MSPM0_UART_EXTEND_INIT({instance}", + record["DMA_TX"], + record["DMA_RX"], + tx_buf, + f"sizeof({tx_buf})", + str(settings["tx_queue_size"]), + rx_buf, + f"sizeof({rx_buf})", + f"{settings['rx_buffer_size']})", + ], + ) + continue lines += layout( f"static MSPM0UART {name}", [ @@ -582,12 +691,27 @@ def _spi_section(spis: list, clocks: dict[str, str]) -> list[str]: f"{instance}: the MSPM0 SPI driver constructs only with one DMA channel for " f"RX and one for TX, and the SysConfig project has RX {dma_rx or 'none'}, " f"TX {dma_tx or 'none'}. Configure SPI > DMA Configuration (DMA Event 1/2 " - "triggers: one RX or RX timeout, one TX), run `libxr parse` again, or drop " - "the SPI", + "triggers: one RX, one TX), run `libxr parse` again, or drop the SPI", f"{instance}:MSPM0 的 SPI 驱动只支持收发各一个 DMA 通道的构造,而 SysConfig " f"工程里 RX 为 {dma_rx or '没有'},TX 为 {dma_tx or '没有'}。请配置 SPI > DMA " - "Configuration(DMA Event 1/2 的触发:一个 RX 或 RX timeout,一个 TX)后重新" - "运行 `libxr parse`,或删去这个 SPI", + "Configuration(DMA Event 1/2 的触发:一个 RX,一个 TX)后重新运行 " + "`libxr parse`,或删去这个 SPI", + ) + ) + if str(record.get("DMA_RX_TRIGGER", "")).endswith("_RX_TIMEOUT"): + # 驱动按 SysConfig 配好的触发搬运每个接收字节;RX timeout 只在接收超时时请求 DMA, + # 计数的传输等不到结束。 + # The driver moves every received byte on the trigger SysConfig configured; RX + # timeout requests DMA only when reception times out, so a counted transfer never + # completes. + _fail( + tr( + f"{instance}: the DMA RX channel {dma_rx} is triggered by RX timeout; the " + "MSPM0 SPI driver needs the RX trigger (SPI > DMA Configuration: DMA Event " + "trigger DL_SPI_DMA_INTERRUPT_RX). Change it and run `libxr parse` again", + f"{instance}:DMA RX 通道 {dma_rx} 由 RX timeout 触发;MSPM0 的 SPI 驱动需要 RX " + "触发(SPI > DMA Configuration 的 DMA Event 触发选 DL_SPI_DMA_INTERRUPT_RX)。" + "请修改后重新运行 `libxr parse`", ) ) settings = _instance_settings("SPI", name) @@ -717,7 +841,9 @@ def _terminal_section(peripherals: dict) -> list[str]: ] -def _sections(peripherals: dict, gpio: dict, use_xrobot: bool, clocks: dict[str, str]) -> list[str]: +def _sections( + peripherals: dict, gpio: dict, use_xrobot: bool, clocks: dict[str, str], extend: set[str] +) -> list[str]: """app_main 函数体的各段:时基、GPIO、UART、I2C、SPI、PWM、终端和登记。 The sections of the app_main body: timebase, GPIO, UART, I2C, SPI, PWM, terminal and the registrations. @@ -729,7 +855,7 @@ def _sections(peripherals: dict, gpio: dict, use_xrobot: bool, clocks: dict[str, f"{INDENT}PlatformInit();", ], _gpio_section(gpio), - _uart_section(peripherals.get("UART", [])), + _uart_section(peripherals.get("UART", []), extend), _i2c_section(peripherals.get("I2C", []), clocks), _spi_section(peripherals.get("SPI", []), clocks), _pwm_section(peripherals.get("PWM", [])), @@ -781,6 +907,7 @@ def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) _check_gpio_name(str(label)) stm32._register_device(label, "GPIO") uarts = peripherals.get("UART", []) + extend = _extend_uarts(project_data, uarts) default_3 = ( [] if use_xrobot @@ -797,15 +924,15 @@ def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) clock_lines, clocks = _clocks(project_data) if clock_lines: lines += [""] + clock_lines - defines = _uart_dma_defines(uarts) + defines = _uart_dma_defines(uarts, extend) if defines: lines += [""] + defines - buffers = _buffers(peripherals) + buffers = _buffers(peripherals, extend) if buffers: lines += [""] + buffers lines += ["", 'extern "C" void app_main(void)', "{"] lines += [f"{INDENT}/* User Code Begin 2 */", f"{INDENT}/* User Code End 2 */", ""] - lines += _sections(peripherals, gpio, use_xrobot, clocks) + lines += _sections(peripherals, gpio, use_xrobot, clocks, extend) lines += ["", f"{INDENT}/* User Code Begin 3 */"] + default_3 lines.append(f"{INDENT}/* User Code End 3 */") if use_xrobot: diff --git a/src/libxr/peripheral_analyzer_mspm0.py b/src/libxr/peripheral_analyzer_mspm0.py index 8f0b75c..1e48ffc 100644 --- a/src/libxr/peripheral_analyzer_mspm0.py +++ b/src/libxr/peripheral_analyzer_mspm0.py @@ -782,6 +782,24 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru record["Pins"] = dict(entry["pins"]) if module == "PWM": record["Channels"] = _pwm_channels(syscfg, name, entry, defines) + if module == "SPI": + # 接收 DMA 的触发(RX 或 RX_TIMEOUT):gen 只接受 RX。 + # The trigger of the receive DMA (RX or RX_TIMEOUT): gen accepts RX only. + for event in (1, 2): + trigger = str(entry["params"].get(f"enabledDMAEvent{event}Triggers") or "") + if re.search(r"_RX(_TIMEOUT)?$", trigger): + record["DMA_RX_TRIGGER"] = trigger + if module == "UART" and record.get("DMA_RX"): + # 接收 DMA 只有 UART Extend 实例能用(MSPM0_UART_EXTEND_INIT),还必须是 FULL-DMA + # 通道:gen 按这两项决定构造方式。 + # Only a UART Extend instance can use receive DMA (MSPM0_UART_EXTEND_INIT), and + # only on a FULL-DMA channel: gen decides the construction by these two. + record["Extend"] = str(peripheral) in _family(device).get("uart_extend", []) + channel_id = re.fullmatch( + r"\(?(\d+)U?\)?", defines.get(f"{record['DMA_RX']}_CHAN_ID", "") + ) + if channel_id: + record["DMA_RX_ID"] = int(channel_id.group(1)) peripherals.setdefault(section, {})[name] = record for entry in instances.of_var.values(): @@ -811,6 +829,7 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru "Mcu": {"Family": "MSPM0", "Type": device}, "CPUCLK": _cpuclk(defines), "ULPCLKDivider": _ulpclk_divider(source), + "DMAFullChannels": _family(device).get("dma_full_channels"), "GPIO": _gpio_entries(syscfg, instances, defines, _device_names(power_domains, defines)), "Peripherals": {**peripherals, "Other": other} if other else peripherals, } @@ -829,11 +848,20 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru _print_summary(data) +def _family(device: str) -> dict: + """器件所属家族的 mspm0 数据(电源域、UART Extend 实例、FULL-DMA 通道数……);器件未知时 + 抛出 ValueError。 + The mspm0 data of the family of the device (power domains, UART Extend instances, the + number of FULL-DMA channels, ...); an unknown device raises ValueError. + """ + data = pin_layout.load_data("mspm0") + _, family, _ = pin_layout.mspm0_family(device, data) + return family + + def _power_domains(device: str) -> dict[str, int]: """器件所属家族的外设电源域(P1 的 mspm0 数据:模块名 -> 0/1);器件未知时抛出 ValueError。 The peripheral power domains of the family of the device (the P1 mspm0 data: module -> 0/1); an unknown device raises ValueError. """ - data = pin_layout.load_data("mspm0") - _, family, _ = pin_layout.mspm0_family(device, data) - return family.get("power_domains", {}) + return _family(device).get("power_domains", {}) diff --git a/src/libxr/pin_data/mspm0.json.gz b/src/libxr/pin_data/mspm0.json.gz index e0d34384c5dd656aa4a2a250ed17c682b27c5dcf..8c7f83ab443ad4eb0cb739bd8fb030a362661794 100644 GIT binary patch literal 61882 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 z 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

#+pO!RM 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 diff --git a/tests/data/mspm0/variants.syscfg b/tests/data/mspm0/variants.syscfg index 46bd578..71aa1ff 100644 --- a/tests/data/mspm0/variants.syscfg +++ b/tests/data/mspm0/variants.syscfg @@ -64,7 +64,7 @@ SPI1.$name = "SPI_1"; SPI1.spiClkSrc = "MFCLK"; SPI1.spiClkDiv = "4"; SPI1.enabledInterrupts = ["DMA_DONE_RX","DMA_DONE_TX"]; -SPI1.enabledDMAEvent1Triggers = "DL_SPI_DMA_INTERRUPT_RX_TIMEOUT"; +SPI1.enabledDMAEvent1Triggers = "DL_SPI_DMA_INTERRUPT_RX"; SPI1.enabledDMAEvent2Triggers = "DL_SPI_DMA_INTERRUPT_TX"; SPI1.peripheral.$assign = "SPI1"; SPI1.peripheral.sclkPin.$assign = "PB9"; diff --git a/tests/data/mspm0/variants_expected_app_main.cpp b/tests/data/mspm0/variants_expected_app_main.cpp index 608bcc5..3fbf03d 100644 --- a/tests/data/mspm0/variants_expected_app_main.cpp +++ b/tests/data/mspm0/variants_expected_app_main.cpp @@ -28,15 +28,21 @@ static constexpr uint32_t MFCLK_FREQ = 4000000; // driver keeps that clock configuration. static constexpr uint32_t SPI_1_CLK_FREQ = MFCLK_FREQ / 4; -// Ownership of the DMA channels that serve a UART transmitter; -// MSPM0_UART_MAIN_INIT checks these names against the ones SysConfig generated. +// Ownership of the DMA channels that serve a UART; MSPM0_UART_MAIN_INIT and +// MSPM0_UART_EXTEND_INIT check these names against the ones SysConfig generated. #define DMA_CH_UART0_TX_LIBXR_UART_IRQN UART_0_INST_INT_IRQN #define DMA_CH_UART0_TX_LIBXR_UART_TX 1 - -// DMA buffers. A UART gets 2 x N bytes for its two transmit halves; the receive side -// runs on byte interrupts. The SPI DMA buffers are split in two halves as well; the -// I2C driver uses polling, its buffer is the staging area for DMA transfers. +#define DMA_CH_UART0_RX_LIBXR_UART_IRQN UART_0_INST_INT_IRQN +#define DMA_CH_UART0_RX_LIBXR_UART_RX 1 +#define DMA_CH_UART0_RX_LIBXR_FULL_CHANNEL 1 +#define DMA_CH_UART0_RX_LIBXR_HALF_INTERRUPT 1 +#define UART_0_LIBXR_EXTEND_CAPABLE 1 + +// DMA buffers. A UART gets 2 x N bytes for its two transmit halves; a UART Extend with +// DMA RX also gets its receive ring. The SPI DMA buffers are split in two halves as +// well; the I2C driver uses polling, its buffer is the staging area for DMA transfers. alignas(size_t) static uint8_t uart0_tx_buf[2 * 128]; +alignas(4) static uint8_t uart0_rx_dma_buf[128]; alignas(4) static uint8_t spi1_rx_buf[32]; alignas(4) static uint8_t spi1_tx_buf[32]; alignas(4) static uint8_t i2c0_buf[32]; @@ -61,9 +67,11 @@ extern "C" void app_main(void) static MSPM0GPIO gpio_btn_pin_0(GPIO_BTN_PORT, GPIO_BTN_PIN_0_PIN, GPIO_BTN_PIN_0_IOMUX); - // UART: TX with DMA; the receive side runs on byte interrupts. - static MSPM0UART uart0(MSPM0_UART_MAIN_INIT(UART_0, DMA_CH_UART0_TX, uart0_tx_buf, - sizeof(uart0_tx_buf), 5, 128)); + // UART: TX with DMA; a UART Extend with DMA RX receives by circular DMA, the others on + // byte interrupts. + static MSPM0UART uart0(MSPM0_UART_EXTEND_INIT(UART_0, DMA_CH_UART0_TX, DMA_CH_UART0_RX, + uart0_tx_buf, sizeof(uart0_tx_buf), 5, uart0_rx_dma_buf, + sizeof(uart0_rx_dma_buf), 128)); // I2C: polling; the buffer stages DMA transfers. static MSPM0I2C i2c0(MSPM0_I2C_INIT(I2C_0, PD0_BUSCLK_FREQ, i2c0_buf, sizeof(i2c0_buf), diff --git a/tests/data/mspm0/variants_ti_msp_dl_config.c b/tests/data/mspm0/variants_ti_msp_dl_config.c index ca5ce07..1051b06 100644 --- a/tests/data/mspm0/variants_ti_msp_dl_config.c +++ b/tests/data/mspm0/variants_ti_msp_dl_config.c @@ -373,7 +373,7 @@ SYSCONFIG_WEAK void SYSCFG_DL_SPI_1_init(void) { DL_SPI_enableDMATransmitEvent(SPI_1_INST); /* Enable SPI RX interrupt as a trigger for DMA */ - DL_SPI_enableDMAReceiveEvent(SPI_1_INST, DL_SPI_DMA_INTERRUPT_RX_TIMEOUT); + DL_SPI_enableDMAReceiveEvent(SPI_1_INST, DL_SPI_DMA_INTERRUPT_RX); /* Set RX and TX FIFO threshold levels */ DL_SPI_setFIFOThreshold(SPI_1_INST, DL_SPI_RX_FIFO_LEVEL_1_2_FULL, DL_SPI_TX_FIFO_LEVEL_1_2_EMPTY); DL_SPI_enableInterrupt(SPI_1_INST, (DL_SPI_INTERRUPT_DMA_DONE_RX | diff --git a/tests/test_generator_code_mspm0.py b/tests/test_generator_code_mspm0.py index 2b2a00a..4c9e06b 100644 --- a/tests/test_generator_code_mspm0.py +++ b/tests/test_generator_code_mspm0.py @@ -194,10 +194,27 @@ def test_the_spi_clock_configuration_is_read(self): ) def test_an_rx_timeout_dma_trigger_is_the_rx_channel(self): - # L2 + # L2:RX timeout 触发的通道也认作 RX 通道并记下触发,gen 再说明它不能用(审查 B2)。 + # L2: a channel on the RX timeout trigger is the RX channel too and its trigger is + # recorded; gen then says it cannot be used (review B2). data, _logs = self.parse_logged() spi = data["Peripherals"]["SPI"]["SPI_1"] self.assertEqual((spi["DMA_RX"], spi["DMA_TX"]), ("DMA_CH_SPI1_RX", "DMA_CH_SPI1_TX")) + self.assertEqual(spi["DMA_RX_TRIGGER"], "DL_SPI_DMA_INTERRUPT_RX") + + def timeout(name, text): + return text.replace('"DL_SPI_DMA_INTERRUPT_RX"', '"DL_SPI_DMA_INTERRUPT_RX_TIMEOUT"') + + data, _logs = self.parse_logged(timeout) + spi = data["Peripherals"]["SPI"]["SPI_1"] + self.assertEqual(spi["DMA_RX"], "DMA_CH_SPI1_RX") + self.assertEqual(spi["DMA_RX_TRIGGER"], "DL_SPI_DMA_INTERRUPT_RX_TIMEOUT") + + def test_a_uart_with_dma_rx_records_extend_and_its_channel(self): + data, _logs = self.parse_logged() + uart = data["Peripherals"]["UART"]["UART_0"] + self.assertEqual((uart["Extend"], uart["DMA_RX_ID"]), (True, 0)) + self.assertEqual(data["DMAFullChannels"], 3) def test_pwm_channels_come_from_the_output_when_the_pins_are_only_suggested(self): # H3:引脚只有 $suggestSolution;去掉它们后通道仍来自 SysConfig 输出的 _IDX 宏。 @@ -563,8 +580,7 @@ def change(data, sel=sel, div=div): } self.project_yaml(root, change) - with self.assertLogs(level="WARNING"): - code = self.regenerate(root) + code = self.regenerate(root) self.assertIn(f"static constexpr uint32_t {line}", code) self.assertIn("MSPM0_SPI_INIT(SPI_1, SPI_1_CLK_FREQ,", code) source = line.split(" = ")[1].split(" ")[0].rstrip(";") @@ -609,8 +625,7 @@ def test_terminal_source_none_or_empty_stays_off(self): root, lambda settings, value=value: settings.update(terminal_source=value) ) for _ in range(2): - with self.assertLogs(level="WARNING"): - code = self.regenerate(root) + code = self.regenerate(root) self.assertNotIn("Terminal on", code) self.assertEqual(self.settings(root)["terminal_source"], value) @@ -644,8 +659,7 @@ def test_a_null_setting_takes_the_default(self): # M2: a null no longer becomes 2 * None. root, _code = self.generate("variants") self.settings(root, lambda settings: settings["UART"]["uart0"].update(tx_buffer_size=None)) - with self.assertLogs(level="WARNING"): - code = self.regenerate(root) + code = self.regenerate(root) self.assertIn("static uint8_t uart0_tx_buf[2 * 128];", code) self.assertNotIn(".SetConfig", code) @@ -657,22 +671,78 @@ def change(settings): settings["UART"]["UART0"]["tx_buffer_size"] = 64 self.settings(root, change) - with self.assertLogs(level="WARNING"): - code = self.regenerate(root) + code = self.regenerate(root) self.assertIn("static uint8_t uart0_tx_buf[2 * 64];", code) self.assertEqual(list(self.settings(root)["UART"]), ["UART0"]) - def test_a_dma_rx_channel_of_a_uart_is_a_warning(self): - # L1 + def test_a_uart_extend_with_dma_rx_receives_by_dma(self): + # 用户 2026-10-07 决定:UART0(G3507 的 UART Extend)配了 FULL-DMA 通道上的 DMA RX, + # 用 MSPM0_UART_EXTEND_INIT。 + # User decision 2026-10-07: UART0 (the UART Extend of a G3507) has DMA RX on a + # FULL-DMA channel, so it takes MSPM0_UART_EXTEND_INIT. + root, code = self.generate("variants") + self.assertIn("MSPM0_UART_EXTEND_INIT(UART_0, DMA_CH_UART0_TX, DMA_CH_UART0_RX,", code) + self.assertNotIn("MSPM0_UART_MAIN_INIT(", code) + for line in ( + "#define DMA_CH_UART0_RX_LIBXR_UART_IRQN UART_0_INST_INT_IRQN", + "#define DMA_CH_UART0_RX_LIBXR_UART_RX 1", + "#define DMA_CH_UART0_RX_LIBXR_FULL_CHANNEL 1", + "#define DMA_CH_UART0_RX_LIBXR_HALF_INTERRUPT 1", + "#define UART_0_LIBXR_EXTEND_CAPABLE 1", + "alignas(4) static uint8_t uart0_rx_dma_buf[128];", + ): + self.assertIn(line, code) + self.assertEqual(self.settings(root)["UART"]["uart0"]["rx_dma_buffer_size"], 128) + + def test_dma_rx_on_a_uart_main_is_a_warning(self): root, _code = self.generate("variants") + self.project_yaml( + root, lambda data: data["Peripherals"]["UART"]["UART_0"].update(Extend=False) + ) with self.assertLogs(level="WARNING") as logs: - self.regenerate(root) + code = self.regenerate(root) self.assertIn( - "WARNING:root:UART_0: the DMA RX channel DMA_CH_UART0_RX is not used; the generated " - "UART uses MSPM0_UART_MAIN_INIT, whose receive side runs on byte interrupts " - "(MSPM0_UART_EXTEND_INIT is not generated)", + "WARNING:root:UART_0: the DMA RX channel DMA_CH_UART0_RX is not used; UART0 is a " + "UART Main instance, which receives on byte interrupts (MSPM0_UART_MAIN_INIT); DMA " + "reception needs a UART Extend instance", logs.output, ) + self.assertIn("MSPM0_UART_MAIN_INIT(UART_0, DMA_CH_UART0_TX,", code) + self.assertNotIn("rx_dma_buf", code) + + def test_dma_rx_on_a_channel_that_is_not_full_is_an_error(self): + root, _code = self.generate("variants") + self.project_yaml( + root, lambda data: data["Peripherals"]["UART"]["UART_0"].update(DMA_RX_ID=4) + ) + self.assertIn( + "UART_0: the DMA RX channel DMA_CH_UART0_RX is channel 4, but " + "MSPM0_UART_EXTEND_INIT receives on a FULL-DMA channel (0 to 2)", + self.failure(root), + ) + + def test_the_receive_ring_must_be_even(self): + root, _code = self.generate("variants") + self.settings( + root, lambda settings: settings["UART"]["uart0"].update(rx_dma_buffer_size=63) + ) + self.assertIn("UART.uart0.rx_dma_buffer_size", self.failure(root)) + + def test_an_spi_rx_timeout_trigger_is_an_error(self): + # 审查 B2:驱动按 SysConfig 的触发搬运每个字节,RX timeout 触发的传输等不到结束。 + # Review B2: the driver moves every byte on SysConfig's trigger, and a transfer on the + # RX timeout trigger never completes. + root, _code = self.generate("variants") + self.project_yaml( + root, + lambda data: data["Peripherals"]["SPI"]["SPI_1"].update( + DMA_RX_TRIGGER="DL_SPI_DMA_INTERRUPT_RX_TIMEOUT" + ), + ) + self.assertIn( + "SPI_1: the DMA RX channel DMA_CH_SPI1_RX is triggered by RX timeout", + self.failure(root), + ) def test_a_uart_without_dma_tx_names_the_sysconfig_option(self): # L6 From d2432601e140b3982c065fb5e0872169f4c760ba Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 21:08:48 +0100 Subject: [PATCH 26/34] Remind to run xrobot gen after the setup of every platform libxr stm32, mspm0 and hpm setup do not update User/xrobot_main.hpp. Once an XRobot project has Modules/modules.yaml, every setup now ends with the reminder to run `xrobot gen`; before that it still lists the XRobot setup steps. --- src/libxr/config_cubemx_project.py | 34 ++++++++++++++++++++--------- tests/test_config_cubemx_project.py | 13 ++++++++++- tests/test_generator_code_mspm0.py | 12 ++++++++++ 3 files changed, 48 insertions(+), 11 deletions(-) diff --git a/src/libxr/config_cubemx_project.py b/src/libxr/config_cubemx_project.py index dd1106e..c51ab1a 100644 --- a/src/libxr/config_cubemx_project.py +++ b/src/libxr/config_cubemx_project.py @@ -890,21 +890,35 @@ def _report_next_steps(project_dir: str, xrobot: bool = False) -> None: def report_xrobot_steps(project_dir: str, xrobot: bool) -> None: - """XRobot 工程(xrobot 为真)还没有 Modules/modules.yaml 时依次给出 XRobot 的设置命令 - (XROBOT_STEPS,其中 xrobot setup 生成 User/xrobot_main.hpp);各平台的 setup 共用。 - Give the XRobot setup commands in order (XROBOT_STEPS, where xrobot setup generates - User/xrobot_main.hpp) when an XRobot project (xrobot true) has no Modules/modules.yaml - yet; the setup of every platform shares this. + """XRobot 工程(xrobot 为真)的后续步骤,各平台的 setup 共用:还没有 Modules/modules.yaml + 时依次给出 XRobot 的设置命令(XROBOT_STEPS,其中 xrobot setup 生成 User/xrobot_main.hpp); + 已经有了时提醒运行 xrobot gen,因为 libxr 的 setup 不更新 User/xrobot_main.hpp(用户 + 2026-10-07 决定统一提醒)。 + The next steps of an XRobot project (xrobot true), shared by the setup of every platform: + without Modules/modules.yaml the XRobot setup commands in order (XROBOT_STEPS, where xrobot + setup generates User/xrobot_main.hpp); with it a reminder to run xrobot gen, because the + libxr setup does not update User/xrobot_main.hpp (the user decided on 2026-10-07 to remind + on every platform). """ - if xrobot and not os.path.isfile(os.path.join(project_dir, "Modules", "modules.yaml")): + if not xrobot: + return + if os.path.isfile(os.path.join(project_dir, "Modules", "modules.yaml")): logging.info( tr( - "Next: Modules/modules.yaml does not exist yet; set up XRobot in this order:", - "下一步:还没有 Modules/modules.yaml,按以下顺序完成 XRobot 的设置:", + "Next: run `xrobot gen` to bring User/xrobot_main.hpp up to date; libxr setup " + "does not update it", + "下一步:运行 `xrobot gen` 更新 User/xrobot_main.hpp;libxr 的 setup 不更新它", ) ) - for command, english, chinese in XROBOT_STEPS: - logging.info(f" {command:<36} " + tr(english, chinese)) + return + logging.info( + tr( + "Next: Modules/modules.yaml does not exist yet; set up XRobot in this order:", + "下一步:还没有 Modules/modules.yaml,按以下顺序完成 XRobot 的设置:", + ) + ) + for command, english, chinese in XROBOT_STEPS: + logging.info(f" {command:<36} " + tr(english, chinese)) def _build_preset(path: str) -> str: diff --git a/tests/test_config_cubemx_project.py b/tests/test_config_cubemx_project.py index ea5a08f..2f46892 100644 --- a/tests/test_config_cubemx_project.py +++ b/tests/test_config_cubemx_project.py @@ -594,10 +594,21 @@ def test_an_xrobot_project_without_modules_gets_the_xrobot_steps(self): with self.assertLogs(level="INFO") as logs: cubemx_cfg._report_next_steps(str(self.root), xrobot=True) self.assertEqual(logs.output, steps) + # 已有 Modules/modules.yaml:libxr 的 setup 不更新 xrobot_main.hpp,提醒运行 xrobot gen + # (用户 2026-10-07 决定,各平台统一)。 + # With Modules/modules.yaml: the libxr setup does not update xrobot_main.hpp, so it + # reminds to run xrobot gen (the user's decision of 2026-10-07, on every platform). (self.root / "Modules").mkdir() (self.root / "Modules" / "modules.yaml").write_text("modules: []\n", encoding="utf-8") - with self.assertNoLogs(level="INFO"): + with self.assertLogs(level="INFO") as logs: cubemx_cfg._report_next_steps(str(self.root), xrobot=True) + self.assertEqual( + logs.output, + [ + "INFO:root:Next: run `xrobot gen` to bring User/xrobot_main.hpp up to date; " + "libxr setup does not update it" + ], + ) (self.root / "Modules" / "modules.yaml").unlink() with self.assertNoLogs(level="INFO"): cubemx_cfg._report_next_steps(str(self.root), xrobot=False) diff --git a/tests/test_generator_code_mspm0.py b/tests/test_generator_code_mspm0.py index 4c9e06b..1d509c0 100644 --- a/tests/test_generator_code_mspm0.py +++ b/tests/test_generator_code_mspm0.py @@ -846,8 +846,20 @@ def test_a_new_project_uses_no_xrobot_and_an_existing_one_keeps_its_choice(self) "INFO:root:Next: Modules/modules.yaml does not exist yet; set up XRobot in this order:", self.logs, ) + # 有了 Modules/modules.yaml 之后提醒运行 xrobot gen:setup 不更新 xrobot_main.hpp。 + # Once Modules/modules.yaml exists, the reminder to run xrobot gen: setup does not + # update xrobot_main.hpp. + (root / "Modules").mkdir(exist_ok=True) + (root / "Modules" / "modules.yaml").write_text("modules: []\n", encoding="utf-8") + self.setup(root, "--xrobot") + self.assertIn( + "INFO:root:Next: run `xrobot gen` to bring User/xrobot_main.hpp up to date; libxr " + "setup does not update it", + self.logs, + ) _code, app_main = self.setup(root, "--no-xrobot") self.assertNotIn("xrobot_main.hpp", app_main) + self.assertFalse(any("xrobot gen" in line for line in self.logs)) _code, app_main = self.setup(root) self.assertNotIn("xrobot_main.hpp", app_main) From c573e22a4e0bb95e33f201ec4b024a9c014feb3b Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 21:19:58 +0100 Subject: [PATCH 27/34] Make libxr pins agree with libxr parse and gen, as the independent review found - pins offers no settings for what gen does not generate: an MSPM0 I2C that is not a controller, an MSPM0 SPI in peripheral mode, an HPM I2C without SCL or SDA, and an HPM GPIO on a controller other than GPIO0. - pins finds the HPM GPIO rename key in any case and keeps the file's spelling, as gen does. - pins reads MSPM0 GPIO pins given as port plus pin number, and labels every GPIO with the object name gen generates (PIN_0 gives gpio_btn_pin_0); the naming rule is one shared function. - HPM: when main calls pinmux functions only inside #if, nothing is read and there is no init_bsp_pins fallback, in parse and pins alike (O2). - HPM settings read like the other platforms: null is the default and a string is an integer literal. - A GPTMR of a SoC with a PWM peripheral is not PWM-capable in the index. - GPIO names: the HPM check refuses the function-like SDK macros (MAX, MIN, ARRAY_SIZE, fencei, ...) and no longer refuses gpio_led or board_led; both HPM and MSPM0 count the names in the generated code and refuse one that the code already uses (timebase, NORMAL, ...). --- src/libxr/generator_code_hpm.py | 102 ++++++++++++----- src/libxr/generator_code_mspm0.py | 16 ++- src/libxr/generator_code_stm32.py | 14 +++ src/libxr/peripheral_analyzer_hpm.py | 30 +++-- src/libxr/peripheral_analyzer_mspm0.py | 6 +- src/libxr/pin_layout.py | 5 + src/libxr/pin_project.py | 147 ++++++++++++++++++++----- tests/data/mspm0/variants.syscfg | 6 +- tests/test_generator_code_hpm.py | 36 ++++++ tests/test_generator_code_mspm0.py | 12 ++ tests/test_pin_layout.py | 9 +- tests/test_pin_project.py | 93 +++++++++++++++- 12 files changed, 398 insertions(+), 78 deletions(-) diff --git a/src/libxr/generator_code_hpm.py b/src/libxr/generator_code_hpm.py index 3960bcf..842c417 100644 --- a/src/libxr/generator_code_hpm.py +++ b/src/libxr/generator_code_hpm.py @@ -106,10 +106,52 @@ "XROBOT_MAIN", } ) -# HPM SDK 的宏和函数的前缀(HPM_GPIO0、GPIO_DI_GPIOA、IRQn_GPIO0_A、clock_i2c3……)。 -# The prefixes of the HPM SDK macros and functions (HPM_GPIO0, GPIO_DI_GPIOA, IRQn_GPIO0_A, -# clock_i2c3, ...). -SDK_NAME = re.compile(r"(HPM_|GPIO_|IRQn_|IOC_|clock_|gpio_|gpiom_|board_|init_)\w*") +# HPM SDK 的宏和枚举值的前缀(HPM_GPIO0、GPIO_DI_GPIOA、IRQn_GPIO0_A、clock_i2c3、 +# ATTR_ALIGN……)。gpio_led、board_led 这样的普通名字不在其中。 +# The prefixes of the HPM SDK macros and enumerators (HPM_GPIO0, GPIO_DI_GPIOA, IRQn_GPIO0_A, +# clock_i2c3, ATTR_ALIGN, ...). Ordinary names such as gpio_led or board_led are not. +SDK_NAME = re.compile( + r"(HPM_|IS_HPM_|IRQn_|IOC_|clock_|GPIO_(DI|DO|OE|IE|IF|PL|TP|AS)_|GPIOM_|ATTR_|SDK_DECLARE_" + r"|TRACE_|SAVE_|RESTORE_|ISR_NAME_|intc_[ms]_)\w*" +) +# hpm_common.h 和 RISC-V 头文件里的类函数宏(HPM SDK v1.13.0),前缀规则管不到的:对象叫这个 +# 名字时 static HPMGPIO MAX(...) 会被当成宏展开。 +# The function-like macros of hpm_common.h and the RISC-V headers (HPM SDK v1.13.0) that the +# prefix rule does not cover: an object of that name, static HPMGPIO MAX(...), would expand as +# the macro. +SDK_MACROS = frozenset( + { + "ARRAY_SIZE", + "MAX", + "MIN", + "NOP", + "WFI", + "MAKE_STATUS", + "NESTED_IRQ_ENTER", + "NESTED_IRQ_EXIT", + "MODE_SWITCH_FROM_M", + "COMPLETE_IRQ_HANDLING_S", + "ENTER_NESTED_IRQ_HANDLING_M", + "ENTER_NESTED_IRQ_HANDLING_S", + "EXIT_NESTED_IRQ_HANDLING_M", + "EXIT_NESTED_IRQ_HANDLING_S", + "FREERTOS_VECTOR_ISR_WRAPPER_NAME", + "fencei", + "fenceiorw", + "fencerw", + "read_csr", + "write_csr", + "set_csr", + "clear_csr", + "read_set_csr", + "read_clear_csr", + "read_fcsr", + "write_fcsr", + "clear_fcsr", + "enable_fpu", + "disable_fpu", + } +) def _comment(text: str, indent: str = "") -> list[str]: @@ -155,13 +197,15 @@ def _keyed_settings(group: str, name: str) -> dict: def _instance_settings(group: str, instance: str) -> dict: - """libxr_settings 中实例的设置段(键不区分大小写),缺少的默认值补进段里。 - The settings section of an instance in libxr_settings (the key in any case), with the - missing defaults filled in. + """libxr_settings 中实例的设置段(键不区分大小写),缺少的和为 null 的值补成默认值(与 + MSPM0 一样)。 + The settings section of an instance in libxr_settings (the key in any case), with missing + and null values set to their defaults (as on MSPM0). """ section = _keyed_settings(group, instance) for key, default in HPM_DEFAULTS[group].items(): - section.setdefault(key, default) + if section.get(key) is None: + section[key] = default return section @@ -191,22 +235,16 @@ def _object_name(name: str, kind: str) -> str: def _setting_int(key: str, value) -> int: - """整数设置:不是正整数时报错退出。 - An integer setting; a value that is not a positive integer logs an error and exits. + """正整数设置,读法与 STM32、MSPM0 相同(stm32._integer:字符串按 Python 整数字面量读, + 如 0x3E8);不是正整数时报错退出。 + A positive integer setting, read as on STM32 and MSPM0 (stm32._integer: a string is a + Python integer literal, such as 0x3E8); a value that is not a positive integer logs an + error and exits. """ - if ( - isinstance(value, bool) - or not isinstance(value, (int, float)) - or int(value) != value - or value < 1 - ): - _fail( - tr( - f"{stm32.libxr_config_origin}: {key} {value!r} is not a positive integer", - f"{stm32.libxr_config_origin}:{key} {value!r} 不是正整数", - ) - ) - return int(value) + try: + return stm32._integer(key, value, 1) + except stm32.LibXRConfigError as error: + _fail(str(error)) def _peripherals(project_data: dict) -> dict[str, list]: @@ -317,7 +355,7 @@ def _gpio_name_problem(name: str) -> str: return tr("a C++ keyword", "是 C++ 关键字") if "__" in name or re.match(r"_[A-Z]", name): return tr("a reserved C++ identifier", "是 C++ 保留标识符") - if name in GENERATED_NAMES or SDK_NAME.fullmatch(name): + if name in GENERATED_NAMES or name in SDK_MACROS or SDK_NAME.fullmatch(name): return tr( "a name of the HPM SDK or of the generated code", "是 HPM SDK 或生成代码使用的名字", @@ -586,7 +624,21 @@ def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) if use_xrobot: lines.append(f"{INDENT}XROBOT_MAIN();") lines.append("}") - return stm32._preserve_generated_regions(existing_code, "\n".join(lines) + "\n") + generated = "\n".join(lines) + "\n" + # 与生成代码里其他名字相同的 GPIO 名字(固定名单之外的):数一数出现次数。 + # GPIO names equal to another name of the generated code (beyond the fixed list): count + # the occurrences. + clashes = stm32.overused_names(gpio, generated, use_xrobot) + if clashes: + _fail( + tr( + f"{stm32.libxr_config_origin}: rename these GPIO objects; the generated code " + f"uses the names for something else: {', '.join(clashes)}", + f"{stm32.libxr_config_origin}:请重命名以下 GPIO 对象,生成代码把这些名字用于" + f"别处:{'、'.join(clashes)}", + ) + ) + return stm32._preserve_generated_regions(existing_code, generated) def _check_soc(project_data: dict) -> None: diff --git a/src/libxr/generator_code_mspm0.py b/src/libxr/generator_code_mspm0.py index e98967e..ff3fc91 100644 --- a/src/libxr/generator_code_mspm0.py +++ b/src/libxr/generator_code_mspm0.py @@ -938,7 +938,21 @@ def generate_full_code(project_data: dict, use_xrobot: bool, existing_code: str) if use_xrobot: lines.append(f"{INDENT}XROBOT_MAIN();") lines.append("}") - return stm32._preserve_generated_regions(existing_code, "\n".join(lines) + "\n") + generated = "\n".join(lines) + "\n" + # 与生成代码里其他名字(timebase、ramfs、terminal、时钟常量……)相同的 GPIO 名字。 + # GPIO names equal to another name of the generated code (timebase, ramfs, terminal, the + # clock constants, ...). + clashes = stm32.overused_names(gpio, generated, use_xrobot) + if clashes: + _fail( + tr( + f"The generated code uses these GPIO names for something else: " + f"{', '.join(clashes)}; rename the pins in SysConfig", + f"生成代码把这些 GPIO 名字用于别处:{'、'.join(clashes)};请在 SysConfig 中给" + "引脚改名", + ) + ) + return stm32._preserve_generated_regions(existing_code, generated) # 手写文件被替换时最多列出的行数。 diff --git a/src/libxr/generator_code_stm32.py b/src/libxr/generator_code_stm32.py index 81b0b97..bfab385 100644 --- a/src/libxr/generator_code_stm32.py +++ b/src/libxr/generator_code_stm32.py @@ -720,6 +720,20 @@ def _gpio_object_name(port: str, gpio_data: dict) -> str: return _sanitize_cpp_identifier(gpio_data.get("Label", "") or port) +def overused_names(names, generated_code: str, use_xrobot: bool) -> list[str]: + """names 中在生成代码里出现次数超过声明(加 --xrobot 时的 XR_REGISTER 行)的名字:它们与 + 生成代码用到的其他名字相同。注释和字符串里的不算;各平台的 GPIO 名字检查共用。 + The names among names that occur in the generated code more often than their declaration + (plus the XR_REGISTER line with --xrobot): they equal another name the generated code uses. + Comments and strings do not count; the GPIO name checks of every platform share this. + """ + counts: dict[str, int] = {} + for occurrence in identifier_occurrences(generated_code): + counts[occurrence.text] = counts.get(occurrence.text, 0) + 1 + expected_uses = 2 if use_xrobot else 1 + return [name for name in names if counts.get(name, 0) > expected_uses] + + def check_gpio_names(project_data: dict, generated_code: str, use_xrobot: bool) -> None: """拒绝生成的 app_main 无法声明的 GPIO 对象名。 Reject GPIO object names that the generated app_main cannot declare. diff --git a/src/libxr/peripheral_analyzer_hpm.py b/src/libxr/peripheral_analyzer_hpm.py index 398d4f9..93a588c 100644 --- a/src/libxr/peripheral_analyzer_hpm.py +++ b/src/libxr/peripheral_analyzer_hpm.py @@ -43,12 +43,6 @@ from libxr import pin_layout, pin_project -# .hpmpc 里 gpiom 管理器的 gpioController 值:1 是 SoC 的 GPIO0(工具为它生成 -# gpiom_soc_gpio0),HPMGPIO 只驱动这一个控制器。 -# The gpioController value of the gpiom manager of a .hpmpc: 1 is the GPIO0 of the SoC (the -# tool generates gpiom_soc_gpio0 for it), the only controller HPMGPIO drives. -GPIO0_CONTROLLER = "1" - def _fail(message: str): """记录错误并以状态 1 退出。 @@ -143,10 +137,11 @@ def _report_calls( conditional: list[str], active: list[str], ) -> None: - """main.c 调用情况的警告:条件编译里调用的函数、没有被调用的函数,以及完全没有调用时的 - init_bsp_pins 兜底。 + """main.c 调用情况的警告:条件编译里调用的函数、没有被调用的函数、调用全在条件里时读不到 + 引脚,以及完全没有调用时的 init_bsp_pins 兜底。 The warnings about the calls of main.c: the functions called inside a conditional, the - functions not called, and the init_bsp_pins fallback when there is no call at all. + functions not called, no pin read when every call sits inside a conditional, and the + init_bsp_pins fallback when there is no call at all. """ for name in conditional: logging.warning( @@ -156,6 +151,17 @@ def _report_calls( f"{main_c}:{name}() 在预处理条件里调用;不读它的引脚(生成的对象不能依赖编译选项)", ) ) + if not called and conditional: + # 调用全在预处理条件里:不退回 init_bsp_pins(O2)。 + # Every call sits inside a condition: no init_bsp_pins fallback (O2). + logging.warning( + tr( + f"{main_c}: main calls pinmux functions only inside preprocessor conditions; no " + "pin is read", + f"{main_c}:main 只在预处理条件里调用 pinmux 函数;读不到引脚", + ) + ) + return if not called: detail = ( tr("using the init_bsp_pins fallback", "退回 init_bsp_pins") @@ -197,7 +203,7 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru hpmpc, main_c, project = _project(directory) layout = _layout(project) called, conditional = pin_project.hpm_main_calls(main_c, project.functions) - active = called or (["init_bsp_pins"] if "init_bsp_pins" in project.functions else []) + active = pin_project.hpm_active_functions(main_c, project.functions) _report_calls(hpmpc, main_c, project, called, conditional, active) selections, conflicts = pin_project.hpm_selections(project, active) for conflict in conflicts: @@ -240,7 +246,7 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru ) ) if canonical.startswith("GPIO_"): - controller = str(selection["gpiom"].get("gpioController") or GPIO0_CONTROLLER) + controller = pin_project.hpm_gpio_controller(selection["gpiom"]) entry = _gpio_entry(pad, pad_ctls, selection["gpiom"]) if entry is None: logging.warning( @@ -250,7 +256,7 @@ def parse_project(directory: str, output: str | None = None, summary: bool = Tru ) ) continue - if controller != GPIO0_CONTROLLER: + if controller != pin_project.HPM_GPIO0_CONTROLLER: logging.warning( tr( f"{hpmpc}: {pad} is assigned to GPIO controller {controller}, not the " diff --git a/src/libxr/peripheral_analyzer_mspm0.py b/src/libxr/peripheral_analyzer_mspm0.py index 1e48ffc..fd18079 100644 --- a/src/libxr/peripheral_analyzer_mspm0.py +++ b/src/libxr/peripheral_analyzer_mspm0.py @@ -484,10 +484,10 @@ def _gpio_label(syscfg: Path, group: str, name: str) -> str: is not a valid identifier (the SysConfig default PIN_0 -> 0) it falls back to the lower-case group plus pin name (gpio_btn_pin_0), with a hint on renaming in SysConfig. """ + fallback, used = pin_project.mspm0_gpio_name(group, name) + if not used: + return fallback label = name[4:] if name.startswith("PIN_") else name - if IDENTIFIER.fullmatch(label): - return label - fallback = re.sub(r"\W", "_", f"{group}_{name}".lower()) logging.warning( tr( f"{syscfg.name}: the GPIO pin {name} of {group} gives no valid C++ name ({label}); " diff --git a/src/libxr/pin_layout.py b/src/libxr/pin_layout.py index bfea583..e3eb5fe 100644 --- a/src/libxr/pin_layout.py +++ b/src/libxr/pin_layout.py @@ -425,6 +425,11 @@ def add(instance: str, kind: str, function: str, pin: Pin) -> None: "signals": dict(sorted(entry["signals"].items(), key=lambda s: natural_key(s[0]))), } pattern = PWM_CHANNELS.get(entry["kind"]) + # HPM 的 GPTMR 只在 SoC 没有 PWM 外设时由 HPMPWM 驱动(fallback 路径)。 + # An HPM GPTMR is driven by HPMPWM only when the SoC has no PWM peripheral (the + # fallback path). + if entry["kind"] == "GPTMR" and layout.platform == "hpm" and hpm_soc_has_pwm(layout.part): + pattern = None if pattern and any(re.fullmatch(pattern, function) for function in entry["signals"]): index[instance]["capabilities"] = ["pwm"] return index diff --git a/src/libxr/pin_project.py b/src/libxr/pin_project.py index b7a979c..4ae557a 100644 --- a/src/libxr/pin_project.py +++ b/src/libxr/pin_project.py @@ -372,20 +372,42 @@ def peripheral_entry(pin: Pin, instance: str, member: str) -> dict: } +SYSCFG_GPIO_ASSIGNED = re.compile(r"^\.associatedPins\[(\d+)\]\.assigned(Pin|Port)$") +IDENTIFIER = re.compile(r"[A-Za-z_]\w*") + + +def mspm0_gpio_name(group: str, name: str) -> tuple[str, bool]: + """MSPM0 GPIO 对象名(libxr parse 和 libxr pins 共用):引脚 $name 去掉 PIN_ 前缀 + (PIN_LED1 -> LED1);去掉后不是合法标识符时(SysConfig 的默认名 PIN_0 -> 0)是小写的组名 + 加引脚名(gpio_btn_pin_0)。第二项说明是否用了后一种。 + The name of an MSPM0 GPIO object (shared by libxr parse and libxr pins): the pin $name + without its PIN_ prefix (PIN_LED1 -> LED1); when that is not a valid identifier (the + SysConfig default PIN_0 -> 0), the lower-case group plus pin name (gpio_btn_pin_0). The + second item says whether the latter was used. + """ + label = name[4:] if name.startswith("PIN_") else name + if IDENTIFIER.fullmatch(label): + return label, False + return re.sub(r"\W", "_", f"{group}_{name}".lower()), True + + def syscfg_assignments(path: Path, layout: PinLayout) -> dict[str, dict]: """.syscfg 中 MSPM0 的已选信号:引脚名 -> 信号及其识别结果。 The selected signals of an MSPM0 in a .syscfg: pin name -> signal and what it was recognized as. 外设引脚是 <实例>.peripheral.<功能>Pin.$assign(<实例> 取 peripheral.$assign 指定的外设, - 功能按引脚的信号表核对),GPIO 是 <变量>.associatedPins[i].pin.$assign,标签取引脚的 - $name。求解器选的 $suggestSolution 兜底,$assign 优先;DMA 通道和 clockTree 的晶振引脚 - 不收。 + 功能按引脚的信号表核对),GPIO 是 <变量>.associatedPins[i].pin.$assign,或 TI 例程的端口 + 加引脚号写法(组的 port 或引脚的 assignedPort,加 assignedPin);标签是 libxr gen 生成的 + 对象名(mspm0_gpio_name)。求解器选的 $suggestSolution 兜底,$assign 优先;DMA 通道和 + clockTree 的晶振引脚不收。 A peripheral pin is .peripheral.Pin.$assign (the instance is the peripheral peripheral.$assign names, and the function is checked against the signals of the - pin), a GPIO one is .associatedPins[i].pin.$assign, with the label from the $name - of the pin. The solver's $suggestSolution is the fallback, and $assign wins; the DMA - channels and the oscillator pins of the clock tree are left out. + pin), a GPIO one is .associatedPins[i].pin.$assign or the port plus pin number + form of TI's examples (the port of the group or the assignedPort of the pin, with + assignedPin); the label is the object name libxr gen generates (mspm0_gpio_name). The + solver's $suggestSolution is the fallback, and $assign wins; the DMA channels and the + oscillator pins of the clock tree are left out. """ text = path.read_text(encoding="utf-8", errors="replace") text = re.sub(r"/\*.*?\*/", "", text, flags=re.S) @@ -402,9 +424,23 @@ def syscfg_assignments(path: Path, layout: PinLayout) -> dict[str, dict]: periph_pin: dict[tuple[str, str], str] = {} gpio_pin: dict[tuple[str, int], str] = {} gpio_label: dict[tuple[str, int], str] = {} + # 端口加引脚号写法:(变量, 引脚序号) -> 端口(序号 -1 是组的 port)或引脚号。 + # The port plus pin number form: (variable, pin index) -> port (index -1 is the port of the + # group) or pin number. + gpio_port: dict[tuple[str, int], str] = {} + gpio_line: dict[tuple[str, int], str] = {} for var, tail, value in SYSCFG_ASSIGNMENT.findall(text): if var not in instances: continue + if tail == ".port" and instances[var] == "GPIO": + gpio_port[(var, -1)] = syscfg_value(value) + continue + assigned_member = SYSCFG_GPIO_ASSIGNED.match(tail) + if assigned_member and instances[var] == "GPIO": + key = (var, int(assigned_member.group(1))) + target = gpio_line if assigned_member.group(2) == "Pin" else gpio_port + target[key] = str(syscfg_value(value)) + continue if tail == ".peripheral.$assign": peripheral_of[var] = syscfg_value(value) elif tail == ".peripheral.$suggestSolution": @@ -431,6 +467,12 @@ def syscfg_assignments(path: Path, layout: PinLayout) -> dict[str, dict]: key = (var, int(gpio.group(1))) if gpio.re is SYSCFG_GPIO_PIN or key not in gpio_pin: gpio_pin[key] = syscfg_value(value) + for (var, index), line in gpio_line.items(): + port = re.fullmatch( + r"PORT([A-Z])", str(gpio_port.get((var, index), gpio_port.get((var, -1)))) + ) + if (var, index) not in gpio_pin and port and line.isdigit(): + gpio_pin[(var, index)] = f"P{port.group(1)}{int(line)}" by_name = {pin.name: pin for pin in layout.pins} assigned: dict[str, dict] = {} for (var, member), pin_name in periph_pin.items(): @@ -450,9 +492,9 @@ def syscfg_assignments(path: Path, layout: PinLayout) -> dict[str, dict]: "function": f"P{port_line[1]}" if port_line else "GPIO", "matched": pin.name in pin.signals, } - label = gpio_label.get((var, index)) or gpio_label.get((var, -1)) - if label: - entry["label"] = label + name = gpio_label.get((var, index)) + if name: + entry["label"] = mspm0_gpio_name(gpio_label.get((var, -1)) or var, name)[0] assigned[pin.name] = entry return assigned @@ -650,13 +692,16 @@ def hpm_called_functions(main_c: Path, functions) -> list[str]: def hpm_active_functions(main_c: Path, functions) -> list[str]: - """main.c 在预处理条件外调用的、.hpmpc 里存在的 pinmux 函数;main.c 不存在或没有调用 - 时退回 init_bsp_pins。 - The pinmux functions of the .hpmpc that the root main.c calls outside preprocessor - conditions; the fallback is init_bsp_pins when main.c does not exist or calls none. + """读引脚的 pinmux 函数:main.c 在预处理条件外调用的、.hpmpc 里存在的函数。main.c 不存在 + 或根本没有调用任何 pinmux 函数时退回 init_bsp_pins;调用全在预处理条件里时不退回(O2: + 条件里的函数不读,包括 init_bsp_pins)。 + The pinmux functions the pins are read from: those of the .hpmpc that the root main.c calls + outside preprocessor conditions. The fallback is init_bsp_pins when main.c does not exist or + calls no pinmux function at all; there is no fallback when every call sits inside a + condition (O2: a function in a condition is not read, init_bsp_pins included). """ - called = hpm_called_functions(main_c, functions) - if called: + called, conditional = hpm_main_calls(main_c, functions) + if called or conditional: return called return ["init_bsp_pins"] if "init_bsp_pins" in functions else [] @@ -725,6 +770,9 @@ def hpm_assignments(hpmpc: Path, main_c: Path, layout: PinLayout) -> dict[str, d "function": f"P{int(port_line[1])}" if port_line else "GPIO", "matched": canonical in pin.signals, } + controller = hpm_gpio_controller(selection["gpiom"]) + if controller != HPM_GPIO0_CONTROLLER: + assigned[pin.name]["gpio_controller"] = controller continue recognized = pin_layout.recognize_hpm(canonical) instance, kind, pin_function = recognized or (canonical, "", "") @@ -738,6 +786,22 @@ def hpm_assignments(hpmpc: Path, main_c: Path, layout: PinLayout) -> dict[str, d return assigned +# .hpmpc 里 gpiom 管理器的 gpioController 值:1 是 SoC 的 GPIO0(工具为它生成 +# gpiom_soc_gpio0),HPMGPIO 只驱动这一个控制器;没写时就是它。 +# The gpioController value of the gpiom manager of a .hpmpc: 1 is the GPIO0 of the SoC (the +# tool generates gpiom_soc_gpio0 for it), the only controller HPMGPIO drives; it is the one +# when none is written. +HPM_GPIO0_CONTROLLER = "1" + + +def hpm_gpio_controller(gpiom: dict) -> str: + """gpiom 设置里引脚分给的 GPIO 控制器(工具的编号);没写时是 GPIO0。 + The GPIO controller the gpiom settings assign the pin to (the tool's number); GPIO0 when + none is written. + """ + return str(gpiom.get("gpioController") or HPM_GPIO0_CONTROLLER) + + def hpm_conflict_message( hpmpc: Path, pad: str, first: str, first_signal: str, second: str, second_signal: str ) -> str: @@ -798,13 +862,24 @@ def channels(pattern: str) -> list[int]: return [] return [keyed(section, USB_KEYS.get(instance, instance.lower()))] if platform == "mspm0": + params = (sysconfig or {}).get("params", {}) + # 与 libxr parse 一致:只有控制器模式的 I2C 和 SPI 生成对象(I2C 的 + # basicEnableController 默认关闭,SPI 的 mode 默认 CONTROLLER)。 + # As libxr parse decides: only an I2C and an SPI in controller mode generate objects + # (basicEnableController of an I2C is off by default, mode of an SPI is CONTROLLER). + if kind == "I2C" and params.get("basicEnableController") is not True: + return [] + if kind == "SPI" and str(params.get("mode", "CONTROLLER")) != "CONTROLLER": + return [] if kind in ("UART", "I2C", "SPI"): return [keyed(kind, instance.lower())] if kind in ("TIMA", "TIMG") and sysconfig and sysconfig.get("module") == "PWM": return [keyed("PWM", f"pwm_{instance.lower()}_c{n}") for n in channels(r"CCP(\d+)")] return [] if platform == "hpm": - if kind == "I2C": + # 与 libxr parse 一致:缺 SCL 或 SDA 的 I2C 不生成。 + # As libxr parse decides: an I2C without SCL or SDA is not generated. + if kind == "I2C" and {"SCL", "SDA"} <= set(functions): return [keyed("I2C", instance.lower())] # GPTMR 的 PWM 只在 SoC 没有 PWM 外设时生成(与解析一致)。 # A PWM on a GPTMR is generated only when the SoC has no PWM peripheral, as parsed. @@ -817,11 +892,14 @@ def channels(pattern: str) -> list[int]: port_line = pin_layout.gpio_port_and_line(pin_name) if port_line is None: continue - # 名字的规则与解析器的一致:p 加端口小写字母加线号(PA03 -> pa3)。 + # 名字的规则与解析器的一致:p 加端口小写字母加线号(PA03 -> pa3);文件里的键 + # 不分大小写,保留文件的写法(与 libxr gen 一样)。 # The rule of the name is the parser's: p, the lower-case port letter and the - # line (PA03 -> pa3). + # line (PA03 -> pa3); the key of the file matches in any case and keeps the + # file's spelling (as in libxr gen). name = f"p{port_line[0].lower()}{int(port_line[1]):d}" - params[name] = values.get(name) + key = next((key for key in values if str(key).lower() == name), name) + params[key] = values.get(key) if not params: return [] return [{"section": "GPIO", "key": None, "present": bool(values), "params": params}] @@ -848,20 +926,35 @@ def project_overlay( for pin_name, entry in assigned.items(): used = peripherals.setdefault(entry["peripheral"], {"kind": entry["kind"], "pins": {}}) used["pins"][entry["function"]] = pin_name + if entry.get("gpio_controller"): + used.setdefault("excluded", set()).add(pin_name) for instance, used in peripherals.items(): # MSPM0:外设的设置在 SysConfig 工程(.syscfg)里,只读给出。 # MSPM0: the settings of a peripheral are in the SysConfig project (.syscfg), given read-only. if sysconfig and instance in sysconfig: used["sysconfig"] = sysconfig[instance] - entries = config_entries( - layout.platform, - instance, - used["kind"], - used["pins"], - settings, - used.get("sysconfig"), - layout.model, + entries = ( + config_entries( + layout.platform, + instance, + used["kind"], + used["pins"], + settings, + used.get("sysconfig"), + layout.model, + ) + if not used.get("excluded") + else [] ) + if used.get("excluded"): + # HPM:分给 GPIO0 以外控制器的引脚 gen 不生成对象,也就没有改名项。 + # HPM: gen makes no object for a pin on a controller other than GPIO0, so it has no + # rename entry. + pins = {f: p for f, p in used["pins"].items() if p not in used["excluded"]} + entries = config_entries( + layout.platform, instance, used["kind"], pins, settings, None, layout.model + ) + used.pop("excluded", None) if entries: used["config"] = entries return { diff --git a/tests/data/mspm0/variants.syscfg b/tests/data/mspm0/variants.syscfg index 71aa1ff..fe2cdc5 100644 --- a/tests/data/mspm0/variants.syscfg +++ b/tests/data/mspm0/variants.syscfg @@ -8,9 +8,9 @@ /** * A test project with the SysConfig setups the two BSPs do not use: an SPI clocked from MFCLK - * with a divider and an RX timeout DMA trigger, an SPI in peripheral mode, an I2C in target - * mode only, a PWM with the default instance name whose pins are only suggested, GPIO pins - * given as port + pin number, a pin with the default name, and a UART with DMA on both sides. + * with a divider, an SPI in peripheral mode, an I2C in target mode only, a PWM with the default + * instance name whose pins are only suggested, GPIO pins given as port + pin number, a pin with + * the default name, and a UART Extend with DMA on both sides (MSPM0_UART_EXTEND_INIT). */ const GPIO = scripting.addModule("/ti/driverlib/GPIO", {}, false); const GPIO1 = GPIO.addInstance(); diff --git a/tests/test_generator_code_hpm.py b/tests/test_generator_code_hpm.py index 82076bc..d48527a 100644 --- a/tests/test_generator_code_hpm.py +++ b/tests/test_generator_code_hpm.py @@ -444,6 +444,16 @@ def test_a_pin_of_another_gpio_controller_gets_no_object(self): any("PA10 is assigned to GPIO controller 2" in line for line in logs.output) ) + def test_no_fallback_when_every_call_is_conditional(self): + # 审查 C2:与 libxr pins 一样,调用全在 #if 里时不退回 init_bsp_pins。 + # Review C2: as in libxr pins, no init_bsp_pins fallback when every call is in #if. + main_c = "int main(void)\n{\n#if USE_PINS\n init_bsp_pins();\n#endif\n}\n" + with self.assertLogs(level="WARNING") as logs: + data = self.parse(synthetic_project({"PA10": "GPIO.A.A[10]"}, main_c=main_c)) + self.assertEqual((data["MainFunctions"], data["GPIO"]), ([], {})) + self.assertTrue(any("only inside preprocessor conditions" in line for line in logs.output)) + self.assertFalse(any("fallback" in line for line in logs.output)) + def test_a_pinmux_function_main_does_not_call_is_warned_about(self): root = synthetic_project({"PA10": "GPIO.A.A[10]"}) hpmpc = root / "boards" / "board" / "tool_config.hpmpc" @@ -540,6 +550,32 @@ def test_unusable_gpio_names_are_listed_together(self): generator.reset_settings() self.assertGenerationFails(f"GPIO:\n pa10: '{name}'\n", problem) + def test_sdk_macros_and_generated_names_are_refused_and_plain_names_pass(self): + # 审查 C1:类函数宏和生成代码用到的名字(NORMAL 是 PWM 的极性)不能用;gpio_led 可以。 + # Review C1: function-like macros and names the generated code uses (NORMAL is the + # polarity of the PWM) are refused; gpio_led is fine. + self.assertGenerationFails("GPIO:\n pa10: MAX\n", "GPIO.pa10 'MAX'") + generator.initialize_registry() + generator.reset_settings() + self.assertGenerationFails( + "GPIO:\n pa10: NORMAL\n", + "the generated code uses the names for something else: NORMAL", + ) + generator.initialize_registry() + generator.reset_settings() + _root, code = self.generate("GPIO:\n pa10: gpio_led\n pa3: board_key\n") + self.assertIn("static HPMGPIO gpio_led(", code) + + def test_a_null_or_literal_speed_is_read_as_on_the_other_platforms(self): + # 审查 C3:null 用默认值,字符串按整数字面量读。 + # Review C3: null takes the default, a string is read as an integer literal. + _root, code = self.generate("I2C:\n i2c3:\n speed:\n") + self.assertIn("{100000U}", code) + generator.initialize_registry() + generator.reset_settings() + _root, code = self.generate("I2C:\n i2c3:\n speed: '0x61A80'\n") + self.assertIn("{400000U}", code) + def test_a_gpio_rename_must_be_a_name(self): self.assertGenerationFails("GPIO:\n pa10: 5\n", "GPIO.pa10 5 is not a name") diff --git a/tests/test_generator_code_mspm0.py b/tests/test_generator_code_mspm0.py index 1d509c0..fbb4e9a 100644 --- a/tests/test_generator_code_mspm0.py +++ b/tests/test_generator_code_mspm0.py @@ -694,6 +694,18 @@ def test_a_uart_extend_with_dma_rx_receives_by_dma(self): self.assertIn(line, code) self.assertEqual(self.settings(root)["UART"]["uart0"]["rx_dma_buffer_size"], 128) + def test_a_gpio_named_like_a_generated_object_is_an_error(self): + # 审查 C1:timebase 是生成代码里的对象,GPIO 不能再叫它。 + # Review C1: timebase is an object of the generated code, so a GPIO cannot take it. + root, _code = self.generate("variants") + self.project_yaml( + root, lambda data: data["GPIO"].update(timebase=data["GPIO"].pop("USER_LED_1")) + ) + self.assertIn( + "The generated code uses these GPIO names for something else: timebase", + self.failure(root), + ) + def test_dma_rx_on_a_uart_main_is_a_warning(self): root, _code = self.generate("variants") self.project_yaml( diff --git a/tests/test_pin_layout.py b/tests/test_pin_layout.py index 2750970..9ad4f6c 100644 --- a/tests/test_pin_layout.py +++ b/tests/test_pin_layout.py @@ -142,10 +142,11 @@ def test_the_index_has_the_gpio_ports_and_the_pwm_capable_timers(self): # The line drops its leading zero: PA03 is P3. self.assertEqual(index["GPIOA"]["signals"]["P3"], ["PA03"]) self.assertEqual(index["GPTMR0"]["capabilities"], ["pwm"]) - self.assertEqual( - layout_to_dict(layout_pins("HPM5361", "QFN48"))["peripherals"]["PWM0"]["capabilities"], - ["pwm"], - ) + index_5361 = layout_to_dict(layout_pins("HPM5361", "QFN48"))["peripherals"] + self.assertEqual(index_5361["PWM0"]["capabilities"], ["pwm"]) + # 审查 C4:有 PWM 外设的 SoC 上 HPMPWM 不驱动 GPTMR。 + # Review C4: on a SoC with a PWM peripheral HPMPWM does not drive a GPTMR. + self.assertNotIn("capabilities", index_5361["GPTMR0"]) class Mspm0Models(TestCase): diff --git a/tests/test_pin_project.py b/tests/test_pin_project.py index d637011..61fdac5 100644 --- a/tests/test_pin_project.py +++ b/tests/test_pin_project.py @@ -343,9 +343,61 @@ def test_the_device_the_package_and_the_assignments_come_from_the_syscfg(self): gpio = assignments["PB22"] self.assertEqual( (gpio["peripheral"], gpio["function"], gpio["label"]), - ("GPIOB", "P22", "PIN_KEY1"), + ("GPIOB", "P22", "KEY1"), ) + def test_settings_follow_what_gen_generates(self): + # 审查 A1:目标模式的 I2C 和外设模式的 SPI 不生成对象,也就没有 libxr_config 条目。 + # Review A1: an I2C in target mode and an SPI in peripheral mode generate no object, so + # they have no libxr_config entry. + syscfg = self.PROJECT + textwrap.dedent("""\ + const I2C = scripting.addModule("/ti/driverlib/I2C", {}, false); + const I2C1 = I2C.addInstance(); + const I2C2 = I2C.addInstance(); + I2C1.$name = "I2C_TARGET"; + I2C1.basicEnableTarget = true; + I2C1.peripheral.$assign = "I2C1"; + I2C1.peripheral.sdaPin.$assign = "PB3"; + I2C1.peripheral.sclPin.$assign = "PB2"; + I2C2.$name = "I2C_0"; + I2C2.basicEnableController = true; + I2C2.peripheral.$assign = "I2C0"; + I2C2.peripheral.sdaPin.$assign = "PA10"; + I2C2.peripheral.sclPin.$assign = "PA11"; + const SPI = scripting.addModule("/ti/driverlib/SPI", {}, false); + const SPI1 = SPI.addInstance(); + SPI1.$name = "SPI_PERIPH"; + SPI1.mode = "PERIPHERAL"; + SPI1.peripheral.$assign = "SPI0"; + SPI1.peripheral.sclkPin.$assign = "PA6"; + """) + peripherals = self.project(syscfg)["project"]["peripherals"] + self.assertNotIn("config", peripherals["I2C1"]) + self.assertNotIn("config", peripherals["SPI0"]) + self.assertEqual(peripherals["I2C0"]["config"][0]["key"], "i2c0") + + def test_gpio_pins_by_port_and_number_and_their_object_names(self): + # 审查 A3:TI 例程的端口加引脚号写法也读得到;标签是 gen 生成的对象名(PIN_0 得到 + # gpio_btn_pin_0)。 + # Review A3: the port plus pin number form of TI's examples is read as well; the label + # is the object name gen generates (PIN_0 gives gpio_btn_pin_0). + syscfg = self.PROJECT + textwrap.dedent("""\ + const GPIO2 = GPIO.addInstance(); + const GPIO3 = GPIO.addInstance(); + GPIO2.$name = "GPIO_LEDS"; + GPIO2.port = "PORTA"; + GPIO2.associatedPins.create(1); + GPIO2.associatedPins[0].$name = "USER_LED_1"; + GPIO2.associatedPins[0].assignedPin = "26"; + GPIO3.$name = "GPIO_BTN"; + GPIO3.associatedPins.create(1); + GPIO3.associatedPins[0].$name = "PIN_0"; + GPIO3.associatedPins[0].pin.$assign = "PA7"; + """) + assignments = self.project(syscfg)["project"]["assignments"] + self.assertEqual(assignments["PA26"]["label"], "USER_LED_1") + self.assertEqual(assignments["PA7"]["label"], "gpio_btn_pin_0") + def test_a_singleton_module_is_its_own_instance(self): # DAC12 没有 addInstance,直接配在模块变量上。 # DAC12 has no addInstance; the module variable is configured directly. @@ -629,6 +681,33 @@ def test_two_functions_on_one_pad_are_reported(self): ) self.assertEqual(info["project"]["assignments"]["PA00"]["signal"], "UART0_TXD") + def test_the_settings_follow_what_gen_generates(self): + # 审查 A1、A2:缺 SDA 的 I2C 没有条目;GPIO 改名的键不分大小写,保留文件的写法;分给 + # GPIO0 以外控制器的引脚没有改名项(gen 不为它生成对象)。 + # Review A1, A2: an I2C without SDA has no entry; the GPIO rename key matches in any + # case and keeps the file's spelling; a pin on a controller other than GPIO0 has no + # rename (gen makes no object for it). + hpmpc = json.loads(self.HPMPC) + function = hpmpc["content"]["pinmux"]["functions"]["init_bsp_pins"] + function["selectPins"]["PA09"] = {"signal": "GPIO.A.A[09]", "padCtls": {}} + function["managers"] = {"gpiom": {"PA09": {"gpioController": "2"}}} + files = self.project_files() + files["boards/board/tool_config.hpmpc"] = json.dumps(hpmpc) + files["User/libxr_config.yaml"] = "GPIO:\n PA10: led\n" + peripherals = self.project(files)["project"]["peripherals"] + self.assertNotIn("config", peripherals["I2C0"]) + self.assertEqual( + peripherals["GPIOA"]["config"], + [{"section": "GPIO", "key": None, "present": True, "params": {"PA10": "led"}}], + ) + + def test_no_fallback_when_every_call_is_conditional(self): + # 审查 C2:init_bsp_pins 只在 #if 里调用时不读它(O2),也不退回它。 + # Review C2: init_bsp_pins called only inside #if is not read (O2), not even as the + # fallback. + main = "int main(void)\n{\n#if USE_PINS\n init_bsp_pins();\n#endif\n}\n" + self.assertEqual(self.project(self.project_files(main))["project"]["assignments"], {}) + def test_a_gptmr_on_a_soc_with_a_pwm_peripheral_has_no_pwm_entry(self): # 与解析一致:HPM5361 有 PWM 外设,GPTMR 只作展示,libxr_config 里没有它的 PWM 条目。 # As parsed: a HPM5361 has a PWM peripheral, so a GPTMR is display-only and has no PWM @@ -734,10 +813,18 @@ def test_a_hpmpc_without_a_soc_needs_the_model(self): ) def test_a_peripheral_is_tied_to_its_libxr_config_settings(self): - # HPM 生成 I2C 的设置和 GPIO 的改名(pa10,PA03 -> pa3);UART 没有设置段。 + # HPM 生成 I2C 的设置和 GPIO 的改名(pa10,PA03 -> pa3);UART 没有设置段。I2C 要有 + # SCL 和 SDA 才生成(与解析一致),这里补上 SDA。 # An HPM generates the I2C settings and the GPIO renames (pa10, PA03 -> pa3); a UART has - # no settings section. + # no settings section. An I2C generates only with SCL and SDA (as parsed), so SDA is + # added here. + hpmpc = json.loads(self.HPMPC) + hpmpc["content"]["pinmux"]["functions"]["init_bsp_pins"]["selectPins"]["PA02"] = { + "signal": "I2C0.A.SDA", + "padCtls": {}, + } files = self.project_files() + files["boards/board/tool_config.hpmpc"] = json.dumps(hpmpc) files["User/libxr_config.yaml"] = "I2C:\n i2c0:\n speed: 100000\nGPIO:\n pa10: LED\n" peripherals = self.project(files)["project"]["peripherals"] self.assertEqual( From 33ac753c911b616401ec202f7ef0168bf258334c Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 21:54:03 +0100 Subject: [PATCH 28/34] Name HPM and the .syscfg/.hpmpc inputs in the help of libxr pins The help still said STM32 and MSPM0 only and that -d reads the ti_msp_dl_config.h of an MSPM0; libxr pins supports HPM too and reads the root .syscfg of an MSPM0 and the .hpmpc of an HPM. An HPM example is added. --- src/libxr/cli.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/libxr/cli.py b/src/libxr/cli.py index c7ca814..7b3680c 100644 --- a/src/libxr/cli.py +++ b/src/libxr/cli.py @@ -906,13 +906,14 @@ def _add_pins(commands) -> None: commands, "pins", tr( - "print the package and pin layout of a chip model (STM32, MSPM0)", - "打印芯片型号的封装和引脚布局(STM32、MSPM0)", + "print the package and pin layout of a chip model (STM32, MSPM0, HPM)", + "打印芯片型号的封装和引脚布局(STM32、MSPM0、HPM)", ), cmd_pins, epilog=tr("examples:", "示例:") + "\n libxr pins STM32H723VGT6\n libxr pins MSPM0G3507SPMR" + "\n libxr pins MSPM0G3507 --package LQFP-64 --format json" + + "\n libxr pins HPM5301" + "\n libxr pins -d path/to/project", formatter_class=argparse.RawDescriptionHelpFormatter, ) @@ -928,10 +929,11 @@ def _add_pins(commands) -> None: "-d", "--directory", help=tr( - "project directory: overlay the signals it has selected (an STM32CubeMX .ioc, or a " - "SysConfig ti_msp_dl_config.h) and their libxr_config.yaml settings", - "工程目录:叠加其中已选的信号(STM32CubeMX 的 .ioc 或 SysConfig 的 " - "ti_msp_dl_config.h)和它们在 libxr_config.yaml 中的设置", + "project directory: overlay the signals it has selected (an STM32CubeMX .ioc, the " + "root SysConfig .syscfg of an MSPM0, or the .hpmpc under boards/ of an HPM) and " + "their libxr_config.yaml settings", + "工程目录:叠加其中已选的信号(STM32CubeMX 的 .ioc、MSPM0 根目录的 SysConfig " + ".syscfg,或 HPM 在 boards/ 下的 .hpmpc)和它们在 libxr_config.yaml 中的设置", ), ) parser.add_argument( @@ -947,10 +949,10 @@ def _add_pins(commands) -> None: "-p", "--package", help=tr( - "package, for a model that does not name it (MSPM0: LQFP-64, PM, ...); with -d an " - "MSPM0 takes it from the SysConfig project", - "封装,用于型号中没有封装的情况(MSPM0:LQFP-64、PM 等);用 -d 时 MSPM0 取自 " - "SysConfig 工程", + "package, for a model that does not name it (MSPM0: LQFP-64, PM, ...; HPM: QFN48, " + "...); with -d it comes from the SysConfig or Pinmux Tool project", + "封装,用于型号中没有封装的情况(MSPM0:LQFP-64、PM 等;HPM:QFN48 等);用 -d 时" + "取自 SysConfig 或 Pinmux Tool 工程", ), ) parser.add_argument( From 473fd1924b55ff87524054e87fe4fe51681cd163 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Wed, 7 Oct 2026 23:51:23 +0100 Subject: [PATCH 29/34] Document the MSPM0 and HPM flows and the pin layout of the three platforms in the README --- README.md | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 135 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 98f6050..659d780 100644 --- a/README.md +++ b/README.md @@ -14,14 +14,16 @@ LibXR 代码生成工具 / Code generator for LibXR [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FJiu-xiao%2FLibXR_CppCodeGenerator.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FJiu-xiao%2FLibXR_CppCodeGenerator?ref=badge_shield) LibXR_CppCodeGenerator 由各平台开发工具的工程生成使用 [LibXR](https://github.com/xrobot-org/libxr) -的 C++ 代码,以 pip 包 `libxr` 发布,命令为 `libxr`。目前支持 STM32:它读取 STM32CubeMX 工程的 -`.ioc` 文件,生成外设对象和入口函数 `app_main`,并把 LibXR 接入工程的 CMake 构建。 +的 C++ 代码,以 pip 包 `libxr` 发布,命令为 `libxr`。目前支持三个平台:STM32 读取 STM32CubeMX 工程的 +`.ioc` 文件,MSPM0 读取 SysConfig 工程的 `.syscfg`,HPM 读取 HPM Pinmux Tool 工程的 `.hpmpc`;三者都 +生成外设对象和入口函数 `app_main`,STM32 的命令另外把 LibXR 接入工程的 CMake 构建。 LibXR_CppCodeGenerator generates C++ code that uses [LibXR](https://github.com/xrobot-org/libxr) from the projects of each platform's development tool. It is published as the pip package -`libxr`, with the command `libxr`. STM32 is supported so far: it reads the `.ioc` file of an -STM32CubeMX project, generates the peripheral objects and the entry function `app_main`, and -adds LibXR to the project's CMake build. +`libxr`, with the command `libxr`. Three platforms are supported: STM32 reads the `.ioc` file of +an STM32CubeMX project, MSPM0 reads the `.syscfg` of a SysConfig project, and HPM reads the +`.hpmpc` of an HPM Pinmux Tool project; all three generate the peripheral objects and the entry +function `app_main`, and the STM32 commands also add LibXR to the project's CMake build. --- @@ -644,11 +646,131 @@ sectors: --- +## 🧩 MSPM0 / MSPM0 + +`libxr mspm0 setup` 面向 SysConfig 工程:根目录有一份 `.syscfg` 文件,`main.c` 调用 SysConfig 生成的 +`SYSCFG_DL_init()` 后进入 `app_main()`。命令写 `.gitignore`(已有的不动),解析工程到 `.config.yaml`, +生成 `User/app_main.cpp`、`app_main.h` 和 `libxr_config.yaml`。解析时运行 SysConfig,需要 +`MSPM0_SDK_INSTALL_DIR` 与 `SYSCONFIG_TOOL` 两个环境变量: + +`libxr mspm0 setup` works on a SysConfig project: one `.syscfg` file at the root, and a `main.c` +that calls the SysConfig-generated `SYSCFG_DL_init()` before entering `app_main()`. The command +writes `.gitignore` (an existing one stays), parses the project into `.config.yaml`, and generates +`User/app_main.cpp`, `app_main.h` and `libxr_config.yaml`. Parsing runs SysConfig, which needs the +environment variables `MSPM0_SDK_INSTALL_DIR` and `SYSCONFIG_TOOL`: + +```bash +$ libxr mspm0 setup +[INFO] Processing mspm0g3507_minidb48.syscfg... +[INFO] Running SysConfig on mspm0g3507_minidb48.syscfg +[INFO] Configuration exported to: .\.config.yaml +[INFO] System: bare metal +[INFO] .\User\libxr_config.yaml does not exist; creating it with the default settings +[INFO] terminal_source is not set; using uart0 +[INFO] Generated User: wrote app_main.cpp, app_main.h, libxr_config.yaml + +===== [Configuration Summary] ===== + +MCU: MSPM0 MSPM0G3507 + +GPIO (4 pins): + LED1: PB8, OUTPUT + LED2: PA16, OUTPUT + KEY1: PB24, INPUT, FALL interrupt + KEY2: PB20, INPUT, FALL interrupt + +Active Peripherals: + UART: 2 instance(s) + UART_0 + UART_1 + I2C: 2 instance(s) + I2C_0 + I2C_1 + SPI: 1 instance(s) + SPI_1 + PWM: 1 instance(s) + PWM_TIMA1 + Other: 5 instance(s) + ADC12_0 + ADC12_1 + DAC0 + MCAN_0 + QEI_TIMG8 +``` + +缓冲区大小等设置在 `libxr_config.yaml` 中。GPIO 以引脚标签命名(`LED1`),其余对象以小写的实例命名 +(`uart0`、`i2c0`、`pwm_tima1_c0`);`terminal_source` 指定终端使用的串口,未设置时用第一个 UART。 +流程、设置与约束的完整说明见 [MSPM0 代码生成](https://xrobot.work/docs/code_gen/mspm0)。 + +The settings such as the buffer sizes live in `libxr_config.yaml`. GPIO objects are named after +the pin labels (`LED1`) and the others after their lowercase instances (`uart0`, `i2c0`, +`pwm_tima1_c0`); `terminal_source` names the UART the terminal uses, the first one when it is not +set. The flow, the settings and their constraints are described in +[MSPM0 code generation](https://xrobot.work/en/docs/code_gen/mspm0). + +--- + +## 🧩 HPM / HPM + +`libxr hpm setup` 面向 HPM SDK 工程:根目录有 `app.yaml`,`boards//` 下有唯一的 `.hpmpc` 文件。 +步骤与 MSPM0 相同,输出也是同样的三个文件;引脚从 `.hpmpc` 中 `selectPins` 的信号和 `main.c` 在预处理 +条件之外调用的引脚函数读出,`main.c` 没有这些调用时用 `boards//pinmux.c` 的 `init_bsp_pins()`。 +生成的对象按平台命名:GPIO 为 `pa10` 这样的引脚名,其余为小写的实例(`i2c3`);GPTMR 输出为 +`pwm_gptmr0_ch1`,在 SoC 没有 PWM 外设时生成(HPM5301 生成,HPM5361 归入 Other): + +`libxr hpm setup` works on an HPM SDK project: `app.yaml` at the root and the single `.hpmpc` file +of `boards//`. The steps are the ones of MSPM0, and the output is the same three files; the +pins are read from the signals `selectPins` selects in the `.hpmpc` and from the pinmux functions +`main.c` calls outside preprocessor conditions, falling back to the `init_bsp_pins()` of +`boards//pinmux.c` when `main.c` makes no such calls. The generated objects are named after +the platform: GPIO takes the pin name (`pa10`) and the others the lowercase instance (`i2c3`), and +a GPTMR output becomes `pwm_gptmr0_ch1`, generated when the SoC has no PWM peripheral (HPM5301 +generates it, on HPM5361 it is listed under Other): + +```bash +$ libxr hpm setup +[INFO] Configuration exported to: .\.config.yaml +[INFO] System: bare metal +[INFO] .\User\libxr_config.yaml does not exist; creating it with the default settings +[INFO] Generated User: wrote app_main.cpp, app_main.h, libxr_config.yaml + +===== [Configuration Summary] ===== + +SoC: HPM5301 (QFN48) + +GPIO (2 pins): + pa10: PA10 + pa3: PA03 + +Active Peripherals: + I2C: 1 instance(s) + I2C3 + PWM: 1 instance(s) + GPTMR0 + Other: 7 instance(s) + UART0 + UART3 + SPI1 + ADC0 + ACMP + USBPHY + USB0 +``` + +支持 HPM5301(QFN48)和 HPM5361(LQFP100、LQFP64、QFN48)。UART、SPI 等外设目前只识别,生成时列入 +Other。流程、命名与设置的完整说明见 [HPM 代码生成](https://xrobot.work/docs/code_gen/hpm)。 + +HPM5301 (QFN48) and HPM5361 (LQFP100, LQFP64, QFN48) are supported. Peripherals such as UART and +SPI are recognized for now and listed under Other in the generation. The flow, the naming and the +settings are described in [HPM code generation](https://xrobot.work/en/docs/code_gen/hpm). + +--- + ## 📌 引脚布局 / Pin Layout -`libxr pins` 按型号给出芯片的封装和引脚布局:每个引脚的封装位置、名称、类型和全部可选信号。型号的前缀决定平台,目前支持 STM32 和 MSPM0;输出为 YAML,`--format json` 输出 JSON。 +`libxr pins` 按型号给出芯片的封装和引脚布局:每个引脚的封装位置、名称、类型和全部可选信号。型号的前缀决定平台,目前支持 STM32、MSPM0 和 HPM;HPM 的型号就是 SoC 名(`HPM5301`),有多个封装的 SoC(HPM5361)用 `--package` 选择(`LQFP100`、`LQFP64`、`QFN48`)。输出为 YAML,`--format json` 输出 JSON。 -`libxr pins` prints the package and pin layout of a chip model: for each pin its position on the package, name, type and all selectable signals. The prefix of the model chooses the platform; STM32 and MSPM0 are supported. The output is YAML, or JSON with `--format json`. +`libxr pins` prints the package and pin layout of a chip model: for each pin its position on the package, name, type and all selectable signals. The prefix of the model chooses the platform; STM32, MSPM0 and HPM are supported. The model of an HPM is the SoC name (`HPM5301`), and a SoC with several packages (HPM5361) selects one with `--package` (`LQFP100`, `LQFP64`, `QFN48`). The output is YAML, or JSON with `--format json`. ```bash $ libxr pins MSPM0G3507SPMR @@ -674,21 +796,21 @@ pin_count: 64 # ... ``` -- `libxr pins -d <工程目录>` 叠加工程已选的信号:STM32 读 CubeMX 的 `.ioc`,MSPM0 读 SysConfig 生成的 `ti_msp_dl_config.h`(型号取自工程;MSPM0 的封装取自 `.syscfg` 的 `--package`,或其 `--board` 对应的 LaunchPad,也可以用 `--package` 指定)。输出多一个 `project` 段:`assignments` 是每个引脚选了什么(信号、外设、功能、GPIO 标签),`peripherals` 是每个外设用到的引脚;STM32 的外设还给出它在 `libxr_config.yaml` 中的段和键(如 `USART.usart1`)和当前参数,文件默认为 `User/libxr_config.yaml`,可用 `-c` 指定。 +- `libxr pins -d <工程目录>` 叠加工程已选的信号:STM32 读 CubeMX 的 `.ioc`,MSPM0 读根目录的 `.syscfg`(型号取自工程,封装取自 SysConfig 的 `--package` 或 `--board` 对应的 LaunchPad),HPM 读 `boards/` 下的 `.hpmpc` 和 `main.c` 在预处理条件之外调用的引脚函数(封装由工程解析得到,也可用 `--package` 指定)。输出多一个 `project` 段:`assignments` 是每个引脚选了什么(信号、外设、功能、GPIO 标签和是否在器件数据中匹配),`peripherals` 是每个外设用到的引脚和它在 `libxr_config.yaml` 中的设置条目(`config` 是列表,每项有段、键、文件中是否已存在和当前参数);文件默认为 `User/libxr_config.yaml`,可用 `-c` 指定。HPM 的 GPIO 是整段改名:`config` 一项的键为 `null`,`params` 是段内引脚名到新名的映射。 - STM32 的封装由型号决定(`STM32H723VGT6` 为 LQFP100);MSPM0 的封装取自型号后缀中的代码(`MSPM0G3507SPMR` 的 `PM`),型号中没有时用 `--package` 给出(`LQFP-64`、`PM` 或 `LQFP-64(PM)`)。 - `pin_count` 是封装上的位置数。一个位置可以有多个条目:STM32G0 的 PA9 和 PA11 可以互换,共用一个位置。 - `peripherals` 列出从信号名识别出的全部外设和每个功能可选的引脚(`USART1` 的 `TX` 可以接 `PA9`、`PB6`、`PB14`)。识别只看信号名,ETH、FMC、OctoSPI 这些 LibXR 没有对应抽象的外设也会列出。普通 GPIO 按端口列出(`GPIOA` 的 `P9` 是 `PA9`);STM32 的外部中断列为 `EXTI`,`LINE9` 可以来自任一端口的第 9 脚,STM32 的引脚另有 `gpio_modes`(Input、Output、Analog、EXTI 等);有输出通道的定时器带 `capabilities: [pwm]`。TI 的器件数据没有中断信息,所以 MSPM0 不列 `EXTI`。 - MSPM0 的引脚还有 `iomux_pincm` 和每个信号的模式号 `modes`。 - MSPM0 外设的设置取自 `.syscfg`(SysConfig 的配置脚本):每个已选外设的 `sysconfig` 有它的模块、名字(`UART_0`)和参数(`targetBaudRate`、`enabledInterrupts` 等),`project.sysconfig_file` 是读取的文件。只读,修改在 SysConfig 里进行;表达式原样保留为字符串,引脚的指定和求解器内部的项不收。 -- 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件)。数据文件和两份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 MSPM0 的 `.syscfg` 里可能只写了 `--board`(LaunchPad),封装由 MSPM0 SDK 的板子定义得到(`mspm0_boards.json`,BSD-3-Clause,许可证文本为 `LICENSE-TI-BOARDS.txt`)。 +- 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件),HPM 来自 HPM SDK 的 `hpm_iomux.h`、`hpm_soc_ip.h` 和 HPM5300 数据手册的引脚表(BSD-3-Clause)。数据文件和各份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 MSPM0 的 `.syscfg` 里可能只写了 `--board`(LaunchPad),封装由 MSPM0 SDK 的板子定义得到(`mspm0_boards.json`,BSD-3-Clause,许可证文本为 `LICENSE-TI-BOARDS.txt`)。 -- `libxr pins -d ` overlays the signals a project has selected: the CubeMX `.ioc` for an STM32, the `ti_msp_dl_config.h` SysConfig generates for an MSPM0 (the model comes from the project; the package of an MSPM0 comes from the `.syscfg`, or from `--package`). The output gets a `project` section: `assignments` is what each pin selected (signal, peripheral, function, GPIO label) and `peripherals` the pins each peripheral uses; an STM32 peripheral also gets its section and key in `libxr_config.yaml` (such as `USART.usart1`) and its current parameters, from `User/libxr_config.yaml` by default or the file given with `-c`. +- `libxr pins -d ` overlays the signals a project has selected: the CubeMX `.ioc` for an STM32, the `.syscfg` at the root for an MSPM0 (the model comes from the project, and the package from SysConfig's `--package` or the LaunchPad its `--board` names), and the `.hpmpc` under `boards/` plus the pinmux functions `main.c` calls outside preprocessor conditions for an HPM (the package comes from the project, or from `--package`). The output gets a `project` section: `assignments` is what each pin selected (signal, peripheral, function, GPIO label and whether it matched the device data), and `peripherals` the pins each peripheral uses and its entries in `libxr_config.yaml` (`config` is a list whose items carry the section, the key, whether the file already has it and the current parameters); the file is `User/libxr_config.yaml` by default or the one given with `-c`. The GPIO rename of an HPM is one whole section: the `config` item has the key `null`, and `params` maps the pin names of the section to their new names. - The package of an STM32 is part of the model (`STM32H723VGT6` is LQFP100); that of an MSPM0 comes from the code in the model suffix (`PM` of `MSPM0G3507SPMR`), or from `--package` when the model has none (`LQFP-64`, `PM` or `LQFP-64(PM)`). - `pin_count` is the number of positions on the package. A position can have several entries: PA9 and PA11 of an STM32G0 can be swapped and share one position. - `peripherals` lists every peripheral recognized from the signal names, with the pins that can carry each function (`TX` of `USART1` can use `PA9`, `PB6` or `PB14`). Recognition looks at the signal names only, so peripherals LibXR has no abstraction for, such as ETH, FMC and OctoSPI, are listed too. Plain GPIO is listed by port (`P9` of `GPIOA` is `PA9`); the external interrupts of an STM32 are listed as `EXTI`, where `LINE9` can come from pin 9 of any port, and an STM32 pin also has `gpio_modes` (Input, Output, Analog, EXTI, ...); a timer with output channels carries `capabilities: [pwm]`. TI's device data has no interrupt information, so an MSPM0 lists no `EXTI`. - An MSPM0 pin also has `iomux_pincm` and `modes`, the mode of each signal. - The settings of an MSPM0 peripheral come from the `.syscfg`, the configuration script of SysConfig: each selected peripheral has a `sysconfig` with its module, its name (`UART_0`) and its parameters (`targetBaudRate`, `enabledInterrupts`, ...), and `project.sysconfig_file` is the file read. They are read-only, edited in SysConfig; an expression is kept as written, as a string, and pin assignments and the solver's own items are left out. -- The data comes from the vendors: STM32 from ST's [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data) (BSD-3-Clause), MSPM0 from the device data of TI SysConfig (TI limited license, for TI devices only). The data files and both license texts are in `src/libxr/pin_data/` and are distributed with the package; `scripts/build_pin_data.py` rebuilds them. A `.syscfg` of an MSPM0 may name only a `--board` (a LaunchPad); the package then comes from the board definitions of the MSPM0 SDK (`mspm0_boards.json`, BSD-3-Clause, license text in `LICENSE-TI-BOARDS.txt`). +- The data comes from the vendors: STM32 from ST's [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data) (BSD-3-Clause), MSPM0 from the device data of TI SysConfig (TI limited license, for TI devices only), and HPM from the `hpm_iomux.h` and `hpm_soc_ip.h` of the HPM SDK and the pin tables of the HPM5300 datasheet (BSD-3-Clause). The data files and the license texts are in `src/libxr/pin_data/` and are distributed with the package; `scripts/build_pin_data.py` rebuilds them. A `.syscfg` of an MSPM0 may name only a `--board` (a LaunchPad); the package then comes from the board definitions of the MSPM0 SDK (`mspm0_boards.json`, BSD-3-Clause, license text in `LICENSE-TI-BOARDS.txt`). --- @@ -705,6 +827,8 @@ belong to one platform sit under its name. | `libxr gen` | 由工程 YAML 生成入口源文件 | Generate the entry source from the project YAML | | `libxr pins` | 打印某个型号的封装和引脚布局 | Print the package and pin layout of a model | | `libxr stm32 setup` | 为 CubeMX 工程加入 LibXR,生成代码并接入 CMake | Add LibXR to a CubeMX project, generate the code and integrate CMake | +| `libxr mspm0 setup` | 为 SysConfig 工程生成 LibXR 代码 | Generate LibXR code for a SysConfig project | +| `libxr hpm setup` | 为 HPM 工程生成 LibXR 代码 | Generate LibXR code for an HPM project | | `libxr stm32 cubemx-gen` | 以脚本模式运行 STM32CubeMX,由 `.ioc` 重新生成 CubeMX 工程 | Run STM32CubeMX in script mode to regenerate the CubeMX project from the `.ioc` file | | `libxr stm32 cmake` | 把 LibXR 接入 CubeMX 的 CMake 工程 | Integrate LibXR into the CubeMX CMake project | | `libxr stm32 flash-info` | 打印某个型号的 Flash 布局 | Print the flash layout of a model | From 3f55a8104aa4643f2a77daa89587ffa92166a3c6 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Thu, 8 Oct 2026 00:51:27 +0100 Subject: [PATCH 30/34] Correct the MSPM0, HPM and pin layout sections of the README Parsing an MSPM0 project runs SysConfig only when SYSCONFIG_TOOL and MSPM0_SDK_INSTALL_DIR are set and reuses a build output otherwise; the two sections get headings in the README's style; UART, I2C and SPI objects take the lower-case peripheral name; the HPM init_bsp_pins fallback applies only when main calls no pinmux function; the package rules and the data license name HPM. --- README.md | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 659d780..6515277 100644 --- a/README.md +++ b/README.md @@ -646,18 +646,20 @@ sectors: --- -## 🧩 MSPM0 / MSPM0 +## 🧩 从 .syscfg 到代码 / From .syscfg to Code `libxr mspm0 setup` 面向 SysConfig 工程:根目录有一份 `.syscfg` 文件,`main.c` 调用 SysConfig 生成的 `SYSCFG_DL_init()` 后进入 `app_main()`。命令写 `.gitignore`(已有的不动),解析工程到 `.config.yaml`, -生成 `User/app_main.cpp`、`app_main.h` 和 `libxr_config.yaml`。解析时运行 SysConfig,需要 -`MSPM0_SDK_INSTALL_DIR` 与 `SYSCONFIG_TOOL` 两个环境变量: +生成 `User/app_main.cpp`、`app_main.h` 和 `libxr_config.yaml`。设置了环境变量 `SYSCONFIG_TOOL` 和 +`MSPM0_SDK_INSTALL_DIR` 时,解析运行一次 SysConfig;没有设置时复用构建目录中比 `.syscfg` 新的 SysConfig +输出。下例设置了这两个变量: `libxr mspm0 setup` works on a SysConfig project: one `.syscfg` file at the root, and a `main.c` that calls the SysConfig-generated `SYSCFG_DL_init()` before entering `app_main()`. The command writes `.gitignore` (an existing one stays), parses the project into `.config.yaml`, and generates -`User/app_main.cpp`, `app_main.h` and `libxr_config.yaml`. Parsing runs SysConfig, which needs the -environment variables `MSPM0_SDK_INSTALL_DIR` and `SYSCONFIG_TOOL`: +`User/app_main.cpp`, `app_main.h` and `libxr_config.yaml`. With the environment variables `SYSCONFIG_TOOL` +and `MSPM0_SDK_INSTALL_DIR` set, parsing runs SysConfig once; without them it reuses a SysConfig output +newer than the `.syscfg` in the build directories. The example has both variables set: ```bash $ libxr mspm0 setup @@ -698,23 +700,23 @@ Active Peripherals: QEI_TIMG8 ``` -缓冲区大小等设置在 `libxr_config.yaml` 中。GPIO 以引脚标签命名(`LED1`),其余对象以小写的实例命名 -(`uart0`、`i2c0`、`pwm_tima1_c0`);`terminal_source` 指定终端使用的串口,未设置时用第一个 UART。 +缓冲区大小等设置在 `libxr_config.yaml` 中。GPIO 以引脚标签命名(`LED1`),UART、I2C、SPI 以小写的外设名 +命名(`uart0`、`i2c0`),PWM 为 `pwm_tima1_c0`;`terminal_source` 指定终端使用的串口,未设置时用第一个 UART。 流程、设置与约束的完整说明见 [MSPM0 代码生成](https://xrobot.work/docs/code_gen/mspm0)。 The settings such as the buffer sizes live in `libxr_config.yaml`. GPIO objects are named after -the pin labels (`LED1`) and the others after their lowercase instances (`uart0`, `i2c0`, -`pwm_tima1_c0`); `terminal_source` names the UART the terminal uses, the first one when it is not +the pin labels (`LED1`), UART, I2C and SPI after their lowercase peripheral names (`uart0`, `i2c0`), +and a PWM is `pwm_tima1_c0`; `terminal_source` names the UART the terminal uses, the first one when it is not set. The flow, the settings and their constraints are described in [MSPM0 code generation](https://xrobot.work/en/docs/code_gen/mspm0). --- -## 🧩 HPM / HPM +## 🧩 从 .hpmpc 到代码 / From .hpmpc to Code `libxr hpm setup` 面向 HPM SDK 工程:根目录有 `app.yaml`,`boards//` 下有唯一的 `.hpmpc` 文件。 步骤与 MSPM0 相同,输出也是同样的三个文件;引脚从 `.hpmpc` 中 `selectPins` 的信号和 `main.c` 在预处理 -条件之外调用的引脚函数读出,`main.c` 没有这些调用时用 `boards//pinmux.c` 的 `init_bsp_pins()`。 +条件之外调用的引脚函数读出,`main` 完全没有调用引脚函数时用 `boards//pinmux.c` 的 `init_bsp_pins()`。 生成的对象按平台命名:GPIO 为 `pa10` 这样的引脚名,其余为小写的实例(`i2c3`);GPTMR 输出为 `pwm_gptmr0_ch1`,在 SoC 没有 PWM 外设时生成(HPM5301 生成,HPM5361 归入 Other): @@ -722,7 +724,7 @@ set. The flow, the settings and their constraints are described in of `boards//`. The steps are the ones of MSPM0, and the output is the same three files; the pins are read from the signals `selectPins` selects in the `.hpmpc` and from the pinmux functions `main.c` calls outside preprocessor conditions, falling back to the `init_bsp_pins()` of -`boards//pinmux.c` when `main.c` makes no such calls. The generated objects are named after +`boards//pinmux.c` when `main` calls no pinmux function at all. The generated objects are named after the platform: GPIO takes the pin name (`pa10`) and the others the lowercase instance (`i2c3`), and a GPTMR output becomes `pwm_gptmr0_ch1`, generated when the SoC has no PWM peripheral (HPM5301 generates it, on HPM5361 it is listed under Other): @@ -797,20 +799,20 @@ pin_count: 64 ``` - `libxr pins -d <工程目录>` 叠加工程已选的信号:STM32 读 CubeMX 的 `.ioc`,MSPM0 读根目录的 `.syscfg`(型号取自工程,封装取自 SysConfig 的 `--package` 或 `--board` 对应的 LaunchPad),HPM 读 `boards/` 下的 `.hpmpc` 和 `main.c` 在预处理条件之外调用的引脚函数(封装由工程解析得到,也可用 `--package` 指定)。输出多一个 `project` 段:`assignments` 是每个引脚选了什么(信号、外设、功能、GPIO 标签和是否在器件数据中匹配),`peripherals` 是每个外设用到的引脚和它在 `libxr_config.yaml` 中的设置条目(`config` 是列表,每项有段、键、文件中是否已存在和当前参数);文件默认为 `User/libxr_config.yaml`,可用 `-c` 指定。HPM 的 GPIO 是整段改名:`config` 一项的键为 `null`,`params` 是段内引脚名到新名的映射。 -- STM32 的封装由型号决定(`STM32H723VGT6` 为 LQFP100);MSPM0 的封装取自型号后缀中的代码(`MSPM0G3507SPMR` 的 `PM`),型号中没有时用 `--package` 给出(`LQFP-64`、`PM` 或 `LQFP-64(PM)`)。 +- STM32 的封装由型号决定(`STM32H723VGT6` 为 LQFP100);MSPM0 的封装取自型号后缀中的代码(`MSPM0G3507SPMR` 的 `PM`),型号中没有时用 `--package` 给出(`LQFP-64`、`PM` 或 `LQFP-64(PM)`);HPM 的型号是 SoC 名,只有一种封装的 SoC(HPM5301)不必给出封装,`-d` 时封装取自 `.hpmpc`。 - `pin_count` 是封装上的位置数。一个位置可以有多个条目:STM32G0 的 PA9 和 PA11 可以互换,共用一个位置。 - `peripherals` 列出从信号名识别出的全部外设和每个功能可选的引脚(`USART1` 的 `TX` 可以接 `PA9`、`PB6`、`PB14`)。识别只看信号名,ETH、FMC、OctoSPI 这些 LibXR 没有对应抽象的外设也会列出。普通 GPIO 按端口列出(`GPIOA` 的 `P9` 是 `PA9`);STM32 的外部中断列为 `EXTI`,`LINE9` 可以来自任一端口的第 9 脚,STM32 的引脚另有 `gpio_modes`(Input、Output、Analog、EXTI 等);有输出通道的定时器带 `capabilities: [pwm]`。TI 的器件数据没有中断信息,所以 MSPM0 不列 `EXTI`。 - MSPM0 的引脚还有 `iomux_pincm` 和每个信号的模式号 `modes`。 - MSPM0 外设的设置取自 `.syscfg`(SysConfig 的配置脚本):每个已选外设的 `sysconfig` 有它的模块、名字(`UART_0`)和参数(`targetBaudRate`、`enabledInterrupts` 等),`project.sysconfig_file` 是读取的文件。只读,修改在 SysConfig 里进行;表达式原样保留为字符串,引脚的指定和求解器内部的项不收。 -- 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件),HPM 来自 HPM SDK 的 `hpm_iomux.h`、`hpm_soc_ip.h` 和 HPM5300 数据手册的引脚表(BSD-3-Clause)。数据文件和各份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 MSPM0 的 `.syscfg` 里可能只写了 `--board`(LaunchPad),封装由 MSPM0 SDK 的板子定义得到(`mspm0_boards.json`,BSD-3-Clause,许可证文本为 `LICENSE-TI-BOARDS.txt`)。 +- 数据来自厂商:STM32 来自 ST 的 [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data)(BSD-3-Clause),MSPM0 来自 TI SysConfig 的器件数据(TI 有限许可,只可用于 TI 器件),HPM 来自 HPM SDK 的 `hpm_iomux.h`、`hpm_soc_ip.h`(BSD-3-Clause)和 HPM5300 数据手册的引脚表。数据文件和各份许可证文本在 `src/libxr/pin_data/`,随包分发;用 `scripts/build_pin_data.py` 重新生成。 MSPM0 的 `.syscfg` 里可能只写了 `--board`(LaunchPad),封装由 MSPM0 SDK 的板子定义得到(`mspm0_boards.json`,BSD-3-Clause,许可证文本为 `LICENSE-TI-BOARDS.txt`)。 - `libxr pins -d ` overlays the signals a project has selected: the CubeMX `.ioc` for an STM32, the `.syscfg` at the root for an MSPM0 (the model comes from the project, and the package from SysConfig's `--package` or the LaunchPad its `--board` names), and the `.hpmpc` under `boards/` plus the pinmux functions `main.c` calls outside preprocessor conditions for an HPM (the package comes from the project, or from `--package`). The output gets a `project` section: `assignments` is what each pin selected (signal, peripheral, function, GPIO label and whether it matched the device data), and `peripherals` the pins each peripheral uses and its entries in `libxr_config.yaml` (`config` is a list whose items carry the section, the key, whether the file already has it and the current parameters); the file is `User/libxr_config.yaml` by default or the one given with `-c`. The GPIO rename of an HPM is one whole section: the `config` item has the key `null`, and `params` maps the pin names of the section to their new names. -- The package of an STM32 is part of the model (`STM32H723VGT6` is LQFP100); that of an MSPM0 comes from the code in the model suffix (`PM` of `MSPM0G3507SPMR`), or from `--package` when the model has none (`LQFP-64`, `PM` or `LQFP-64(PM)`). +- The package of an STM32 is part of the model (`STM32H723VGT6` is LQFP100); that of an MSPM0 comes from the code in the model suffix (`PM` of `MSPM0G3507SPMR`), or from `--package` when the model has none (`LQFP-64`, `PM` or `LQFP-64(PM)`); the model of an HPM is the SoC name, a SoC with one package (HPM5301) needs no package, and with `-d` the package comes from the `.hpmpc`. - `pin_count` is the number of positions on the package. A position can have several entries: PA9 and PA11 of an STM32G0 can be swapped and share one position. - `peripherals` lists every peripheral recognized from the signal names, with the pins that can carry each function (`TX` of `USART1` can use `PA9`, `PB6` or `PB14`). Recognition looks at the signal names only, so peripherals LibXR has no abstraction for, such as ETH, FMC and OctoSPI, are listed too. Plain GPIO is listed by port (`P9` of `GPIOA` is `PA9`); the external interrupts of an STM32 are listed as `EXTI`, where `LINE9` can come from pin 9 of any port, and an STM32 pin also has `gpio_modes` (Input, Output, Analog, EXTI, ...); a timer with output channels carries `capabilities: [pwm]`. TI's device data has no interrupt information, so an MSPM0 lists no `EXTI`. - An MSPM0 pin also has `iomux_pincm` and `modes`, the mode of each signal. - The settings of an MSPM0 peripheral come from the `.syscfg`, the configuration script of SysConfig: each selected peripheral has a `sysconfig` with its module, its name (`UART_0`) and its parameters (`targetBaudRate`, `enabledInterrupts`, ...), and `project.sysconfig_file` is the file read. They are read-only, edited in SysConfig; an expression is kept as written, as a string, and pin assignments and the solver's own items are left out. -- The data comes from the vendors: STM32 from ST's [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data) (BSD-3-Clause), MSPM0 from the device data of TI SysConfig (TI limited license, for TI devices only), and HPM from the `hpm_iomux.h` and `hpm_soc_ip.h` of the HPM SDK and the pin tables of the HPM5300 datasheet (BSD-3-Clause). The data files and the license texts are in `src/libxr/pin_data/` and are distributed with the package; `scripts/build_pin_data.py` rebuilds them. A `.syscfg` of an MSPM0 may name only a `--board` (a LaunchPad); the package then comes from the board definitions of the MSPM0 SDK (`mspm0_boards.json`, BSD-3-Clause, license text in `LICENSE-TI-BOARDS.txt`). +- The data comes from the vendors: STM32 from ST's [STM32_open_pin_data](https://github.com/STMicroelectronics/STM32_open_pin_data) (BSD-3-Clause), MSPM0 from the device data of TI SysConfig (TI limited license, for TI devices only), and HPM from the `hpm_iomux.h` and `hpm_soc_ip.h` of the HPM SDK (BSD-3-Clause) and the pin tables of the HPM5300 datasheet. The data files and the license texts are in `src/libxr/pin_data/` and are distributed with the package; `scripts/build_pin_data.py` rebuilds them. A `.syscfg` of an MSPM0 may name only a `--board` (a LaunchPad); the package then comes from the board definitions of the MSPM0 SDK (`mspm0_boards.json`, BSD-3-Clause, license text in `LICENSE-TI-BOARDS.txt`). --- From 8497382a4f305160a3e0755590b03142376f0ffd Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Thu, 8 Oct 2026 01:33:25 +0100 Subject: [PATCH 31/34] Name the xrobot gen reminder of every setup in the README The setup of every platform reminds to run xrobot gen once Modules/modules.yaml exists; the XRobot integration section named stm32 setup and the steps before modules.yaml only, and the MSPM0 and HPM example outputs lacked the reminder. --- README.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6515277..bed51dd 100644 --- a/README.md +++ b/README.md @@ -513,12 +513,16 @@ $ libxr stm32 cmake [INFO] LibXR.CMake already included in CMakeLists.txt. ``` -BSP 根目录还没有 `Modules/modules.yaml` 时,`libxr stm32 setup --xrobot` 在最后依次列出 XRobot 的设置 -命令:`xrobot init`、`xrobot module add`、`xrobot setup` 和 `xrobot instance add`。 +使用 XRobot 的工程,`libxr stm32 setup`、`libxr mspm0 setup` 和 `libxr hpm setup` 在最后给出 XRobot 的 +下一步:BSP 根目录还没有 `Modules/modules.yaml` 时,依次列出 XRobot 的设置命令 `xrobot init`、 +`xrobot module add`、`xrobot setup` 和 `xrobot instance add`;已经有了时,提醒运行 `xrobot gen`, +因为 `User/xrobot_main.hpp` 由 XRobot 生成,libxr 的 setup 不更新它。 -While the BSP root has no `Modules/modules.yaml` yet, `libxr stm32 setup --xrobot` ends by listing -the XRobot setup commands in order: `xrobot init`, `xrobot module add`, `xrobot setup` and -`xrobot instance add`. +For a project that uses XRobot, `libxr stm32 setup`, `libxr mspm0 setup` and `libxr hpm setup` end +with the next XRobot step: while the BSP root has no `Modules/modules.yaml` yet, they list the +XRobot setup commands in order, `xrobot init`, `xrobot module add`, `xrobot setup` and +`xrobot instance add`; once it exists, they remind to run `xrobot gen`, since XRobot generates +`User/xrobot_main.hpp` and the libxr setup does not update it. 详见 [与 XRobot 集成](https://xrobot.work/docs/code_gen/code-gen-xrobot-inter)。 @@ -670,6 +674,7 @@ $ libxr mspm0 setup [INFO] .\User\libxr_config.yaml does not exist; creating it with the default settings [INFO] terminal_source is not set; using uart0 [INFO] Generated User: wrote app_main.cpp, app_main.h, libxr_config.yaml +[INFO] Next: run `xrobot gen` to bring User/xrobot_main.hpp up to date; libxr setup does not update it ===== [Configuration Summary] ===== @@ -735,6 +740,7 @@ $ libxr hpm setup [INFO] System: bare metal [INFO] .\User\libxr_config.yaml does not exist; creating it with the default settings [INFO] Generated User: wrote app_main.cpp, app_main.h, libxr_config.yaml +[INFO] Next: run `xrobot gen` to bring User/xrobot_main.hpp up to date; libxr setup does not update it ===== [Configuration Summary] ===== From a59b4deea77c4a7c050585031aa0db6632813dc7 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Thu, 8 Oct 2026 17:26:20 +0100 Subject: [PATCH 32/34] Generate a power_manager object for MSPM0 and HPM MSPM0 and HPM now emit static MSPM0PowerManager / HPMPowerManager power_manager after PlatformInit and include mspm0_power.hpp / hpm_power.hpp; with XRobot the object is registered as a PowerManager (like STM32), and GPIO renames cannot take its name. The expected app_main fixtures and the README sections of both platforms follow. --- README.md | 12 ++++--- src/libxr/generator_code_hpm.py | 17 ++++++--- src/libxr/generator_code_mspm0.py | 15 +++++--- .../hpm/hpm5301evklite_expected_app_main.cpp | 4 +++ .../hpm/rmcs_slave_lite_expected_app_main.cpp | 4 +++ tests/data/mspm0/g3507_expected_app_main.cpp | 4 +++ tests/data/mspm0/g3519_expected_app_main.cpp | 4 +++ .../data/mspm0/variants_expected_app_main.cpp | 4 +++ tests/test_generator_code_hpm.py | 35 +++++++++++++++---- tests/test_generator_code_mspm0.py | 26 +++++++++++--- 10 files changed, 100 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 1130017..11fa423 100644 --- a/README.md +++ b/README.md @@ -723,12 +723,14 @@ Active Peripherals: 缓冲区大小等设置在 `libxr_config.yaml` 中。GPIO 以引脚标签命名(`LED1`),UART、I2C、SPI 以小写的外设名 命名(`uart0`、`i2c0`),PWM 为 `pwm_tima1_c0`;`terminal_source` 指定终端使用的串口,未设置时用第一个 UART。 +生成总是包含 `static MSPM0PowerManager power_manager;`,使用 XRobot 时把它登记为 `PowerManager`。 流程、设置与约束的完整说明见 [MSPM0 代码生成](https://xrobot.work/docs/code_gen/mspm0)。 The settings such as the buffer sizes live in `libxr_config.yaml`. GPIO objects are named after the pin labels (`LED1`), UART, I2C and SPI after their lowercase peripheral names (`uart0`, `i2c0`), and a PWM is `pwm_tima1_c0`; `terminal_source` names the UART the terminal uses, the first one when it is not -set. The flow, the settings and their constraints are described in +set. The generation always emits `static MSPM0PowerManager power_manager;`, registered as a +`PowerManager` with XRobot. The flow, the settings and their constraints are described in [MSPM0 code generation](https://xrobot.work/en/docs/code_gen/mspm0). --- @@ -782,11 +784,13 @@ Active Peripherals: ``` 支持 HPM5301(QFN48)和 HPM5361(LQFP100、LQFP64、QFN48)。UART、SPI 等外设目前只识别,生成时列入 -Other。流程、命名与设置的完整说明见 [HPM 代码生成](https://xrobot.work/docs/code_gen/hpm)。 +Other。生成总是包含 `static HPMPowerManager power_manager;`,使用 XRobot 时把它登记为 +`PowerManager`。流程、命名与设置的完整说明见 [HPM 代码生成](https://xrobot.work/docs/code_gen/hpm)。 HPM5301 (QFN48) and HPM5361 (LQFP100, LQFP64, QFN48) are supported. Peripherals such as UART and -SPI are recognized for now and listed under Other in the generation. The flow, the naming and the -settings are described in [HPM code generation](https://xrobot.work/en/docs/code_gen/hpm). +SPI are recognized for now and listed under Other in the generation. The generation always emits +`static HPMPowerManager power_manager;`, registered as a `PowerManager` with XRobot. The flow, the +naming and the settings are described in [HPM code generation](https://xrobot.work/en/docs/code_gen/hpm). --- diff --git a/src/libxr/generator_code_hpm.py b/src/libxr/generator_code_hpm.py index 842c417..4d9b566 100644 --- a/src/libxr/generator_code_hpm.py +++ b/src/libxr/generator_code_hpm.py @@ -93,11 +93,13 @@ "app_main", "main", "timebase", + "power_manager", "PlatformInit", "LibXR", "Thread", "UINT32_MAX", "HPMTimebase", + "HPMPowerManager", "HPMGPIO", "HPMI2C", "HPMPWM", @@ -522,6 +524,7 @@ def _sections( f"{INDENT}// Timebase and platform", f"{INDENT}static HPMTimebase timebase;", f"{INDENT}PlatformInit();", + f"{INDENT}static HPMPowerManager power_manager;", ], _gpio_section(project_data, gpio), _i2c_section(peripherals.get("I2C", [])), @@ -578,7 +581,7 @@ def _includes(project_data: dict, use_xrobot: bool) -> list[str]: and, with XRobot, xrobot_main.hpp; all in alphabetical order. """ peripherals = project_data.get("Peripherals", {}) - drivers = ["hpm_soc.h", "hpm_timebase.hpp"] + drivers = ["hpm_soc.h", "hpm_timebase.hpp", "hpm_power.hpp"] if project_data.get("GPIO"): drivers.append("hpm_gpio.hpp") for kind in ("I2C", "PWM"): @@ -655,14 +658,18 @@ def _check_soc(project_data: dict) -> None: _fail(str(error)) -def initialize_registry() -> None: - """清空生成对象的登记表,使同一次进程中的下一次生成不带上次的对象。 +def initialize_registry(use_xrobot: bool) -> None: + """清空生成对象的登记表,使同一次进程中的下一次生成不带上次的对象;use_xrobot 为真时先 + 登记 power_manager(PowerManager)。 Clear the registry of generated objects, so the next generation in the same process - carries no objects over. + carries no objects over; with use_xrobot, power_manager (PowerManager) is registered + first. """ stm32.registered_devices.clear() stm32.registered_origins.clear() stm32.used_headers.clear() + if use_xrobot: + stm32._register_device("power_manager", "PowerManager", tr("power manager", "电源管理器")) def reset_settings() -> None: @@ -708,7 +715,7 @@ def generate( stm32._settings("I2C") stm32._settings("PWM") stm32._settings("GPIO") - initialize_registry() + initialize_registry(use_xrobot) existing_code = "" if os.path.exists(output_path): diff --git a/src/libxr/generator_code_mspm0.py b/src/libxr/generator_code_mspm0.py index ff3fc91..35eeac1 100644 --- a/src/libxr/generator_code_mspm0.py +++ b/src/libxr/generator_code_mspm0.py @@ -541,7 +541,7 @@ def _includes(project_data: dict, use_xrobot: bool) -> list[str]: XRobot, xrobot_main.hpp; all in alphabetical order. """ peripherals = project_data.get("Peripherals", {}) - drivers = ["mspm0_timebase.hpp"] + drivers = ["mspm0_timebase.hpp", "mspm0_power.hpp"] if project_data.get("GPIO"): drivers.append("mspm0_gpio.hpp") for kind in ("I2C", "PWM", "SPI", "UART"): @@ -853,6 +853,7 @@ def _sections( f"{INDENT}// Timebase and platform", f"{INDENT}static MSPM0Timebase timebase;", f"{INDENT}PlatformInit();", + f"{INDENT}static MSPM0PowerManager power_manager;", ], _gpio_section(gpio), _uart_section(peripherals.get("UART", []), extend), @@ -999,14 +1000,18 @@ def _warn_hand_written(path: str, existing_code: str, generated_code: str) -> No ) -def initialize_registry() -> None: - """清空生成对象的登记表和本次生成用到的头文件,使同一次进程中的下一次生成不带上次的对象。 +def initialize_registry(use_xrobot: bool) -> None: + """清空生成对象的登记表和本次生成用到的头文件,使同一次进程中的下一次生成不带上次的对象; + use_xrobot 为真时先登记 power_manager(PowerManager)。 Clear the registry of generated objects and the headers of this generation, so the next - generation in the same process carries no objects over. + generation in the same process carries no objects over; with use_xrobot, power_manager + (PowerManager) is registered first. """ stm32.registered_devices.clear() stm32.registered_origins.clear() stm32.used_headers.clear() + if use_xrobot: + stm32._register_device("power_manager", "PowerManager", tr("power manager", "电源管理器")) def reset_settings() -> None: @@ -1049,7 +1054,7 @@ def generate( stm32.libxr_settings.pop("SYSTEM", None) stm32._settings("UART") stm32._settings("PWM") - initialize_registry() + initialize_registry(use_xrobot) existing_code = "" if os.path.exists(output_path): diff --git a/tests/data/hpm/hpm5301evklite_expected_app_main.cpp b/tests/data/hpm/hpm5301evklite_expected_app_main.cpp index e7a30b9..f3962ac 100644 --- a/tests/data/hpm/hpm5301evklite_expected_app_main.cpp +++ b/tests/data/hpm/hpm5301evklite_expected_app_main.cpp @@ -7,6 +7,7 @@ #include "libxr.hpp" #include "hpm_gpio.hpp" #include "hpm_i2c.hpp" +#include "hpm_power.hpp" #include "hpm_pwm.hpp" #include "hpm_soc.h" #include "hpm_timebase.hpp" @@ -25,6 +26,7 @@ extern "C" void app_main(void) // Timebase and platform static HPMTimebase timebase; PlatformInit(); + static HPMPowerManager power_manager; // GPIO: init_bsp_pins() configured pa10 (PA10) as an output pin, pa3 (PA03) as an input // pin with a pull-down. The interrupt edge comes from the pinmux and every object @@ -43,6 +45,8 @@ extern "C" void app_main(void) clock_gptmr0, 1, 0, HPMPWM::Polarity::NORMAL); // Hardware registration + XR_REGISTER(power_manager, LibXR::PowerManager); + XR_REGISTER(pa10, LibXR::GPIO); XR_REGISTER(pa3, LibXR::GPIO); diff --git a/tests/data/hpm/rmcs_slave_lite_expected_app_main.cpp b/tests/data/hpm/rmcs_slave_lite_expected_app_main.cpp index 2bca9fc..6855d7b 100644 --- a/tests/data/hpm/rmcs_slave_lite_expected_app_main.cpp +++ b/tests/data/hpm/rmcs_slave_lite_expected_app_main.cpp @@ -6,6 +6,7 @@ #include "libxr.hpp" #include "hpm_gpio.hpp" +#include "hpm_power.hpp" #include "hpm_soc.h" #include "hpm_timebase.hpp" #include "xrobot_main.hpp" @@ -23,6 +24,7 @@ extern "C" void app_main(void) // Timebase and platform static HPMTimebase timebase; PlatformInit(); + static HPMPowerManager power_manager; // GPIO: init_bsp_pins() configured pb11 (PB11) as an output pin, pb13 (PB13) as an // output pin, pb12 (PB12) as an input pin, pb10 (PB10) as an input pin, pa31 (PA31) as @@ -36,6 +38,8 @@ extern "C" void app_main(void) static HPMGPIO pa31(HPM_GPIO0, GPIO_DI_GPIOA, 31, IRQn_GPIO0_A); // Hardware registration + XR_REGISTER(power_manager, LibXR::PowerManager); + XR_REGISTER(pb11, LibXR::GPIO); XR_REGISTER(pb13, LibXR::GPIO); XR_REGISTER(pb12, LibXR::GPIO); diff --git a/tests/data/mspm0/g3507_expected_app_main.cpp b/tests/data/mspm0/g3507_expected_app_main.cpp index 6bdd62c..37117b7 100644 --- a/tests/data/mspm0/g3507_expected_app_main.cpp +++ b/tests/data/mspm0/g3507_expected_app_main.cpp @@ -7,6 +7,7 @@ #include "libxr.hpp" #include "mspm0_gpio.hpp" #include "mspm0_i2c.hpp" +#include "mspm0_power.hpp" #include "mspm0_pwm.hpp" #include "mspm0_spi.hpp" #include "mspm0_timebase.hpp" @@ -63,6 +64,7 @@ extern "C" void app_main(void) // Timebase and platform static MSPM0Timebase timebase; PlatformInit(); + static MSPM0PowerManager power_manager; // GPIO: SysConfig configured LED1 (PB8), LED2 (PA16) as output pins and KEY1 (PB24), // KEY2 (PB20) as input pins. The interrupt edge comes from SysConfig; RegisterCallback @@ -105,6 +107,8 @@ extern "C" void app_main(void) Timer::Start(terminal_task); // Hardware registration + XR_REGISTER(power_manager, LibXR::PowerManager); + XR_REGISTER(LED1, LibXR::GPIO); XR_REGISTER(LED2, LibXR::GPIO); XR_REGISTER(KEY1, LibXR::GPIO); diff --git a/tests/data/mspm0/g3519_expected_app_main.cpp b/tests/data/mspm0/g3519_expected_app_main.cpp index ade37a7..7f54a69 100644 --- a/tests/data/mspm0/g3519_expected_app_main.cpp +++ b/tests/data/mspm0/g3519_expected_app_main.cpp @@ -7,6 +7,7 @@ #include "libxr.hpp" #include "mspm0_gpio.hpp" #include "mspm0_i2c.hpp" +#include "mspm0_power.hpp" #include "mspm0_pwm.hpp" #include "mspm0_spi.hpp" #include "mspm0_timebase.hpp" @@ -66,6 +67,7 @@ extern "C" void app_main(void) // Timebase and platform static MSPM0Timebase timebase; PlatformInit(); + static MSPM0PowerManager power_manager; // GPIO: SysConfig configured LED1 (PA25), LED2 (PA16) as output pins and KEY1 (PB24), // KEY2 (PB20) as input pins. The interrupt edge comes from SysConfig; RegisterCallback @@ -108,6 +110,8 @@ extern "C" void app_main(void) Timer::Start(terminal_task); // Hardware registration + XR_REGISTER(power_manager, LibXR::PowerManager); + XR_REGISTER(LED1, LibXR::GPIO); XR_REGISTER(LED2, LibXR::GPIO); XR_REGISTER(KEY1, LibXR::GPIO); diff --git a/tests/data/mspm0/variants_expected_app_main.cpp b/tests/data/mspm0/variants_expected_app_main.cpp index 3fbf03d..1dc1da8 100644 --- a/tests/data/mspm0/variants_expected_app_main.cpp +++ b/tests/data/mspm0/variants_expected_app_main.cpp @@ -7,6 +7,7 @@ #include "libxr.hpp" #include "mspm0_gpio.hpp" #include "mspm0_i2c.hpp" +#include "mspm0_power.hpp" #include "mspm0_pwm.hpp" #include "mspm0_spi.hpp" #include "mspm0_timebase.hpp" @@ -55,6 +56,7 @@ extern "C" void app_main(void) // Timebase and platform static MSPM0Timebase timebase; PlatformInit(); + static MSPM0PowerManager power_manager; // GPIO: SysConfig configured USER_LED_1 (PA26), USER_LED_2 (PA27) as output pins and // gpio_btn_pin_0 (PA7) as input pins. The interrupt edge comes from SysConfig; @@ -96,6 +98,8 @@ extern "C" void app_main(void) Timer::Start(terminal_task); // Hardware registration + XR_REGISTER(power_manager, LibXR::PowerManager); + XR_REGISTER(USER_LED_1, LibXR::GPIO); XR_REGISTER(USER_LED_2, LibXR::GPIO); XR_REGISTER(gpio_btn_pin_0, LibXR::GPIO); diff --git a/tests/test_generator_code_hpm.py b/tests/test_generator_code_hpm.py index d48527a..3226c70 100644 --- a/tests/test_generator_code_hpm.py +++ b/tests/test_generator_code_hpm.py @@ -114,7 +114,7 @@ class Generation(TestCase): def setUp(self): super().setUp() - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() def generate(self, name: str, use_xrobot: bool = True) -> tuple[Path, str]: @@ -233,6 +233,27 @@ def test_without_xrobot_the_entry_sleeps_and_registers_nothing(self): # The objects are still generated. self.assertIn("static HPMPWM pwm_gptmr0_ch1(", code) + def test_power_manager_is_generated_always_and_registered_only_with_xrobot(self): + # power_manager 对象总是生成,登记只在使用 XRobot 时;GPIO 不能改叫 power_manager。 + # The power_manager object is always generated; it is registered only with XRobot, and + # a GPIO cannot be renamed to power_manager. + root, code = self.generate("hpm5301evklite", use_xrobot=False) + self.assertIn('#include "hpm_power.hpp"', code) + self.assertIn("static HPMPowerManager power_manager;", code) + self.assertNotIn("XR_REGISTER", code) + output = root / "User" / "app_main.cpp" + generator.generate(str(root / ".config.yaml"), str(output), True, "") + self.assertIn( + "XR_REGISTER(power_manager, LibXR::PowerManager);", + output.read_text(encoding="utf-8"), + ) + (root / "User" / "libxr_config.yaml").write_text( + "GPIO:\n pa10: power_manager\n", encoding="utf-8" + ) + with self.assertLogs(level="ERROR") as logs, self.assertRaises(SystemExit): + generator.generate(str(root / ".config.yaml"), str(output), True, "") + self.assertIn("a name of the HPM SDK or of the generated code", "\n".join(logs.output)) + class Notices(TestCase): """解析的两条提示(P3 遗留):main.c 不调用 pinmux 函数,两个活动函数选中同一个 pad。 @@ -478,7 +499,7 @@ class GenerationChecks(TestCase): def setUp(self): super().setUp() - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() def generate(self, config: str | None = None, root: Path | None = None) -> tuple[Path, str]: @@ -546,7 +567,7 @@ def test_unusable_gpio_names_are_listed_together(self): ("1led", "not a valid C++ identifier"), ): with self.subTest(name=name): - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() self.assertGenerationFails(f"GPIO:\n pa10: '{name}'\n", problem) @@ -555,13 +576,13 @@ def test_sdk_macros_and_generated_names_are_refused_and_plain_names_pass(self): # Review C1: function-like macros and names the generated code uses (NORMAL is the # polarity of the PWM) are refused; gpio_led is fine. self.assertGenerationFails("GPIO:\n pa10: MAX\n", "GPIO.pa10 'MAX'") - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() self.assertGenerationFails( "GPIO:\n pa10: NORMAL\n", "the generated code uses the names for something else: NORMAL", ) - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() _root, code = self.generate("GPIO:\n pa10: gpio_led\n pa3: board_key\n") self.assertIn("static HPMGPIO gpio_led(", code) @@ -571,7 +592,7 @@ def test_a_null_or_literal_speed_is_read_as_on_the_other_platforms(self): # Review C3: null takes the default, a string is read as an integer literal. _root, code = self.generate("I2C:\n i2c3:\n speed:\n") self.assertIn("{100000U}", code) - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() _root, code = self.generate("I2C:\n i2c3:\n speed: '0x61A80'\n") self.assertIn("{400000U}", code) @@ -582,7 +603,7 @@ def test_a_gpio_rename_must_be_a_name(self): def test_a_pwm_frequency_must_be_a_positive_integer(self): for value in ("0", "-5", "abc", "1.5", "true"): with self.subTest(value=value): - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() self.assertGenerationFails( f"PWM:\n pwm_gptmr0_ch1:\n frequency: {value}\n", diff --git a/tests/test_generator_code_mspm0.py b/tests/test_generator_code_mspm0.py index fbb4e9a..16b2d9c 100644 --- a/tests/test_generator_code_mspm0.py +++ b/tests/test_generator_code_mspm0.py @@ -445,7 +445,7 @@ class Generation(MSPM0TestCase): def setUp(self): super().setUp() - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() def generate(self, name: str, use_xrobot: bool = True, edit=None) -> tuple[Path, str]: @@ -509,7 +509,7 @@ def failure(self, root: Path) -> str: def test_the_generated_source_matches_the_reviewed_output(self): for name in ("g3507", "g3519", "variants"): with self.subTest(name=name): - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() _root, code = self.generate(name) expected = (DATA / "mspm0" / f"{name}_expected_app_main.cpp").read_text( @@ -617,7 +617,7 @@ def test_terminal_source_none_or_empty_stays_off(self): # picks the first UART. for value in ("none", ""): with self.subTest(value=value): - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() root, code = self.generate("variants") self.assertIn("// Terminal on uart0", code) @@ -706,6 +706,24 @@ def test_a_gpio_named_like_a_generated_object_is_an_error(self): self.failure(root), ) + def test_power_manager_is_generated_always_and_registered_only_with_xrobot(self): + # power_manager 对象总是生成,登记只在使用 XRobot 时;GPIO 不能再叫 power_manager。 + # The power_manager object is always generated; it is registered only with XRobot, and + # a GPIO cannot take the name power_manager. + root, code = self.generate("g3507", use_xrobot=False) + self.assertIn('#include "mspm0_power.hpp"', code) + self.assertIn("static MSPM0PowerManager power_manager;", code) + self.assertNotIn("XR_REGISTER", code) + code = self.regenerate(root) + self.assertIn("XR_REGISTER(power_manager, LibXR::PowerManager);", code) + self.project_yaml( + root, lambda data: data["GPIO"].update(power_manager=data["GPIO"].pop("LED1")) + ) + self.assertIn( + "GPIO name power_manager is already used by the PowerManager object", + self.failure(root), + ) + def test_dma_rx_on_a_uart_main_is_a_warning(self): root, _code = self.generate("variants") self.project_yaml( @@ -823,7 +841,7 @@ class Setup(MSPM0TestCase): def setUp(self): super().setUp() - generator.initialize_registry() + generator.initialize_registry(False) generator.reset_settings() def setup(self, root: Path, *options) -> tuple[int, str]: From c225d9ea378b1f4cc78b4148053ffca444fcc22a Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Sat, 10 Oct 2026 04:02:21 +0100 Subject: [PATCH 33/34] Bump the version to 6.0.1 --- README.md | 10 +++++----- pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1130017..aa4461a 100644 --- a/README.md +++ b/README.md @@ -97,15 +97,15 @@ pip install . 以上三种方式只选其一,不要混用。系统中有多份安装时,命令行实际调用的版本可能与预期不同,而不同版本 生成的代码并不一致。当前使用的版本可通过 `libxr --version` 查看。BSP 所用的版本由 -`User/libxr_config.yaml` 顶层的 `generator: 6.0.0` 固定:生成器新建这个文件时写入当前的版本,重新 -生成时保留这个键;安装的版本应与之一致,例如 `pipx install libxr==6.0.0`。 +`User/libxr_config.yaml` 顶层的 `generator: 6.0.1` 固定:生成器新建这个文件时写入当前的版本,重新 +生成时保留这个键;安装的版本应与之一致,例如 `pipx install libxr==6.0.1`。 Use only one of these methods. With several installations present, the command line may run a different version than expected, and different versions generate different code. `libxr --version` shows the version in use. The version a BSP uses is pinned by -`generator: 6.0.0` at the top level of `User/libxr_config.yaml`: the generator writes the +`generator: 6.0.1` at the top level of `User/libxr_config.yaml`: the generator writes the current version when it creates this file, and regeneration keeps the key; install the same -version, e.g. `pipx install libxr==6.0.0`. +version, e.g. `pipx install libxr==6.0.1`. --- @@ -337,7 +337,7 @@ with the new value; the changes and comments in the file are kept on regeneratio ```yaml # User/libxr_config.yaml(节选 / excerpt) -generator: 6.0.0 +generator: 6.0.1 terminal_source: usart1 software_timer: priority: 2 diff --git a/pyproject.toml b/pyproject.toml index b93ac8e..4bad990 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "libxr" -version = "6.0.0" +version = "6.0.1" description = "C++ code generator for LibXR-based embedded systems, supporting STM32 and modular robotics applications." requires-python = ">=3.10" authors = [ From fca10e7b99ce2ce7ce274cdcb2ba5b4759f3bbe1 Mon Sep 17 00:00:00 2001 From: Jiu-xiao <2592509183@qq.com> Date: Sat, 10 Oct 2026 12:58:51 +0100 Subject: [PATCH 34/34] Accept the unnumbered DMA trigger macro of an MSPM0 instance SysConfig writes _INST_DMA_TRIGGER without a number while an instance has one DMA trigger, and _0, _1 from two on. _header_dma_channel() matched only the numbered form, so an instance whose .syscfg names no DMA channel (only DMA_CHANNEL_TX.peripheral.$assign, as in the uart_tx_multibyte_fifo_dma_interrupts example of the SDK) found nothing and generation stopped with "no DMA TX channel". Both forms are accepted now. An SPI reaches the same lookup and is covered by the same change. The error message names both forms, and the tests cover the two lookups, an SPI with one event, and the example end to end. --- src/libxr/generator_code_mspm0.py | 10 +- src/libxr/peripheral_analyzer_mspm0.py | 10 +- tests/data/mspm0/uart_tx_dma.syscfg | 57 ++++++ .../data/mspm0/uart_tx_dma_ti_msp_dl_config.c | 171 ++++++++++++++++++ .../data/mspm0/uart_tx_dma_ti_msp_dl_config.h | 135 ++++++++++++++ tests/test_generator_code_mspm0.py | 77 +++++++- 6 files changed, 446 insertions(+), 14 deletions(-) create mode 100644 tests/data/mspm0/uart_tx_dma.syscfg create mode 100644 tests/data/mspm0/uart_tx_dma_ti_msp_dl_config.c create mode 100644 tests/data/mspm0/uart_tx_dma_ti_msp_dl_config.h diff --git a/src/libxr/generator_code_mspm0.py b/src/libxr/generator_code_mspm0.py index 35eeac1..458d5ce 100644 --- a/src/libxr/generator_code_mspm0.py +++ b/src/libxr/generator_code_mspm0.py @@ -607,13 +607,15 @@ def _uart_section(uarts: list, extend: set[str]) -> list[str]: tr( f"{instance}: no DMA TX channel in the SysConfig project (UART > DMA " "Configuration: Enable DMA TX with the TX trigger, which also gives the " - f"{instance}_INST_DMA_TRIGGER_n and _CHAN_ID macros); the MSPM0 UART " + f"_CHAN_ID and {instance}_INST_DMA_TRIGGER macros, the latter " + "numbered _0, _1 when the instance has more than one trigger); the MSPM0 UART " "driver constructs only with DMA TX. Enable it and run `libxr parse` again, " "or drop the UART", f"{instance}:SysConfig 工程里没有 DMA TX 通道(UART > DMA Configuration:" - f"启用 DMA TX 并选 TX 触发,SysConfig 随之生成 {instance}_INST_DMA_TRIGGER_n " - "和 <通道>_CHAN_ID 宏);MSPM0 的 UART 驱动只支持带 DMA TX 的构造。请启用后" - "重新运行 `libxr parse`,或删去这个 UART", + f"启用 DMA TX 并选 TX 触发,SysConfig 随之生成 <通道>_CHAN_ID 和 " + f"{instance}_INST_DMA_TRIGGER 宏,实例有多个触发时带编号 _0、_1);MSPM0 的 " + "UART 驱动只支持带 DMA TX 的构造。请启用后重新运行 `libxr parse`,或删去" + "这个 UART", ) ) settings = _instance_settings("UART", name, instance in extend) diff --git a/src/libxr/peripheral_analyzer_mspm0.py b/src/libxr/peripheral_analyzer_mspm0.py index fd18079..3cb5e61 100644 --- a/src/libxr/peripheral_analyzer_mspm0.py +++ b/src/libxr/peripheral_analyzer_mspm0.py @@ -616,16 +616,18 @@ def _gpio_entries( def _header_dma_channel(name: str, direction: str, defines: dict[str, str]) -> str | None: """SysConfig 输出里实例 name 在 direction(TX/RX)方向的 DMA 通道名:每个 - _INST_DMA_TRIGGER_n 前面紧挨着它的通道的 <通道>_CHAN_ID。没有时为 None。 + _INST_DMA_TRIGGER 或 _INST_DMA_TRIGGER_n 前面紧挨着它的通道的 <通道>_CHAN_ID + (一个实例只有一个触发时 SysConfig 不写编号,两个及以上才写 _0、_1)。没有时为 None。 The DMA channel name of the instance name in direction (TX/RX) in the SysConfig output: - every _INST_DMA_TRIGGER_n directly follows the _CHAN_ID of its channel. None - when there is none. + every _INST_DMA_TRIGGER or _INST_DMA_TRIGGER_n directly follows the + _CHAN_ID of its channel (SysConfig writes no number while the instance has one + trigger, and _0, _1 from two on). None when there is none. """ channel = None for macro, value in defines.items(): if macro.endswith("_CHAN_ID"): channel = macro[: -len("_CHAN_ID")] - elif re.fullmatch(rf"{re.escape(name)}_INST_DMA_TRIGGER_\d+", macro): + elif re.fullmatch(rf"{re.escape(name)}_INST_DMA_TRIGGER(?:_\d+)?", macro): trigger = DMA_TRIGGER.fullmatch(value) if trigger and trigger.group(1) == direction and channel: return channel diff --git a/tests/data/mspm0/uart_tx_dma.syscfg b/tests/data/mspm0/uart_tx_dma.syscfg new file mode 100644 index 0000000..9470a09 --- /dev/null +++ b/tests/data/mspm0/uart_tx_dma.syscfg @@ -0,0 +1,57 @@ +/** + * These arguments were used when this file was generated. They will be automatically applied on subsequent loads + * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments. + */ +//@cliArgs --device "MSPM0G350X" --package "LQFP-64(PM)" --part "Default" +//@v2CliArgs --device "MSPM0G3507" --package "LQFP-64(PM)" +// @cliArgs --board /ti/boards/LP_MSPM0G3507 --rtos nortos + +/** + * Import the modules used in this configuration. + */ +const UART = scripting.addModule("/ti/driverlib/UART", {}, false); +const UART1 = UART.addInstance(); + +const GPIO = scripting.addModule("/ti/driverlib/GPIO", {}, false); +const GPIO1 = GPIO.addInstance(); + +const SYSCTL = scripting.addModule("/ti/driverlib/SYSCTL"); + +/** + * Write custom configuration values to the imported modules. + */ + +UART1.$name = "UART_0"; +UART1.profile = "CONFIG_PROFILE_1"; +UART1.peripheral.$assign = "UART0"; +UART1.targetBaudRate = 9600; +UART1.enableInternalLoopback = false; +UART1.enabledInterrupts = ["DMA_DONE_TX", "EOT_DONE"]; +UART1.enableFIFO = true; +UART1.txFifoThreshold = "DL_UART_TX_FIFO_LEVEL_ONE_ENTRY"; +UART1.enabledDMATXTriggers = "DL_UART_DMA_INTERRUPT_TX"; +UART1.enableDMATX = true; + +UART1.peripheral.rxPin.$assign = "PA11"; +UART1.peripheral.txPin.$assign = "PA10"; + +UART1.DMA_CHANNEL_TX.peripheral.$assign = "DMA_CH0"; +UART1.DMA_CHANNEL_TX.addressMode = "b2f"; +UART1.DMA_CHANNEL_TX.srcIncDec = "INCREMENT"; +UART1.DMA_CHANNEL_TX.dstLength = "BYTE"; +UART1.DMA_CHANNEL_TX.srcLength = "BYTE"; + +GPIO1.$name = "GPIO_LEDS"; +GPIO1.associatedPins.create(2); +GPIO1.associatedPins[0].$name = "USER_LED_1"; +GPIO1.associatedPins[0].assignedPort = "PORTA"; +GPIO1.associatedPins[0].initialValue = "SET"; +GPIO1.associatedPins[0].assignedPin = "0"; +GPIO1.associatedPins[0].pin.$assign = "PA0"; +GPIO1.associatedPins[1].$name = "USER_TEST"; +GPIO1.associatedPins[1].assignedPort = "PORTA"; +GPIO1.associatedPins[1].assignedPin = "15"; +GPIO1.associatedPins[1].initialValue = "SET"; + +SYSCTL.clockTreeEn = true; +SYSCTL.forceDefaultClkConfig = true; diff --git a/tests/data/mspm0/uart_tx_dma_ti_msp_dl_config.c b/tests/data/mspm0/uart_tx_dma_ti_msp_dl_config.c new file mode 100644 index 0000000..7c1aa00 --- /dev/null +++ b/tests/data/mspm0/uart_tx_dma_ti_msp_dl_config.c @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2023, Texas Instruments Incorporated + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * ============ ti_msp_dl_config.c ============= + * Configured MSPM0 DriverLib module definitions + * + * DO NOT EDIT - This file is generated for the LP_MSPM0G3507 + * by the SysConfig tool. + */ + +#include "ti_msp_dl_config.h" + +/* + * ======== SYSCFG_DL_init ======== + * Perform any initialization needed before using any board APIs + */ +SYSCONFIG_WEAK void SYSCFG_DL_init(void) +{ + SYSCFG_DL_initPower(); + SYSCFG_DL_GPIO_init(); + /* Module-Specific Initializations*/ + SYSCFG_DL_SYSCTL_init(); + SYSCFG_DL_UART_0_init(); + SYSCFG_DL_DMA_init(); +} + + + +SYSCONFIG_WEAK void SYSCFG_DL_initPower(void) +{ + DL_GPIO_reset(GPIOA); + DL_GPIO_reset(GPIOB); + DL_UART_Main_reset(UART_0_INST); + + + DL_GPIO_enablePower(GPIOA); + DL_GPIO_enablePower(GPIOB); + DL_UART_Main_enablePower(UART_0_INST); + + delay_cycles(POWER_STARTUP_DELAY); +} + +SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void) +{ + + DL_GPIO_initPeripheralOutputFunction( + GPIO_UART_0_IOMUX_TX, GPIO_UART_0_IOMUX_TX_FUNC); + DL_GPIO_initPeripheralInputFunction( + GPIO_UART_0_IOMUX_RX, GPIO_UART_0_IOMUX_RX_FUNC); + + DL_GPIO_initDigitalOutput(GPIO_LEDS_USER_LED_1_IOMUX); + + DL_GPIO_initDigitalOutput(GPIO_LEDS_USER_TEST_IOMUX); + + DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN | + GPIO_LEDS_USER_TEST_PIN); + DL_GPIO_enableOutput(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN | + GPIO_LEDS_USER_TEST_PIN); + +} + + + +SYSCONFIG_WEAK void SYSCFG_DL_SYSCTL_init(void) +{ + + //Low Power Mode is configured to be SLEEP0 + DL_SYSCTL_setBORThreshold(DL_SYSCTL_BOR_THRESHOLD_LEVEL_0); + + + DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_BASE); + /* Set default configuration */ + DL_SYSCTL_disableHFXT(); + DL_SYSCTL_disableSYSPLL(); + +} + + +static const DL_UART_Main_ClockConfig gUART_0ClockConfig = { + .clockSel = DL_UART_MAIN_CLOCK_BUSCLK, + .divideRatio = DL_UART_MAIN_CLOCK_DIVIDE_RATIO_1 +}; + +static const DL_UART_Main_Config gUART_0Config = { + .mode = DL_UART_MAIN_MODE_NORMAL, + .direction = DL_UART_MAIN_DIRECTION_TX_RX, + .flowControl = DL_UART_MAIN_FLOW_CONTROL_NONE, + .parity = DL_UART_MAIN_PARITY_NONE, + .wordLength = DL_UART_MAIN_WORD_LENGTH_8_BITS, + .stopBits = DL_UART_MAIN_STOP_BITS_ONE +}; + +SYSCONFIG_WEAK void SYSCFG_DL_UART_0_init(void) +{ + DL_UART_Main_setClockConfig(UART_0_INST, (DL_UART_Main_ClockConfig *) &gUART_0ClockConfig); + + DL_UART_Main_init(UART_0_INST, (DL_UART_Main_Config *) &gUART_0Config); + /* + * Configure baud rate by setting oversampling and baud rate divisors. + * Target baud rate: 9600 + * Actual baud rate: 9600.24 + */ + DL_UART_Main_setOversampling(UART_0_INST, DL_UART_OVERSAMPLING_RATE_16X); + DL_UART_Main_setBaudRateDivisor(UART_0_INST, UART_0_IBRD_32_MHZ_9600_BAUD, UART_0_FBRD_32_MHZ_9600_BAUD); + + + /* Configure Interrupts */ + DL_UART_Main_enableInterrupt(UART_0_INST, + DL_UART_MAIN_INTERRUPT_DMA_DONE_TX | + DL_UART_MAIN_INTERRUPT_EOT_DONE); + + /* Configure DMA Transmit Event */ + DL_UART_Main_enableDMATransmitEvent(UART_0_INST); + /* Configure FIFOs */ + DL_UART_Main_enableFIFOs(UART_0_INST); + DL_UART_Main_setRXFIFOThreshold(UART_0_INST, DL_UART_RX_FIFO_LEVEL_ONE_ENTRY); + DL_UART_Main_setTXFIFOThreshold(UART_0_INST, DL_UART_TX_FIFO_LEVEL_ONE_ENTRY); + + DL_UART_Main_enable(UART_0_INST); +} + +static const DL_DMA_Config gDMA_CH0Config = { + .transferMode = DL_DMA_SINGLE_TRANSFER_MODE, + .extendedMode = DL_DMA_NORMAL_MODE, + .destIncrement = DL_DMA_ADDR_UNCHANGED, + .srcIncrement = DL_DMA_ADDR_INCREMENT, + .destWidth = DL_DMA_WIDTH_BYTE, + .srcWidth = DL_DMA_WIDTH_BYTE, + .trigger = UART_0_INST_DMA_TRIGGER, + .triggerType = DL_DMA_TRIGGER_TYPE_EXTERNAL, +}; + +SYSCONFIG_WEAK void SYSCFG_DL_DMA_CH0_init(void) +{ + DL_DMA_initChannel(DMA, DMA_CH0_CHAN_ID , (DL_DMA_Config *) &gDMA_CH0Config); +} +SYSCONFIG_WEAK void SYSCFG_DL_DMA_init(void){ + SYSCFG_DL_DMA_CH0_init(); +} + + diff --git a/tests/data/mspm0/uart_tx_dma_ti_msp_dl_config.h b/tests/data/mspm0/uart_tx_dma_ti_msp_dl_config.h new file mode 100644 index 0000000..3655e66 --- /dev/null +++ b/tests/data/mspm0/uart_tx_dma_ti_msp_dl_config.h @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2023, Texas Instruments Incorporated - http://www.ti.com + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * ============ ti_msp_dl_config.h ============= + * Configured MSPM0 DriverLib module declarations + * + * DO NOT EDIT - This file is generated for the LP_MSPM0G3507 + * by the SysConfig tool. + */ +#ifndef ti_msp_dl_config_h +#define ti_msp_dl_config_h + +#define CONFIG_LP_MSPM0G3507 +#define CONFIG_MSPM0G3507 + +#if defined(__ti_version__) || defined(__TI_COMPILER_VERSION__) +#define SYSCONFIG_WEAK __attribute__((weak)) +#elif defined(__IAR_SYSTEMS_ICC__) +#define SYSCONFIG_WEAK __weak +#elif defined(__GNUC__) +#define SYSCONFIG_WEAK __attribute__((weak)) +#endif + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * ======== SYSCFG_DL_init ======== + * Perform all required MSP DL initialization + * + * This function should be called once at a point before any use of + * MSP DL. + */ + + +/* clang-format off */ + +#define POWER_STARTUP_DELAY (16) + + + +#define CPUCLK_FREQ 32000000 + + + +/* Defines for UART_0 */ +#define UART_0_INST UART0 +#define UART_0_INST_FREQUENCY 32000000 +#define UART_0_INST_IRQHandler UART0_IRQHandler +#define UART_0_INST_INT_IRQN UART0_INT_IRQn +#define GPIO_UART_0_RX_PORT GPIOA +#define GPIO_UART_0_TX_PORT GPIOA +#define GPIO_UART_0_RX_PIN DL_GPIO_PIN_11 +#define GPIO_UART_0_TX_PIN DL_GPIO_PIN_10 +#define GPIO_UART_0_IOMUX_RX (IOMUX_PINCM22) +#define GPIO_UART_0_IOMUX_TX (IOMUX_PINCM21) +#define GPIO_UART_0_IOMUX_RX_FUNC IOMUX_PINCM22_PF_UART0_RX +#define GPIO_UART_0_IOMUX_TX_FUNC IOMUX_PINCM21_PF_UART0_TX +#define UART_0_BAUD_RATE (9600) +#define UART_0_IBRD_32_MHZ_9600_BAUD (208) +#define UART_0_FBRD_32_MHZ_9600_BAUD (21) + + + + + +/* Defines for DMA_CH0 */ +#define DMA_CH0_CHAN_ID (0) +#define UART_0_INST_DMA_TRIGGER (DMA_UART0_TX_TRIG) + + +/* Port definition for Pin Group GPIO_LEDS */ +#define GPIO_LEDS_PORT (GPIOA) + +/* Defines for USER_LED_1: GPIOA.0 with pinCMx 1 on package pin 33 */ +#define GPIO_LEDS_USER_LED_1_PIN (DL_GPIO_PIN_0) +#define GPIO_LEDS_USER_LED_1_IOMUX (IOMUX_PINCM1) +/* Defines for USER_TEST: GPIOA.15 with pinCMx 37 on package pin 8 */ +#define GPIO_LEDS_USER_TEST_PIN (DL_GPIO_PIN_15) +#define GPIO_LEDS_USER_TEST_IOMUX (IOMUX_PINCM37) + + +/* clang-format on */ + +void SYSCFG_DL_init(void); +void SYSCFG_DL_initPower(void); +void SYSCFG_DL_GPIO_init(void); +void SYSCFG_DL_SYSCTL_init(void); +void SYSCFG_DL_UART_0_init(void); +void SYSCFG_DL_DMA_init(void); + + +bool SYSCFG_DL_saveConfiguration(void); +bool SYSCFG_DL_restoreConfiguration(void); + +#ifdef __cplusplus +} +#endif + +#endif /* ti_msp_dl_config_h */ diff --git a/tests/test_generator_code_mspm0.py b/tests/test_generator_code_mspm0.py index 16b2d9c..4964e85 100644 --- a/tests/test_generator_code_mspm0.py +++ b/tests/test_generator_code_mspm0.py @@ -8,16 +8,19 @@ 没有 SysConfig,输出随工程一起提交),以及一个覆盖 BSP 没用到的 SysConfig 写法的 variants 工程 (SPI 用 MFCLK 分频和 RX timeout DMA 触发、外设模式的 SPI、只有目标模式的 I2C、默认实例名且 引脚只有建议值的 PWM、端口加引脚号的 GPIO、默认名 PIN_0 的引脚、收发都有 DMA 的 UART),它的 -输出同样由 SysConfig 1.28.1 生成。测试把固件复制进临时工程,使生成输出的修改时间比 .syscfg 新, -解析直接复用它;测试期间不设置 SYSCONFIG_TOOL 和 MSPM0_SDK_INSTALL_DIR。 +输出同样由 SysConfig 1.28.1 生成,以及 TI SDK 的 uart_tx_multibyte_fifo_dma_interrupts 例程 +(一个实例只有一个 DMA 触发,输出的触发宏不带编号)。测试把固件复制进临时工程,使生成输出的 +修改时间比 .syscfg 新,解析直接复用它;测试期间不设置 SYSCONFIG_TOOL 和 MSPM0_SDK_INSTALL_DIR。 The fixtures are the real project files of the two BSPs: the .syscfg plus the ti_msp_dl_config.h/.c that SysConfig generated (CI has no SysConfig, so the output is committed -with the project), and a variants project with the SysConfig setups the BSPs do not use (an SPI +with the project), a variants project with the SysConfig setups the BSPs do not use (an SPI on MFCLK with a divider and an RX timeout DMA trigger, an SPI in peripheral mode, an I2C in target mode only, a PWM with the default instance name and only suggested pins, GPIO pins given as port plus pin number, a pin with the default name PIN_0, a UART with DMA on both sides), -whose output SysConfig 1.28.1 generated as well. A test copies the fixtures into a temporary -project, so the generated output is newer than the .syscfg and parsing reuses it; +whose output SysConfig 1.28.1 generated as well, and the uart_tx_multibyte_fifo_dma_interrupts +example of the TI SDK (an instance with a single DMA trigger, so its trigger macro carries no +number). A test copies the fixtures into a temporary project, so the generated output is newer +than the .syscfg and parsing reuses it; SYSCONFIG_TOOL and MSPM0_SDK_INSTALL_DIR are unset during the tests. """ @@ -51,6 +54,7 @@ def bsp(name: str) -> str: "g3507": "mspm0g3507_minidb48.syscfg", "g3519": "mspm0g3519_minidb48.syscfg", "variants": "mspm0_variants.syscfg", + "uart_tx_dma": "uart_tx_multibyte_fifo_dma_interrupts.syscfg", }[name] @@ -168,6 +172,17 @@ def test_the_second_uart_of_the_other_board_is_parsed_as_well(self): self.assertEqual(peripherals["UART"]["UART_7"]["DMA_TX"], "DMA_CH_UART7_TX") self.assertEqual(peripherals["UART"]["UART_7"]["PowerDomain"], 0) + def test_a_single_dma_trigger_of_the_output_names_the_channel(self): + # TI 的 uart_tx_multibyte_fifo_dma_interrupts 例程:.syscfg 只写了 + # DMA_CHANNEL_TX.peripheral.$assign,输出里的触发宏只有一个,因而不带编号 + # (UART_0_INST_DMA_TRIGGER)。 + # TI's uart_tx_multibyte_fifo_dma_interrupts example: the .syscfg names only + # DMA_CHANNEL_TX.peripheral.$assign, and the output holds a single trigger macro, + # which therefore carries no number (UART_0_INST_DMA_TRIGGER). + uart = self.parse("uart_tx_dma")["Peripherals"]["UART"]["UART_0"] + self.assertEqual(uart["DMA_TX"], "DMA_CH0") + self.assertEqual(uart["Peripheral"], "UART0") + class ParsingVariants(MSPM0TestCase): """libxr parse 对 BSP 没用到的 SysConfig 写法(variants 工程,审查 2026-10-07 的 H1-H6、 @@ -780,10 +795,24 @@ def test_a_uart_without_dma_tx_names_the_sysconfig_option(self): self.project_yaml(root, lambda data: data["Peripherals"]["UART"]["UART_0"].pop("DMA_TX")) self.assertIn( "UART_0: no DMA TX channel in the SysConfig project (UART > DMA Configuration: " - "Enable DMA TX", + "Enable DMA TX with the TX trigger, which also gives the _CHAN_ID and " + "UART_0_INST_DMA_TRIGGER macros, the latter numbered _0, _1 when the instance has " + "more than one trigger)", self.failure(root), ) + def test_the_ti_example_with_one_dma_trigger_generates(self): + # TI 例程端到端:.syscfg 加 SysConfig 输出解析出 DMA_CH0(触发宏不带编号),生成出来的 + # UART 用它构造。 + # The TI example end to end: its .syscfg and SysConfig output parse to DMA_CH0 (the + # trigger macro carries no number), and the generated UART is constructed with it. + root = self.project("uart_tx_dma") + parse_project(str(root), summary=False) + (root / "User").mkdir() + code = self.regenerate(root) + self.assertIn("MSPM0_UART_MAIN_INIT(UART_0, DMA_CH0,", code) + self.assertIn("#define DMA_CH0_LIBXR_UART_IRQN UART_0_INST_INT_IRQN", code) + def test_different_frequencies_of_one_timer_are_a_warning(self): # L7 root, _code = self.generate("variants") @@ -926,3 +955,39 @@ def test_the_clock_configurations_of_every_kind_are_read(self): sorted(clocks), ["I2C_0", "I2C_TARGET", "PWM_0", "SPI_1", "SPI_PERIPH", "UART_0"] ) self.assertEqual(clocks["UART_0"]["clockSel"], "DL_UART_MAIN_CLOCK_BUSCLK") + + def test_a_dma_trigger_without_a_number_names_the_channel_too(self): + # SysConfig 在一个实例只有一个 DMA 触发时不写编号;通道名是触发宏前面紧挨着的 + # <通道>_CHAN_ID。 + # SysConfig writes no number while an instance has one DMA trigger; the channel is the + # _CHAN_ID directly before the trigger macro. + defines = { + "DMA_CH0_CHAN_ID": "(0)", + "UART_0_INST_DMA_TRIGGER": "(DMA_UART0_TX_TRIG)", + } + self.assertEqual(analyzer._header_dma_channel("UART_0", "TX", defines), "DMA_CH0") + self.assertIsNone(analyzer._header_dma_channel("UART_0", "RX", defines)) + + def test_an_spi_with_one_dma_event_uses_the_same_lookup(self): + # SPI 和 UART 走同一个查找:只开一个 DMA 事件时它的触发宏也不带编号。 + # An SPI uses the same lookup as a UART: with a single DMA event its trigger macro + # carries no number either. + defines = { + "DMA_CH_SPI1_RX_CHAN_ID": "(3)", + "SPI_1_INST_DMA_TRIGGER": "(DMA_SPI1_RX_TRIG)", + } + self.assertEqual(analyzer._header_dma_channel("SPI_1", "RX", defines), "DMA_CH_SPI1_RX") + self.assertIsNone(analyzer._header_dma_channel("SPI_1", "TX", defines)) + + def test_a_numbered_dma_trigger_names_the_channel_as_before(self): + # 两个及以上触发时宏带编号,两个方向各取自己前面的通道。 + # From two triggers on the macros carry numbers, and each direction takes the channel + # before its own trigger. + defines = { + "DMA_CH_UART0_TX_CHAN_ID": "(1)", + "UART_0_INST_DMA_TRIGGER_0": "(DMA_UART0_TX_TRIG)", + "DMA_CH_UART0_RX_CHAN_ID": "(0)", + "UART_0_INST_DMA_TRIGGER_1": "(DMA_UART0_RX_TRIG)", + } + self.assertEqual(analyzer._header_dma_channel("UART_0", "TX", defines), "DMA_CH_UART0_TX") + self.assertEqual(analyzer._header_dma_channel("UART_0", "RX", defines), "DMA_CH_UART0_RX")

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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-G0.json.gz b/src/libxr/pin_data/stm32-G0.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..e28573f293247f9e7e7718547bed03ec582e056e GIT binary patch literal 12273 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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-G4.json.gz b/src/libxr/pin_data/stm32-G4.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..0f10374c8606d3e3d98d2f3d1f3714a104f01db9 GIT binary patch literal 24900 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 literal 0 HcmV?d00001 diff --git a/src/libxr/pin_data/stm32-H5.json.gz b/src/libxr/pin_data/stm32-H5.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..a7bee2cfed070f3aa1ed1747bb57a254caead2ff GIT binary patch literal 60838 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