[feat](trx-backend-soapysdr): implement real hardware IQ source with feature gating

Add RealIqSource that connects to actual SoapySDR devices when soapysdr-sys
feature is enabled. Implements proper device initialization, frequency/bandwidth
configuration, gain control, and RX stream management.

When soapysdr-sys feature is disabled (default), falls back to MockIqSource
for testing. Update feature flags in Cargo.toml dependencies to support both
real hardware and mock operation.

- Device initialization with proper error handling
- RX frequency, bandwidth, and gain configuration
- IQ sample streaming via broadcast channel
- Proper resource cleanup via Drop trait
- Throttled MockIqSource to prevent 100% CPU

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-26 23:58:12 +01:00
parent a337c0ccea
commit 5a6cac470a
4 changed files with 249 additions and 5 deletions
+2 -1
View File
@@ -10,7 +10,8 @@ build = "build.rs"
[features]
default = ["soapysdr"]
soapysdr = ["dep:trx-backend-soapysdr", "trx-backend/soapysdr"]
soapysdr = ["trx-backend/soapysdr"]
soapysdr-sys = ["soapysdr", "trx-backend/soapysdr-sys"]
[dependencies]
tokio = { workspace = true, features = ["full"] }