pub struct RxStream { /* private fields */ }Expand description
Owned HackRF receive stream.
start selects RX while the radio is off. read only consumes the owned
RX queue and never switches direction or takes the lifecycle mutex.
Implementations§
Source§impl RxStream
impl RxStream
Sourcepub fn start(&mut self) -> impl MaybeFuture<Output = Result<()>> + '_
pub fn start(&mut self) -> impl MaybeFuture<Output = Result<()>> + '_
Start or resume RX while the radio is off.
Returns Error::Busy when TX is active or any control transition is
in progress. Calling start on an already-running RX stream succeeds
without changing hardware state.
Sourcepub fn read<'a>(
&'a mut self,
out: &'a mut [Complex32],
timeout: Option<Duration>,
) -> impl MaybeFuture<Output = Result<usize>> + 'a
pub fn read<'a>( &'a mut self, out: &'a mut [Complex32], timeout: Option<Duration>, ) -> impl MaybeFuture<Output = Result<usize>> + 'a
Read normalized complex IQ samples from a started RX stream.
Blocking operation fills the output until its total timeout expires;
None waits indefinitely. Awaited operation ignores the timeout and
consumes buffered data or one new USB completion.
Sourcepub fn stop(&mut self) -> impl MaybeFuture<Output = Result<StreamingStats>> + '_
pub fn stop(&mut self) -> impl MaybeFuture<Output = Result<StreamingStats>> + '_
Stop RX, turn the radio off, and return counters for this run.
A successful stop retains the RX queue so a later Self::start can
resume it without submitting a second queue. Drop the stream for final
best-effort queue cleanup. A stream I/O failure turns the radio off,
closes the queue, and permanently invalidates this stream; drop it and
create a new RX stream before starting again. On WebUSB, dropping an
RX stream whose queue has started is terminal for RX on this device
session; drop and reopen the device instead.