Skip to content

Improve EEPROM naming and scan UX#3

Merged
Robotmad merged 36 commits into
mainfrom
eeprom-geometry-autodetect
May 10, 2026
Merged

Improve EEPROM naming and scan UX#3
Robotmad merged 36 commits into
mainfrom
eeprom-geometry-autodetect

Conversation

@Robotmad
Copy link
Copy Markdown
Owner

Summary

  • improve startup warning reporting and pagination
    • auto-detect blank EEPROM geometry and show manual scan progress
    • stop repeated initialise prompts after the user declines them
    • separate HexManager display name from EEPROM header friendly_name
    • keep HexCurrent in HexManager UI while writing HexCurent into the EEPROM header

Validation

  • python -m py_compile sim/apps/HexManager/app.py sim/apps/HexManager/hexpansion_mgr.py sim/apps/HexManager/tests/test_serialise.py sim/apps/HexManager/tests/test_smoke.py
    • deployed to badge hardware on COM7
    • verified on-badge import of the updated HexManager modules
    • manually checked init-decline handling, scan remap, and scan feedback on hardware

Copilot AI review requested due to automatic review settings May 10, 2026 15:03
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves HexManager’s startup warning UX and EEPROM scan/init flows, while also separating the HexManager UI display name from the EEPROM header friendly_name (to support “HexCurrent” in the UI while writing “HexCurent” into headers/notifications).

Changes:

  • Added message wrapping + pagination for startup warnings (including preserving real import failure reasons).
  • Added blank-EEPROM geometry probing + manual “Scan” UX, plus suppression of repeated init prompts after the user declines.
  • Introduced vendored EEPROM apps (HexDrive2, HexCurrent) via submodules and updated build/deploy scripts and hexpansions metadata accordingly.

Reviewed changes

Copilot reviewed 13 out of 25 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tildagon.toml Bumps app version to 0.4.
app.py Adds startup warning formatting, message wrapping/pagination, and improved import error reporting.
hexpansion_mgr.py Adds EEPROM geometry detection, manual scan sub-state, init-decline tracking, and uses friendly_name for EEPROM headers.
hexpansions.json Adds friendly_name, adds HexCurrent entry, and switches HexDriveV2 to hexdrive2 artifact/version.
README.md Documents friendly_name semantics and constraints.
EEPROM/hexdrive.py Introduces _MIN_BADGEOS_VERSION constant and uses it for version gating.
tests/test_smoke.py Adds tests for warning pagination/import failure reporting and extends app version consistency checks to vendored sources.
tests/test_serialise.py Adds tests for EEPROM geometry detection, scan UX, friendly_name handling, and init-decline behavior.
dev/download_to_device.py Adds compilation/deploy of vendored HexDrive2/HexCurrent artifacts.
dev/build_release.py Adds external module compilation and vendor-dir ignore logic for release packaging.
.gitmodules Adds vendor submodules (HexDrive2, HexCurrent).
.gitignore Stops ignoring *.mpy so compiled artifacts can be committed/packaged.
.github/workflows/release.yml Updates Python setup action (but still needs submodule initialization for new vendor deps).
.gitattributes Adjusts export-ignore rules and marks .mpy as binary for diffs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread dev/build_release.py Outdated
Comment thread .github/workflows/release.yml
Comment thread tests/test_smoke.py Outdated
Comment thread hexpansion_mgr.py Outdated
Comment thread hexpansion_mgr.py Outdated
Robotmad and others added 2 commits May 10, 2026 16:22
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI and others added 2 commits May 10, 2026 15:25
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Robotmad added 5 commits May 10, 2026 16:45
Removed checkout command for HexManager submodule.
Added a step to checkout the badge repository based on the PR branch.
Updated Python setup step to use a fixed version 3.11.
@Robotmad Robotmad merged commit 254bfe5 into main May 10, 2026
1 check failed
@Robotmad Robotmad deleted the eeprom-geometry-autodetect branch May 13, 2026 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants