kopia lustrzana https://github.com/espressif/esp-idf
43 wiersze
1.4 KiB
Python
43 wiersze
1.4 KiB
Python
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
from typing import Dict, List
|
|
|
|
from click.core import Context
|
|
from idf_py_actions.tools import PropertyDict, ensure_build_directory, run_target
|
|
|
|
|
|
def action_extensions(base_actions: Dict, project_path: List) -> Dict:
|
|
def uf2_target(target_name: str, ctx: Context, args: PropertyDict, md5_disable: bool) -> None:
|
|
ensure_build_directory(args, ctx.info_name)
|
|
extra = list()
|
|
if md5_disable:
|
|
extra.append('--md5-disable')
|
|
run_target(target_name, args, env={'SERIAL_TOOL_EXTRA_ARGS': ' '.join(extra)})
|
|
|
|
uf2_options = [
|
|
{
|
|
'names': ['--md5-disable'],
|
|
'is_flag': True,
|
|
'help': 'Disable MD5 checksum',
|
|
},
|
|
]
|
|
|
|
uf2_actions = {
|
|
'actions': {
|
|
'uf2': {
|
|
'callback': uf2_target,
|
|
'options': uf2_options,
|
|
'short_help': 'Generate the UF2 binary with all the binaries included',
|
|
'dependencies': ['all'],
|
|
},
|
|
'uf2-app': {
|
|
'callback': uf2_target,
|
|
'options': uf2_options,
|
|
'short_help': 'Generate an UF2 binary for the application only',
|
|
'dependencies': ['all'],
|
|
},
|
|
}
|
|
}
|
|
|
|
return uf2_actions
|