Skip to content

Retry aborted SD read cleanup - #1725

Merged
timohueser merged 1 commit into
developfrom
codex/sd-read-cleanup-retry
Sep 13, 2026
Merged

timohueser merged 1 commit into
developfrom
codex/sd-read-cleanup-retry

Conversation

@timohueser

@timohueser timohueser commented Sep 13, 2026

Copy link
Copy Markdown
Owner

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.
  • Selected-map simulator generation passed at both earlier Kleine Scheidegg test positions.
  • Board release build with real GPS and peak-view-demo passed.
  • Board cargo clippy --release --locked --bin obc-fw-nrf54l --features peak-view-demo -- -D warnings passed.
  • Workspace and standalone-root formatting, plus git diff --check, passed.
  • Final commit fc780249 was 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.
  • Three later generations completed with the patched diagnostic build. A separate startup diagnostic captured successful recovery from CMD17 abort followed by CMD12 abort; its debugger connection later dropped, so that run is not counted as full startup acceptance.
  • CI passed on 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.

@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 5c7b6182-b5e8-493e-a73a-9e0d6dad0bb0


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@timohueser
timohueser merged commit 79c12ed into develop Sep 13, 2026
29 checks passed
@timohueser
timohueser deleted the codex/sd-read-cleanup-retry branch September 13, 2026 22:24
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