✨ feat: collapsible flash sub-steps UI + erase_all checkbox
Rename erase_before_program → erase_all (semantics fix): - erase_all: true → -erase_all -erase_only (entire flash chip) - erase_all: false → -erase_only (sectors matching BIN size) Both options always erase; the checkbox controls scope, not yes/no. UI additions: - SubStepFrame widget: collapsible Erase/Program/Verify sub-steps with status dots (○/◉/●) and colored labels - Automatically expands on Step 2 start, collapses on completion - Phase and progress driven by real-time program_flash output parsing - Checkbox label: '整片Flash擦除 (Erase entire flash)' subprocess_utils.py phase detection: - Parses 'Performing Erase/Program/Verify Operation' for phase transitions - Emits 'phase' callbacks (erase/program/verify/done) - Progress % tracked within current phase
This commit is contained in:
@@ -22,13 +22,12 @@ bootloader_elf_path: ""
|
||||
# bootloader_bin_path is the bootloader image to program into QSPI flash
|
||||
# fsbl_elf_path is the FSBL (First Stage Boot Loader) required by program_flash
|
||||
# flash_type sets the QSPI interface mode (qspi-x4-single, qspi-x8-dual_parallel, etc.)
|
||||
# flash_model determines chip capacity: s25fl256s1=32MiB, s25fl128s=16MiB, etc.
|
||||
# erase_before_program: if true, erase flash sectors before programming
|
||||
# erase_all: if true, erase entire flash chip; if false, only erase sectors needed
|
||||
bootloader_bin_path: ""
|
||||
fsbl_elf_path: ""
|
||||
flash_type: "qspi-x4-single"
|
||||
flash_model: "s25fl256s1"
|
||||
erase_before_program: true
|
||||
erase_all: false
|
||||
|
||||
# Firmware upload (Step 4: Load Main Program via TFTP)
|
||||
firmware_bin_path: ""
|
||||
|
||||
Reference in New Issue
Block a user