kopia lustrzana https://github.com/espressif/esp-idf
38 wiersze
1.6 KiB
Python
Executable File
38 wiersze
1.6 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
import argparse
|
|
|
|
|
|
def gen_header_file(path: str, subtypes: str) -> None:
|
|
HDR_MESSAGE = '/* Automatically generated file. DO NOT EDIT. */\n\n'
|
|
PARTTOOL_USAGE = 'If you want to use parttool.py manually, please use the following as an extra argument:'
|
|
with open(path, 'w') as f:
|
|
f.write(HDR_MESSAGE)
|
|
if subtypes:
|
|
f.write('/*\n\t' + PARTTOOL_USAGE + '\n\t')
|
|
f.write('--extra-partition-subtypes ')
|
|
for line_no in subtypes:
|
|
f.write(f'"{line_no}" ')
|
|
f.write('\n*/\n\n')
|
|
f.write('#pragma once\n\n')
|
|
for line_no in subtypes:
|
|
try:
|
|
fields = [line.strip() for line in line_no.split(',')]
|
|
fields[0] = fields[0].strip()
|
|
fields[1] = fields[1].strip()
|
|
fields[2] = fields[2].strip()
|
|
f.write('ESP_PARTITION_SUBTYPE_%s_%s = %s,\n' % (fields[0].upper(), fields[1].upper(), fields[2]))
|
|
except ValueError as err:
|
|
raise ValueError('Error parsing custom subtypes: %s' % err)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser(description='ESP32 extra partitions utility')
|
|
parser.add_argument('config_dir', help='Path to config directory')
|
|
parser.add_argument('extra_partition_subtypes', help='Extra partition subtype entries', nargs='*')
|
|
args = parser.parse_args()
|
|
|
|
gen_header_file(args.config_dir, args.extra_partition_subtypes)
|