|
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> |
|||
|---|---|---|---|
| .. | |||
| agent | |||
| datatypes | |||
| io | |||
| orchestration | |||
| remote_control | |||
| ria_toolkit_oss_cli | |||
| server | |||
| transforms | |||
| utils | |||
| __init__.py | |||
| test_agent.py | |||