Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 29 additions & 2 deletions esp_flasher/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ def parse_args(argv):
group.add_argument("--esp32", action="store_true")
group.add_argument("--esp32s2", action="store_true")
group.add_argument("--esp32s3", action="store_true")
group.add_argument("--esp32s31", action="store_true")
Comment thread
coderabbitai[bot] marked this conversation as resolved.
group.add_argument("--esp32c2", action="store_true")
group.add_argument("--esp32c3", action="store_true")
group.add_argument("--esp32c5", action="store_true")
Expand Down Expand Up @@ -130,7 +131,20 @@ def run_esp_flasher(argv, skip_logs=False):
firmware = open(args.binary, "rb")
except IOError as err:
raise Esp_flasherError(f"Error opening binary: {err}") from err
chip = detect_chip(port, args.esp8266, args.esp32)
chip = detect_chip(
port,
force_esp8266=args.esp8266,
force_esp32=args.esp32,
force_esp32s2=args.esp32s2,
force_esp32s3=args.esp32s3,
force_esp32s31=args.esp32s31,
force_esp32c2=args.esp32c2,
force_esp32c3=args.esp32c3,
force_esp32c5=args.esp32c5,
force_esp32c6=args.esp32c6,
force_esp32c61=args.esp32c61,
force_esp32p4=args.esp32p4,
)
info = read_chip_info(chip)

print()
Expand Down Expand Up @@ -171,7 +185,20 @@ def run_esp_flasher(argv, skip_logs=False):
)
# pylint: disable=protected-access
stub_chip._port.close()
chip = detect_chip(port, args.esp8266, args.esp32)
chip = detect_chip(
port,
force_esp8266=args.esp8266,
force_esp32=args.esp32,
force_esp32s2=args.esp32s2,
force_esp32s3=args.esp32s3,
force_esp32s31=args.esp32s31,
force_esp32c2=args.esp32c2,
force_esp32c3=args.esp32c3,
force_esp32c5=args.esp32c5,
force_esp32c6=args.esp32c6,
force_esp32c61=args.esp32c61,
force_esp32p4=args.esp32p4,
)
stub_chip = chip_run_stub(chip)

if flash_size is None:
Expand Down
10 changes: 8 additions & 2 deletions esp_flasher/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,10 @@ def configure_write_flash_args(
# Fallback if revision cannot be parsed (assume RC1)
model = "esp32p4"
safeboot = "tasmota32p4-safeboot.bin"
elif "ESP32-S31" in info.model:
model = "esp32s31"
safeboot = "tasmota32s31-safeboot.bin"
ofs_bootloader = 0x2000
elif "ESP32-S3" in info.model:
model = "esp32s3"
safeboot = "tasmota32s3-safeboot.bin"
Expand Down Expand Up @@ -392,8 +396,8 @@ def configure_write_flash_args(
min_rev, min_rev_full, max_rev_full, elf_sha256_offset, use_segments, flash_mmu_page_size, pad_to_size, spi_connection, output)


def detect_chip(port, force_esp8266=False, force_esp32=False, force_esp32s2=False, force_esp32s3=False, force_esp32c2=False, force_esp32c3=False, force_esp32c5=False, force_esp32c6=False, force_esp32c61=False, force_esp32p4=False):
if force_esp8266 or force_esp32 or force_esp32s2 or force_esp32s3 or force_esp32c2 or force_esp32c3 or force_esp32c5 or force_esp32c6 or force_esp32c61 or force_esp32p4:
def detect_chip(port, force_esp8266=False, force_esp32=False, force_esp32s2=False, force_esp32s3=False, force_esp32s31=False, force_esp32c2=False, force_esp32c3=False, force_esp32c5=False, force_esp32c6=False, force_esp32c61=False, force_esp32p4=False):
if force_esp8266 or force_esp32 or force_esp32s2 or force_esp32s3 or force_esp32s31 or force_esp32c2 or force_esp32c3 or force_esp32c5 or force_esp32c6 or force_esp32c61 or force_esp32p4:
if force_esp8266:
klass = esptool.ESP8266ROM
elif force_esp32:
Expand All @@ -402,6 +406,8 @@ def detect_chip(port, force_esp8266=False, force_esp32=False, force_esp32s2=Fals
klass = esptool.ESP32S2ROM
elif force_esp32s3:
klass = esptool.ESP32S3ROM
elif force_esp32s31:
klass = esptool.ESP32S31ROM
elif force_esp32c2:
klass = esptool.ESP32C2ROM
elif force_esp32c3:
Expand Down
Loading
Loading