fix: stream Vivado output live, remove broken normalize_port

JTAG: Start hw_server explicitly (Windows needs it), then run Vivado
TCL with Popen + line-by-line stdout streaming via callback so user
can see Vivado progress in real-time (not just on failure).

COM: Remove normalize_port — pyserial >= 3.0 handles COM>=10 prefix
internally. The manual \\.\ prefix was causing PermissionError(13)
on Windows where pyserial's own handling conflicted.
This commit is contained in:
2026-06-11 17:24:31 +08:00
parent 954aed7c0d
commit 66c04da5e0
4 changed files with 154 additions and 207 deletions
+1 -2
View File
@@ -1075,8 +1075,7 @@ class UartMonitorWindow(ctk.CTkToplevel):
def _bg_open() -> None:
try:
import serial
from serial_monitor import normalize_port
ser = serial.Serial(normalize_port(self._port), self._baudrate, timeout=1)
ser = serial.Serial(self._port, self._baudrate, timeout=1)
ser.close()
self.after(0, self._on_open_success)
except Exception as e: