Fix bitmap HUD dashboard hide failure & display improvements#43
Merged
Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Detailed findings on why pushScreen(0xF4) was failing after hideDashboard(0x26), with evidence from the Even Realities SDK, Python community wrapper, and BLE protocol analysis. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
pushScreen(0xF4)command from the bitmap hide path. The Even Realities SDK only uses the0x26dashboard visibility command. The extrapushScreenwas timing out and blocking state recovery, causing the[BitmapHUD] dashboard screen hide failederror.pushScreenToConnectedSides()sends to both eyes independently, fixing thesendBoth()short-circuit bug where R never gets the command if L fails.Root Cause Analysis
See
docs/BITMAP_HUD_DASHBOARD_HIDE_FINDINGS.mdfor the full investigation including:0xF4is not part of the Even Realities SDKBleManager.sendBoth()short-circuit bug (L timeout → R skipped)Key Findings
pushScreen(0xF4)afterhideDashboard(0x26)— firmware can't respond in timepushScreen— SDK only needs0x26_restoreBitmapRoutereturned false on screen hide failure, blocking cleanupsendBoth()short-circuits on L failurepushScreenToConnectedSides()with independent L/RTest plan
flutter analyze— 0 errors (60 infos only)flutter test test/— 453 tests passpushScreenToConnectedSides(5 cases: both succeed, L fails R still gets command, R-only, nack, no connection)🤖 Generated with Claude Code