Skip to content

Commit

Permalink
tools: set baudrate and port with otatool.
Browse files Browse the repository at this point in the history
Bugfix: Allow setting options port -p and baudrate -b, with idf.py otatool commands.

Closes #8317
  • Loading branch information
Marek Fiala committed Mar 11, 2022
1 parent 0997c6d commit 330db29
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 15 deletions.
10 changes: 0 additions & 10 deletions tools/idf_py_actions/core_ext.py
Original file line number Diff line number Diff line change
Expand Up @@ -380,16 +380,6 @@ def list_targets_callback(ctx, param, value):
'order_dependencies': ['reconfigure'],
'options': global_options,
},
'erase_otadata': {
'callback': build_target,
'help': 'Erase otadata partition.',
'options': global_options,
},
'read_otadata': {
'callback': build_target,
'help': 'Read otadata partition.',
'options': global_options,
},
'build-system-targets': {
'callback': list_build_system_targets,
'help': 'Print list of build system targets.',
Expand Down
32 changes: 27 additions & 5 deletions tools/idf_py_actions/serial_ext.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,17 @@ def global_callback(ctx, global_args, tasks):
task.action_args['encrypted'] = True
break

def ota_targets(target_name, ctx, args):
"""
Execute the target build system to build target 'target_name'.
Additionally set global variables for baud and port.
Calls ensure_build_directory() which will run cmake to generate a build
directory (with the specified generator) as needed.
"""
args.port = args.port or _get_default_serial_port(args)
ensure_build_directory(args, ctx.info_name)
run_target(target_name, args, {'ESPBAUD': str(args.baud), 'ESPPORT': args.port})

baud_rate = {
'names': ['-b', '--baud'],
'help': 'Baud rate for flashing.',
Expand All @@ -154,19 +165,20 @@ def global_callback(ctx, global_args, tasks):
'default': None,
}

BAUD_AND_PORT = [baud_rate, port]
serial_actions = {
'global_action_callbacks': [global_callback],
'actions': {
'flash': {
'callback': flash,
'help': 'Flash the project.',
'options': global_options + [baud_rate, port],
'options': global_options + BAUD_AND_PORT,
'order_dependencies': ['all', 'erase_flash'],
},
'erase_flash': {
'callback': erase_flash,
'help': 'Erase entire flash chip.',
'options': [baud_rate, port],
'options': BAUD_AND_PORT,
},
'monitor': {
'callback':
Expand Down Expand Up @@ -218,19 +230,19 @@ def global_callback(ctx, global_args, tasks):
'partition_table-flash': {
'callback': flash,
'help': 'Flash partition table only.',
'options': [baud_rate, port],
'options': BAUD_AND_PORT,
'order_dependencies': ['partition_table', 'erase_flash'],
},
'bootloader-flash': {
'callback': flash,
'help': 'Flash bootloader only.',
'options': [baud_rate, port],
'options': BAUD_AND_PORT,
'order_dependencies': ['bootloader', 'erase_flash'],
},
'app-flash': {
'callback': flash,
'help': 'Flash the app only.',
'options': [baud_rate, port],
'options': BAUD_AND_PORT,
'order_dependencies': ['app', 'erase_flash'],
},
'encrypted-app-flash': {
Expand All @@ -243,6 +255,16 @@ def global_callback(ctx, global_args, tasks):
'help': 'Flash the encrypted project.',
'order_dependencies': ['all', 'erase_flash'],
},
'erase_otadata': {
'callback': ota_targets,
'help': 'Erase otadata partition.',
'options': global_options + BAUD_AND_PORT,
},
'read_otadata': {
'callback': ota_targets,
'help': 'Read otadata partition.',
'options': global_options + BAUD_AND_PORT,
},
},
}

Expand Down

0 comments on commit 330db29

Please sign in to comment.