KeSp split keyboard configurator — Slint UI port
Find a file
Mae PUGIN 195fa6e7e8 fix: Rewrite ESP32-S3 flasher to match esptool behavior
Root cause: missing SPI_SET_PARAMS (CMD 0x0B) before flash_begin.
ROM bootloader defaults to 2MB flash size, silently truncating
writes to 16MB flash. Progress bar showed success but firmware
was corrupt.

Changes:
- Add spi_set_params() with 16MB geometry before flash_begin
- Add MD5 verification after write (SPI_FLASH_MD5, CMD 0x13)
- Add retry logic (3 attempts per block)
- Pad firmware to 4-byte boundary
- flash_end(reboot=false) then separate hard reset after MD5 check
- Pure Rust MD5 implementation (no external crate)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 15:06:49 +02:00
original-src feat: Complete KeSp Controller — Slint UI port 2026-04-06 20:40:34 +02:00
src fix: Rewrite ESP32-S3 flasher to match esptool behavior 2026-04-07 15:06:49 +02:00
ui feat: OTA firmware update via CDC serial (Settings tab) 2026-04-07 13:45:12 +02:00
.gitignore feat: Complete KeSp Controller — Slint UI port 2026-04-06 20:40:34 +02:00
build.rs feat: Complete KeSp Controller — Slint UI port 2026-04-06 20:40:34 +02:00
Cargo.lock feat: Complete KeSp Controller — Slint UI port 2026-04-06 20:40:34 +02:00
Cargo.toml feat: Complete KeSp Controller — Slint UI port 2026-04-06 20:40:34 +02:00
default.json feat: Complete KeSp Controller — Slint UI port 2026-04-06 20:40:34 +02:00