diff options
| author | iabdalkader <i.abdalkader@gmail.com> | 2025-10-12 20:53:46 +0200 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2025-10-24 17:31:51 +1100 |
| commit | 15401a3ae83c5e5652d30544eeaf189585066f52 (patch) | |
| tree | c320dbbf77d73fdaec222ea183ca86184907e94d | |
| parent | 28919abb17fb645c9c5e89af44f9df85b8635e86 (diff) | |
tools/mpremote: Fix exception when using pts.
Setting RTS/DTR raises "Inappropriate ioctl for device" for pts devices.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
| -rw-r--r-- | tools/mpremote/mpremote/transport_serial.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/tools/mpremote/mpremote/transport_serial.py b/tools/mpremote/mpremote/transport_serial.py index eccdd4c1e..b3584945b 100644 --- a/tools/mpremote/mpremote/transport_serial.py +++ b/tools/mpremote/mpremote/transport_serial.py @@ -38,7 +38,7 @@ import ast, io, os, re, struct, sys, time import serial import serial.tools.list_ports -from errno import EPERM +from errno import EPERM, ENOTTY from .console import VT_ENABLED from .transport import TransportError, TransportExecError, Transport @@ -107,8 +107,15 @@ class SerialTransport(Transport): def close(self): # ESP Windows quirk: Prevent target from resetting when Windows clears DTR before RTS - self.serial.rts = False - self.serial.dtr = False + try: + self.serial.rts = False + self.serial.dtr = False + except OSError as er: + if er.errno == ENOTTY: + # Some devices (like QEMU pts) don't support RTS/DTR control + pass + else: + raise er self.serial.close() def read_until( |
