Add fleet updater foundations with C3 and S3 support - #69
Closed
theysayheygreg wants to merge 3 commits into
Closed
Conversation
12 tasks
6 tasks
Author
|
Replacement target-only PR is now open as draft: #70. It contains the clean three-commit sequence with exact Waveshare S3 target scope; closing this superseded PR. |
Author
|
Superseded by replacement draft PR #70 with the corrected clean three-commit S3 target-only scope. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The idea
WLEDTubes has hundreds of controllers in the wild. This PR prepares a practical way to move that fleet forward without plugging every Tube into a laptop.
1. Future updates can move from Tube to Tube
After devices are running the new firmware, one updated Tube can pass an approved update to one compatible Tube nearby. The receiver installs it, restarts, and proves it is healthy before the baton moves on. If nothing suitable appears for 60 seconds, propagation stops.
2. The old fleet migrates with the tools it already understands
The existing Tubes do not know the new targeting and baton rules. Easy Flash installs the bridge firmware on the first device, and the established laptop-assisted OTA workflow moves nearby legacy devices onto the new release. The S3 is the on-site recovery surface for devices missed before a rave.
3. Rollout happens in growing groups
Start with Greg's four devices, including an interrupted transfer and retry. Then update a small group before moving to the larger fleet. A device counts as updated only after it restarts and returns healthy. Powered-off, absent, or out-of-range devices remain unknown and can be handled in another pass.
Three reviewable commits
0987e266adds the shared target, artifact, session, migration, and 60-second baton foundations.89ea7a04adds the exact Athom ESP32-C3 firmware target and update admission.1343f099adds the Waveshare ESP32-S3 product shell, local Conductor, bounded Surveyor evidence, updater/recovery states, virtual framebuffer safety, partition contract, and compile canary.Current boundary
This remains a draft because the final target-addressed wire seam and receiver OTA integration are not yet present. The S3 UI is compile-tested, but physical display, touch, radio, and live update behavior have not been exercised. This PR does not claim a completed field updater, contact a device, or alter the deployed Tubes packet IDs.
Supersedes #67 and #66 while retaining those branches and discussions for history.