Do not resolve debugging serial port by default

This commit is contained in:
Ivan Kravets
2022-06-22 19:03:50 +03:00
parent c557473cfb
commit cee3f4d90f
7 changed files with 37 additions and 23 deletions

View File

@@ -18,14 +18,13 @@ import os
from platformio import fs, proc, util
from platformio.compat import string_types
from platformio.debug.exception import DebugInvalidOptionsError
from platformio.device.finder import find_serial_port, is_pattern_port
from platformio.project.config import ProjectConfig
from platformio.project.helpers import load_build_metadata
from platformio.project.options import ProjectOptions
class DebugConfigBase: # pylint: disable=too-many-instance-attributes
def __init__(self, platform, project_config, env_name):
def __init__(self, platform, project_config, env_name, port=None):
self.platform = platform
self.project_config = project_config
self.env_name = env_name
@@ -49,6 +48,7 @@ class DebugConfigBase: # pylint: disable=too-many-instance-attributes
self._load_cmds = None
self._port = None
self.port = port
self.server = self._configure_server()
try:
@@ -119,25 +119,10 @@ class DebugConfigBase: # pylint: disable=too-many-instance-attributes
@property
def port(self):
initial_port = (
return (
self.env_options.get("debug_port", self.tool_settings.get("port"))
or self._port
)
if initial_port and not is_pattern_port(initial_port):
return initial_port
port = find_serial_port(
initial_port,
board_config=self.board_config,
upload_protocol=self.tool_name,
prefer_gdb_port=True,
)
if port:
return port
if not self.tool_settings.get("require_debug_port"):
return None
raise DebugInvalidOptionsError(
"Please specify `debug_port` for the working environment"
)
@port.setter
def port(self, value):

View File

@@ -13,6 +13,8 @@
# limitations under the License.
from platformio.debug.config.base import DebugConfigBase
from platformio.debug.exception import DebugInvalidOptionsError
from platformio.device.finder import find_serial_port, is_pattern_port
class BlackmagicDebugConfig(DebugConfigBase):
@@ -47,3 +49,25 @@ while ($busy)
end
set language auto
"""
@property
def port(self):
# pylint: disable=assignment-from-no-return
initial_port = DebugConfigBase.port.fget(self)
if initial_port and not is_pattern_port(initial_port):
return initial_port
port = find_serial_port(
initial_port,
board_config=self.board_config,
upload_protocol=self.tool_name,
prefer_gdb_port=True,
)
if port:
return port
raise DebugInvalidOptionsError(
"Please specify `debug_port` for the working environment"
)
@port.setter
def port(self, value):
self._port = value

View File

@@ -34,5 +34,6 @@ $INIT_BREAK
"""
def __init__(self, *args, **kwargs):
if "port" not in kwargs:
kwargs["port"] = ":3333"
super().__init__(*args, **kwargs)
self.port = ":3333"

View File

@@ -38,8 +38,9 @@ $INIT_BREAK
"""
def __init__(self, *args, **kwargs):
if "port" not in kwargs:
kwargs["port"] = ":2331"
super().__init__(*args, **kwargs)
self.port = ":2331"
@property
def server_ready_pattern(self):

View File

@@ -32,5 +32,6 @@ $INIT_BREAK
"""
def __init__(self, *args, **kwargs):
if "port" not in kwargs:
kwargs["port"] = ":2000"
super().__init__(*args, **kwargs)
self.port = ":2000"

View File

@@ -33,5 +33,6 @@ $INIT_BREAK
"""
def __init__(self, *args, **kwargs):
if "port" not in kwargs:
kwargs["port"] = ":1234"
super().__init__(*args, **kwargs)
self.port = ":1234"

View File

@@ -35,8 +35,9 @@ monitor start
"""
def __init__(self, *args, **kwargs):
if "port" not in kwargs:
kwargs["port"] = ":3333"
super().__init__(*args, **kwargs)
self.port = ":3333"
@property
def server_ready_pattern(self):