From 6351fbe460e65cfc4380b6db39c599b2cadfa0d2 Mon Sep 17 00:00:00 2001 From: Sid Hsu Date: Wed, 12 Oct 2022 14:26:21 +0800 Subject: [PATCH] Address review comments. --- .../infineon/cyw30739_sdk/merge_hex.py | 19 +++++++++++++------ .../cyw30739_sdk/scripts/gen_ss_cgs.py | 9 +++++---- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/third_party/infineon/cyw30739_sdk/merge_hex.py b/third_party/infineon/cyw30739_sdk/merge_hex.py index 06ec3e46988958..387b741a00d2e9 100644 --- a/third_party/infineon/cyw30739_sdk/merge_hex.py +++ b/third_party/infineon/cyw30739_sdk/merge_hex.py @@ -39,9 +39,8 @@ def main(): args = parse_args() - configs = OrderedDict() - add_thread_factory_config(configs) - add_matter_factory_config(configs, args.config_header) + configs = gen_thread_factory_config() + configs.update(gen_matter_factory_config(args.config_header)) parse_config_args(configs, args.config) @@ -62,11 +61,13 @@ def parse_args(): return parser.parse_args() -def add_thread_factory_config(configs: OrderedDict): +def gen_thread_factory_config() -> OrderedDict: + configs = OrderedDict() configs["ExtendedAddress"] = {"key": THREAD_FACTORY_KEY_BASE, "value": os.urandom(8)} + return configs -def add_matter_factory_config(configs: OrderedDict, path: pathlib.Path): +def gen_matter_factory_config(path: pathlib.Path) -> OrderedDict: # compile the regex for extracting name and key of factory configurations. factory_config_re = re.compile(r""" .* # Prefix @@ -77,6 +78,7 @@ def add_matter_factory_config(configs: OrderedDict, path: pathlib.Path): (0x[0-9a-fA-F]+) # Parse the config key """, re.VERBOSE) + configs = OrderedDict() with open(str(path), mode="r") as config_file: for line in config_file: match = factory_config_re.match(line.strip()) @@ -84,12 +86,17 @@ def add_matter_factory_config(configs: OrderedDict, path: pathlib.Path): name = match[1] key = MATTER_FACTORY_KEY_BASE + int(match[2], 0) configs[name] = {"key": key} + return configs def parse_config_args(configs: OrderedDict, args: list): for arg in args: name, category, value = arg.split(":") + if name not in configs: + print(f"[Warning] Ignored unknown config: {name}") + continue + if category == "address": addr = bytearray.fromhex(value) @@ -134,4 +141,4 @@ def insert_config(origin_hex: IntelHex, configs: OrderedDict): if __name__ == "__main__": - sys.exit(main()) + main() diff --git a/third_party/infineon/cyw30739_sdk/scripts/gen_ss_cgs.py b/third_party/infineon/cyw30739_sdk/scripts/gen_ss_cgs.py index 2eb01e834afa21..41758d0c9becc3 100644 --- a/third_party/infineon/cyw30739_sdk/scripts/gen_ss_cgs.py +++ b/third_party/infineon/cyw30739_sdk/scripts/gen_ss_cgs.py @@ -35,8 +35,7 @@ def main(): args = parse_args() - configs = OrderedDict() - add_thread_factory_config(configs) + configs = gen_thread_factory_config() gen_ss_hdf(args.ss_hdf, configs) gen_ss_cgs(args.ss_cgs, args.ss_hdf, configs) @@ -51,8 +50,10 @@ def parse_args(): return parser.parse_args() -def add_thread_factory_config(configs: OrderedDict): +def gen_thread_factory_config() -> OrderedDict: + configs = OrderedDict() configs["ExtendedAddress"] = {"key": THREAD_FACTORY_KEY_BASE, "value": os.urandom(8)} + return configs def gen_ss_hdf(path: pathlib.Path, configs: OrderedDict): @@ -125,4 +126,4 @@ def write_cgs_data(cgs: io.TextIOBase, name: str, data: bytes = b""): if __name__ == "__main__": - sys.exit(main()) + main()