SoDaRadio-12.2.0-cut_dependencies:6c82803
Loading...
Searching...
No Matches
PlutoRX.hxx File Reference

IIO receive streaming thread for the ADALM-PLUTO. More...

#include "RadioRX.hxx"
#include "SoDaBase.hxx"
#include "Params.hxx"
#include "QuadratureOscillator.hxx"
#include <SoDa/ReSampler.hxx>
#include <iio.h>
#include <memory>
#include <vector>
#include <complex>

Go to the source code of this file.

Classes

class  SoDa::PlutoRX

Namespaces

namespace  SoDa

Typedefs

typedef std::shared_ptr< PlutoRXSoDa::PlutoRXPtr

Detailed Description

IIO receive streaming thread for the ADALM-PLUTO.

Owns its own iio_context connection (cf-ad9361-lpc) so that it does not share state with PlutoCtrl or PlutoTX. The Pluto hardware is run at 2.5 MSPS (4× the SoDaRadio IF rate of 625 kSPS). Each IIO buffer refill yields ~30258 samples at 625 kSPS after 4:1 decimation via SoDa::ReSampler; an accumulator accumulates until 30000-sample CBufs can be published to BaseBandRX on rx_stream.

The IIO buffer is refilled continuously once started (same policy as USRPRX) so that the DMA pipeline never stalls. Upstream samples are discarded when streaming is disabled (TX half-duplex mode).

Author
M. H. Reilly (kb1vc)
Date
June 2026
Note
Substantial parts written or modified by Claude Sonnet 4.6 (claude-sonnet-4-6)

Definition in file PlutoRX.hxx.