Retry aborted SD read cleanup - #1725
Merged
Merged
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
An SD read can abort while Bluetooth is active on the prototype. If its CMD12 cleanup also aborts, the driver returns an error before its existing read retries can run. Peak View then shows terrain as unavailable.
Retry an aborted cleanup command up to two times. Require successful cleanup before another read. Other errors and exhausted retries still return an error. Successful reads issue the same SD commands as before. Add SD read failure logs and explicit Peak View failure and full-completion logs.
Hardware investigation reproduced CMD17 abort followed by CMD12 abort. A diagnostic build with this change recovered from that exact sequence. The prototype uses a ribbon cable near the Bluetooth antenna; signal integrity is the suspected trigger. No terrain algorithm or write path changes are included. Temporary command tracing and automatic panorama restarts are removed.
Validation:
./tools/obc test -p obc-elevation: 43 passed.peak-view-demopassed.cargo clippy --release --locked --bin obc-fw-nrf54l --features peak-view-demo -- -D warningspassed.git diff --check, passed.fc780249was flashed and verified on the connected nRF54LM20. With real GPS and fast Bluetooth advertising active, the first terrain frame appeared in 1,431 ms and the full panorama plus summit refill completed in 13,511 ms. No SD read failure, terrain failure, panic, or HardFault was logged during that check. These are acceptance timings, not an isolated benchmark.fc780249, including the default release build and default/debug-UART board Clippy jobs.No public documentation changed: unrecoverable storage errors still make terrain unavailable. No new host test duplicates the board-only command sequence; hardware fault reproduction checks the changed recovery path. Full local CI, UI snapshot sweeps, resource-baseline rebuilds, and wake-profile measurements were omitted because this is a board read-recovery change. CI remains the merge gate.