fix(espefuse): Fixes re-connection issue in check-error via UJS port

This commit is contained in:
Konstantin Kondrashov
2025-08-18 16:47:17 +03:00
committed by Radim Karniš
parent d19413cc99
commit a160468d0f
2 changed files with 11 additions and 1 deletions

View File

@@ -536,8 +536,14 @@ class EspEfusesBase:
log.print("Re-connecting...")
baudrate = esp._port.baudrate
port = esp._port.port
connect_mode = (
"usb-reset"
if esp._get_pid() == esp.USB_JTAG_SERIAL_PID
else "default-reset"
)
log.print(f"Port: {port}, Baudrate: {baudrate}, Connect mode: {connect_mode}")
esp._port.close()
return esptool.detect_chip(port, baudrate)
return esptool.detect_chip(port, baudrate, connect_mode)
def get_index_block_by_name(self, name):
for block in self.blocks:

View File

@@ -19,6 +19,7 @@ class EmulateEfuseControllerBase:
Blocks = None
Fields = None
REGS = None
USB_JTAG_SERIAL_PID = 0x1001
def __init__(self, efuse_file=None, debug=False):
self.debug = debug
@@ -76,6 +77,9 @@ class EmulateEfuseControllerBase:
blk = self.Blocks.get(self.Blocks.BLOCKS[block])
self.write_reg(blk.wr_addr + (4 * n), value)
def _get_pid(self):
return -1
""" << esptool method end """
def handle_writing_event(self, addr, value):