|
J
jrhughes003
b6b52bf3c9
The agent capture loop calls sdr.rx(buffer_size) per chunk. USRP inherited the base rx() → record(), which issued start_cont/stop_cont and slept 0.1s EVERY buffer. At 2.5 MSps that captured ~1.6 ms of IQ per ~100 ms — heavily gapped, transient-laden, and zero-filled on timeout, which rendered as choppy/black bands in the spectrogram. USRP.rx() now keeps a single continuous stream running across calls: - issues start_cont once (lazily, on first rx()), - recv()s until the request is filled, carrying any over-read into a residual buffer so nothing is dropped between rx() boundaries (gapless), - tolerates overflow (samples still valid), treats repeated timeouts as a disconnect, and stops the stream on close(). Hardware-free tests stub uhd and prove gaplessness, single start, overflow handling, timeout->disconnect, and stop cleanup. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
|||
|---|---|---|---|
| .. | |||
| __init__.py | |||
| test_cli_install_udev.py | |||
| test_cli_register_errors.py | |||
| test_cli_tx.py | |||
| test_config.py | |||
| test_disconnect.py | |||
| test_full_duplex.py | |||
| test_hardware.py | |||
| test_integration_tx.py | |||
| test_integration.py | |||
| test_legacy.py | |||
| test_param_lock_contention.py | |||
| test_streamer_tx.py | |||
| test_streamer.py | |||
| test_tx_safety.py | |||
| test_tx_underrun.py | |||
| test_usrp_rx.py | |||
| test_ws_client_binary.py | |||
| test_ws_client.py | |||