Skip to content

Show firmware update progress and results on the controller screen - #134

Open
zjwhitehead wants to merge 1 commit into
masterfrom
codex/ota-update-screen
Open

zjwhitehead wants to merge 1 commit into
masterfrom
codex/ota-update-screen

Conversation

@zjwhitehead

@zjwhitehead zjwhitehead commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Firmware updates started from Android or iOS previously left the normal flight screen visible. This adds a full-screen update flow with preparation, progress based on bytes successfully written, verification, automatic restart, and readable failure states. After reboot, a brief completion screen shows the running firmware version.

The existing BLE UUIDs, command/sector formats, and acknowledgments are preserved. Screen updates stay in the UI task, progress redraws are limited to 4 Hz, and button gestures are consumed during the update/result screen. A persisted target-slot receipt distinguishes successful startup from rollback.

Screenshots

Rendered from the production LVGL screen at the device's 160 × 128 resolution, enlarged for review.

Update flow: preparation, progress, verification, restart, completion, and interrupted transfer

Light and dark themes, including error states

Update screens in light and dark themes

Validation

  • ESP32-S3 PlatformIO firmware build passed on this commit.
  • All 37 display/status tests passed, including 24 new light/dark screenshot references.
  • All 13 host OTA lifecycle/protocol tests passed, covering retries, disconnects, timeouts, flash/verification failures, restart, and boot results.
  • Lint passed for changed production files.
  • Hardware flashing and live Android/iOS transfer testing remain outstanding. The installed firmware must already contain this UI to display progress during a transfer.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

This branch has not been deployed

No deployments
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.

1 participant