mirror of
https://github.com/esphome/esphome.git
synced 2025-03-23 19:18:17 +00:00
[cli] Add --reset
and --upload_speed
options (#8380)
This commit is contained in:
parent
c0e4701e1d
commit
3320e4112b
@ -133,7 +133,7 @@ def get_port_type(port):
|
|||||||
return "NETWORK"
|
return "NETWORK"
|
||||||
|
|
||||||
|
|
||||||
def run_miniterm(config, port):
|
def run_miniterm(config, port, args):
|
||||||
import serial
|
import serial
|
||||||
|
|
||||||
from esphome import platformio_api
|
from esphome import platformio_api
|
||||||
@ -154,7 +154,7 @@ def run_miniterm(config, port):
|
|||||||
|
|
||||||
# We can't set to False by default since it leads to toggling and hence
|
# We can't set to False by default since it leads to toggling and hence
|
||||||
# ESP32 resets on some platforms.
|
# ESP32 resets on some platforms.
|
||||||
if config["logger"][CONF_DEASSERT_RTS_DTR]:
|
if config["logger"][CONF_DEASSERT_RTS_DTR] or args.reset:
|
||||||
ser.dtr = False
|
ser.dtr = False
|
||||||
ser.rts = False
|
ser.rts = False
|
||||||
|
|
||||||
@ -244,11 +244,11 @@ def compile_program(args, config):
|
|||||||
return 0 if idedata is not None else 1
|
return 0 if idedata is not None else 1
|
||||||
|
|
||||||
|
|
||||||
def upload_using_esptool(config, port, file):
|
def upload_using_esptool(config, port, file, speed):
|
||||||
from esphome import platformio_api
|
from esphome import platformio_api
|
||||||
|
|
||||||
first_baudrate = config[CONF_ESPHOME][CONF_PLATFORMIO_OPTIONS].get(
|
first_baudrate = speed or config[CONF_ESPHOME][CONF_PLATFORMIO_OPTIONS].get(
|
||||||
"upload_speed", 460800
|
"upload_speed", os.getenv("ESPHOME_UPLOAD_SPEED", "460800")
|
||||||
)
|
)
|
||||||
|
|
||||||
if file is not None:
|
if file is not None:
|
||||||
@ -348,7 +348,7 @@ def upload_program(config, args, host):
|
|||||||
check_permissions(host)
|
check_permissions(host)
|
||||||
if CORE.target_platform in (PLATFORM_ESP32, PLATFORM_ESP8266):
|
if CORE.target_platform in (PLATFORM_ESP32, PLATFORM_ESP8266):
|
||||||
file = getattr(args, "file", None)
|
file = getattr(args, "file", None)
|
||||||
return upload_using_esptool(config, host, file)
|
return upload_using_esptool(config, host, file, args.upload_speed)
|
||||||
|
|
||||||
if CORE.target_platform in (PLATFORM_RP2040):
|
if CORE.target_platform in (PLATFORM_RP2040):
|
||||||
return upload_using_platformio(config, args.device)
|
return upload_using_platformio(config, args.device)
|
||||||
@ -397,7 +397,7 @@ def show_logs(config, args, port):
|
|||||||
raise EsphomeError("Logger is not configured!")
|
raise EsphomeError("Logger is not configured!")
|
||||||
if get_port_type(port) == "SERIAL":
|
if get_port_type(port) == "SERIAL":
|
||||||
check_permissions(port)
|
check_permissions(port)
|
||||||
return run_miniterm(config, port)
|
return run_miniterm(config, port, args)
|
||||||
if get_port_type(port) == "NETWORK" and "api" in config:
|
if get_port_type(port) == "NETWORK" and "api" in config:
|
||||||
if config[CONF_MDNS][CONF_DISABLED] and CONF_MQTT in config:
|
if config[CONF_MDNS][CONF_DISABLED] and CONF_MQTT in config:
|
||||||
from esphome import mqtt
|
from esphome import mqtt
|
||||||
@ -842,6 +842,10 @@ def parse_args(argv):
|
|||||||
"--device",
|
"--device",
|
||||||
help="Manually specify the serial port/address to use, for example /dev/ttyUSB0.",
|
help="Manually specify the serial port/address to use, for example /dev/ttyUSB0.",
|
||||||
)
|
)
|
||||||
|
parser_upload.add_argument(
|
||||||
|
"--upload_speed",
|
||||||
|
help="Override the default or configured upload speed.",
|
||||||
|
)
|
||||||
parser_upload.add_argument(
|
parser_upload.add_argument(
|
||||||
"--file",
|
"--file",
|
||||||
help="Manually specify the binary file to upload.",
|
help="Manually specify the binary file to upload.",
|
||||||
@ -860,6 +864,13 @@ def parse_args(argv):
|
|||||||
"--device",
|
"--device",
|
||||||
help="Manually specify the serial port/address to use, for example /dev/ttyUSB0.",
|
help="Manually specify the serial port/address to use, for example /dev/ttyUSB0.",
|
||||||
)
|
)
|
||||||
|
parser_logs.add_argument(
|
||||||
|
"--reset",
|
||||||
|
"-r",
|
||||||
|
action="store_true",
|
||||||
|
help="Reset the device before starting serial logs.",
|
||||||
|
default=os.getenv("ESPHOME_SERIAL_LOGGING_RESET"),
|
||||||
|
)
|
||||||
|
|
||||||
parser_discover = subparsers.add_parser(
|
parser_discover = subparsers.add_parser(
|
||||||
"discover",
|
"discover",
|
||||||
@ -882,9 +893,20 @@ def parse_args(argv):
|
|||||||
"--device",
|
"--device",
|
||||||
help="Manually specify the serial port/address to use, for example /dev/ttyUSB0.",
|
help="Manually specify the serial port/address to use, for example /dev/ttyUSB0.",
|
||||||
)
|
)
|
||||||
|
parser_run.add_argument(
|
||||||
|
"--upload_speed",
|
||||||
|
help="Override the default or configured upload speed.",
|
||||||
|
)
|
||||||
parser_run.add_argument(
|
parser_run.add_argument(
|
||||||
"--no-logs", help="Disable starting logs.", action="store_true"
|
"--no-logs", help="Disable starting logs.", action="store_true"
|
||||||
)
|
)
|
||||||
|
parser_run.add_argument(
|
||||||
|
"--reset",
|
||||||
|
"-r",
|
||||||
|
action="store_true",
|
||||||
|
help="Reset the device before starting serial logs.",
|
||||||
|
default=os.getenv("ESPHOME_SERIAL_LOGGING_RESET"),
|
||||||
|
)
|
||||||
|
|
||||||
parser_clean = subparsers.add_parser(
|
parser_clean = subparsers.add_parser(
|
||||||
"clean-mqtt",
|
"clean-mqtt",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user