Commit Graph

39 Commits

Author SHA1 Message Date
kerms 4493b6d732
feat(partition-table): toolbar redesign, seamless inputs, file type detection
- Icon-based toolbar with dropdown menus
- Seamless inline inputs/selects in table cells
- Smart file type detection with magic bytes and user prompt for ambiguous files
2026-03-13 15:26:56 +01:00
kerms 4e93301626
feat(nvs-editor): blob editor dialog, mobile layout, file import for all types
- Add BlobEditorDialog with hex editing, preview, import/export
- Responsive layout with JS+CSS breakpoint at 640px
- File upload support for string, blob, and primitive types
- Fix: use formatEscapes on string file import to preserve literal content
- Fix: robust download with delayed URL revocation
2026-03-13 15:26:10 +01:00
kerms a8df9ac08d
feat(nvs): add shared parseHexString utility
Two-mode hex parser (0x-prefixed tokenization vs raw hex pairs)
as single source of truth for all hex parsing across components.
2026-03-13 15:25:59 +01:00
kerms 47b11d085f
feat(nvs-editor): unified import UI — 打开(覆盖) button + 导入 dropdown
Replace single 导入 dropdown (which had 合并策略 above both open/merge)
with two separate elements: a plain 打开(覆盖) button that directly opens
a file, and a 导入▼ dropdown that owns the 合并策略 radios. Auto
file-type detection from extension (.bin/.csv/.json) with content-sniff
fallback.
2026-03-13 10:42:48 +01:00
kerms 109017ed6f
feat(nvs-editor): rewrite NVS partition editor 2026-03-12 18:06:37 +01:00
kerms 1b1c11ccb9
refactor(nvs): ValidationError type, orphaned-namespace filtering at boundaries 2026-03-12 18:06:30 +01:00
kerms d01c81b48f
fix(partition-table): reject non-Latin-1 characters in partition names 2026-03-12 12:10:06 +01:00
kerms 402fade928
feat(nvs-editor): UI overhaul with persistence, inline editing, import warnings
Rewrite NVS editor with localStorage persistence, inline add/edit row,
column reorder (key/value/type/namespace), JSON import/export with
dropped+clamped warnings, blob compatibility warnings on version switch
and merge, hex namespace display, and responsive sidebar layout.
2026-03-12 12:09:59 +01:00
kerms e0e95f80c0
feat(nvs): normalize result with dropped/clamped counts, blob compat check
normalizePartition now returns NormalizeResult { partition, dropped, clamped }
so callers can report exactly what happened during import. Clamp functions
report when values were modified. Add checkBlobCompatibility() for proactive
size warnings on version switch/merge. Also includes reconcileBlobTypes at
all import boundaries and BLOB_IDX whitelist enforcement.
2026-03-12 12:09:47 +01:00
kerms 107e67bea4
fix(app-image): remove customDescRawBytes re-added by merge
The customDescRawBytes field was intentionally removed (replaced by the
HexDump visual viewer). The merge accidentally re-introduced it from the
standalone branch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 11:27:06 +01:00
kerms 8d5d05dff0
fix: remove unused formatHexDump leftover from merge
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 11:24:40 +01:00
kerms 17d34a33e9
sync: merge submodule feature work (HexDump viewer, hex highlighting)
Merges development done in the website submodule:
- feat: display SPI pin drive strength and custom app desc raw bytes
- feat: add hex dump viewer, show appended SHA256, remove custom app desc
- feat: add field-range map for hex <-> field highlighting
- feat: Wireshark-style hex/field bidirectional highlighting
- feat: add disableFirmwareSelect prop to EspFlasher
- fix(crc32): use correct init value for ESP-IDF ROM CRC32
2026-03-11 11:22:04 +01:00
kerms 1601c0ad38
fix(crc32): use correct init value for ESP-IDF ROM CRC32
esp_rom_crc32_le(0xFFFFFFFF, ...) inverts the input (~0xFFFFFFFF = 0),
so the effective init is 0x00000000, not 0xFFFFFFFF (standard zlib).
This caused all NVS page/entry CRC checks to fail silently.
2026-03-11 11:20:14 +01:00
kerms da91312ca9
feat(app-image): add custom app desc dump and SPI pin drive display 2026-03-11 11:03:57 +01:00
kerms 1076aa3848
fix(crc32): use correct init value for ESP-IDF ROM CRC32
esp_rom_crc32_le(0xFFFFFFFF, ...) inverts the input (~0xFFFFFFFF = 0),
so the effective init is 0x00000000, not 0xFFFFFFFF (standard zlib).
This caused all NVS page/entry CRC checks to fail silently.
2026-03-11 11:03:42 +01:00
kerms 0e2f8c4828
feat: add disableFirmwareSelect prop to EspFlasher 2026-03-10 14:56:06 +01:00
kerms f7fbf57095
feat: Wireshark-style hex/field bidirectional highlighting 2026-03-10 13:17:47 +01:00
kerms 0e21d6cb99
feat: add field-range map for hex ↔ field highlighting 2026-03-10 13:17:41 +01:00
kerms 9b572bb9d3
feat: add hex dump viewer, show appended SHA256, remove custom app desc 2026-03-10 12:59:46 +01:00
kerms 235b5e170a
feat: display SPI pin drive strength and custom app desc raw bytes 2026-03-09 18:18:22 +01:00
kerms 92dd27ed9b
feat: add chipDetected emit, hide single-option firmware selector, remove alerts 2026-03-08 19:14:05 +01:00
kerms c8b560387b
feat(partition-table): add BOOTLOADER and PARTITION_TABLE types
Add ESP-IDF partition types 0x02 (BOOTLOADER) and 0x03 (PARTITION_TABLE)
with their subtype enums and name maps. Refactor getSubtypeName/subtypeFromName
to use a unified SUBTYPE_NAME_MAPS lookup table.
2026-03-05 18:20:04 +01:00
kerms 4959ff74c1
refactor: translate error messages from Chinese to English
Standardize all user-facing error/validation messages across
partition-table, nvs, app-image, and ota-data parsers to English.
2026-02-28 11:50:00 +01:00
kerms d32674617d
feat: add OTA data parser and fix verbatimModuleSyntax compliance
- Add lib/ota-data/ module: parses esp_ota_select_entry_t structures,
  determines active OTA partition from sequence numbers and CRC validation
- Fix all lib files to use `import type` for type-only imports to comply
  with TypeScript verbatimModuleSyntax (partition-table, nvs, app-image)
- Export ota-data from lib/index.ts
2026-02-25 16:34:42 +01:00
kerms 577b845afc
fix(esp-flasher): enforce imageOptions.value uniqueness via prop validator
Replace comment-only contract with a Vue prop validator that catches duplicate
.value keys at dev time. Validator is stripped from production builds.
Add inline comment to demo/tsconfig.json documenting the 8 node_modules type
errors (vueuse Bluetooth API, element-plus JSX/slots/icons) that require
skipLibCheck: true until those packages are updated.
2026-02-22 16:08:04 +01:00
kerms 34eb123f5e
feat(partition-table): add initial partition table library and Vue editor 2026-02-22 13:54:39 +01:00
kerms b23a7e5c8a feat(nvs): add NVS editor and binary/CSV toolkit 2026-02-22 13:17:49 +01:00
kerms 8320bf7ab2
feat(app-image): add ESP firmware image parser and viewer with robust
upload handling

- add app image parser/types/constants for ESP image header, extended
header, segments, and app description
- add shared binary read/write utilities and CRC32 helper
- add AppImageViewer component to inspect firmware metadata in UI
- improve upload UX: accept .bin only and show explicit error for ELF input
- prevent status alert timer race by clearing previous timeout before
setting a new one
- ignore .claude in .gitignore
2026-02-22 12:37:30 +01:00
kerms 0f107073bd
chore(esp-flasher): relocate esptools-js files into components directory 2026-02-20 18:32:20 +01:00
kerms 38018f1c39 docs: add demo link and screenshot to esp-flasher README 2026-01-23 15:06:31 +01:00
kerms 28bac4215b docs: add MIT license and third-party Apache license for esptools-js 2026-01-23 15:02:26 +01:00
kerms a51958648a refactor: remove vitepress dependency and rename project 2026-01-23 14:52:47 +01:00
kerms 599ae714ab docs: add READMEs for toolbox and esp-flasher 2026-01-23 14:47:20 +01:00
kerms aac5f29fb5 update(esp-flasher) and add uart online flash page 2024-07-01 20:46:38 +08:00
kerms cc72d6cff4 add(com/wireless-debugger)
- wd/docs
- add bins
- add taobao to social-icon
2024-06-20 10:14:46 +08:00
kerms 9f14031583 feat(espFlasher) add console 2024-04-18 20:02:13 +08:00
kerms 3e78a8560a feat(espflasher) esp32 bin and add cdn link 2024-04-18 13:55:32 +08:00
kerms 13a76efcdc feat(flasherjs) add ESP32 boot mode info
- update binary
 - add STM32-DAPLINK wire information
 - update beian
2024-04-17 18:42:56 +08:00
kerms b1c5c4aa26 initial commit 2024-04-08 12:27:19 +08:00