From dfc9547ffc48f641f64de1585e0b24868dfedf08 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Tue, 15 Apr 2025 16:03:33 -0500 Subject: [PATCH] Revert "Work around RTS/DTR serial reset issues on Windows" --- meshtastic/serial_interface.py | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/meshtastic/serial_interface.py b/meshtastic/serial_interface.py index 7133b39..39f2648 100644 --- a/meshtastic/serial_interface.py +++ b/meshtastic/serial_interface.py @@ -46,12 +46,7 @@ class SerialInterface(StreamInterface): logging.debug(f"Connecting to {self.devPath}") - # set port to None to prevent automatically opening - self.stream = serial.Serial( - port=None, baudrate=115200, exclusive=True, timeout=0.5, write_timeout=0 - ) - - # first we need to clear HUPCL (UNIX) or clear RTS/DTR (Windows) so the device will not reboot based on RTS and/or DTR + # first we need to set the HUPCL so the device will not reboot based on RTS and/or DTR # see https://github.com/pyserial/pyserial/issues/124 if platform.system() != "Windows": with open(self.devPath, encoding="utf8") as f: @@ -60,14 +55,10 @@ class SerialInterface(StreamInterface): termios.tcsetattr(f, termios.TCSAFLUSH, attrs) f.close() time.sleep(0.1) - else: - self.stream.rts = 0 - self.stream.dtr = 0 - - # set proper port and open now that we've worked-around RTS/DTR issues - self.stream.port = self.devPath - self.stream.open() + self.stream = serial.Serial( + self.devPath, 115200, exclusive=True, timeout=0.5, write_timeout=0 + ) self.stream.flush() # type: ignore[attr-defined] time.sleep(0.1)