Skip to content

fix(jet1090): reconnect live SDR sources - #537

Merged
xoolive merged 2 commits into
masterfrom
feat/sdr-reconnect
Sep 16, 2026
Merged

xoolive merged 2 commits into
masterfrom
feat/sdr-reconnect

Conversation

@xoolive

@xoolive xoolive commented Sep 9, 2026 •

Copy link
Copy Markdown
Owner

Closes #533

Dependency

Depends on the Desperado 0.5 lifecycle work, including desperado#50. During co-development this branch uses the sibling ../desperado checkout rather than pinning a transient commit.

Summary

  • replace one-shot RTL-SDR, Airspy, HackRF, and SoapySDR tasks with a shared, shutdown-aware reconnect supervisor;
  • propagate fallible SDR initialization and terminal IQ stream errors to the source-health dashboard;
  • transition sources through Connecting, Healthy, and Reconnecting with capped exponential backoff;
  • call IqAsyncSource::stop().await on every live-source exit for deterministic cleanup;
  • return unsupported live sample rates as errors rather than panicking;
  • leave IQ-file EOF as normal completion.

Validation

  • cargo test --all-features
  • cargo build --release --all-features
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • manually validated reconnect behavior with RTL-SDR, Airspy, and HackRF.

SoapySDR manual validation remains pending.

@xoolive

xoolive commented Sep 9, 2026 •

Copy link
Copy Markdown
Owner Author

@abc8747 you want to try?
@johnletey that extends #531 to SDR dongles

@xoolive
xoolive merged commit c777d84 into master Sep 16, 2026
39 checks passed
@abc8747

abc8747 commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

Works well!
image

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.

Add automatic reconnect for SDR dongles

2 participants