diff --git a/tools/idf_monitor.py b/tools/idf_monitor.py index 8fdcecd83..a33372389 100755 --- a/tools/idf_monitor.py +++ b/tools/idf_monitor.py @@ -789,7 +789,7 @@ def main(): '--baud', '-b', help='Serial port baud rate', type=int, - default=os.environ.get('MONITOR_BAUD', 115200)) + default=os.getenv('IDF_MONITOR_BAUD', os.getenv('MONITORBAUD', 115200))) parser.add_argument( '--make', '-m', diff --git a/tools/idf_py_actions/serial_ext.py b/tools/idf_py_actions/serial_ext.py index 4ea0e4a02..63ec560aa 100644 --- a/tools/idf_py_actions/serial_ext.py +++ b/tools/idf_py_actions/serial_ext.py @@ -2,6 +2,8 @@ import json import os import sys +import click + from idf_py_actions.errors import FatalError from idf_py_actions.global_options import global_options from idf_py_actions.tools import ensure_build_directory, run_tool @@ -60,7 +62,7 @@ def action_extensions(base_actions, project_path): return result - def monitor(action, ctx, args, print_filter): + def monitor(action, ctx, args, print_filter, monitor_baud): """ Run idf_monitor.py to watch build output """ @@ -81,7 +83,16 @@ def action_extensions(base_actions, project_path): monitor_args = [PYTHON, idf_monitor] if args.port is not None: monitor_args += ["-p", args.port] - monitor_args += ["-b", project_desc["monitor_baud"]] + + if not monitor_baud: + if os.getenv("IDF_MONITOR_BAUD"): + monitor_baud = os.getenv("IDF_MONITOR_BAUD", None) + elif os.getenv("MONITORBAUD"): + monitor_baud = os.getenv("MONITORBAUD", None) + else: + monitor_baud = project_desc["monitor_baud"] + + monitor_args += ["-b", monitor_baud] monitor_args += ["--toolchain-prefix", project_desc["monitor_toolprefix"]] if print_filter is not None: @@ -119,7 +130,7 @@ def action_extensions(base_actions, project_path): baud_rate = { "names": ["-b", "--baud"], - "help": "Baud rate.", + "help": "Baud rate for flashing.", "scope": "global", "envvar": "ESPBAUD", "default": 460800, @@ -148,24 +159,35 @@ def action_extensions(base_actions, project_path): "options": [baud_rate, port], }, "monitor": { - "callback": monitor, - "help": "Display serial output.", + "callback": + monitor, + "help": + "Display serial output.", "options": [ - port, - { + port, { "names": ["--print-filter", "--print_filter"], - "help": ( - "Filter monitor output.\n" - "Restrictions on what to print can be specified as a series of : items " - "where is the tag string and is a character from the set " - "{N, E, W, I, D, V, *} referring to a level. " - 'For example, "tag1:W" matches and prints only the outputs written with ' - 'ESP_LOGW("tag1", ...) or at lower verbosity level, i.e. ESP_LOGE("tag1", ...). ' - 'Not specifying a or using "*" defaults to Verbose level.\n' - 'Please see the IDF Monitor section of the ESP-IDF documentation ' - 'for a more detailed description and further examples.'), - "default": None, - }, + "help": + ("Filter monitor output.\n" + "Restrictions on what to print can be specified as a series of : items " + "where is the tag string and is a character from the set " + "{N, E, W, I, D, V, *} referring to a level. " + 'For example, "tag1:W" matches and prints only the outputs written with ' + 'ESP_LOGW("tag1", ...) or at lower verbosity level, i.e. ESP_LOGE("tag1", ...). ' + 'Not specifying a or using "*" defaults to Verbose level.\n' + 'Please see the IDF Monitor section of the ESP-IDF documentation ' + 'for a more detailed description and further examples.'), + "default": + None, + }, { + "names": ["--monitor-baud", "-B"], + "type": + click.INT, + "help": ("Baud rate for monitor.\n" + "If this option is not provided IDF_MONITOR_BAUD and MONITORBAUD " + "environment variables and project_description.json in build directory " + "(generated by CMake from project's sdkconfig) " + "will be checked for default value."), + } ], "order_dependencies": [ "flash",