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

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

#include "RadioTX.hxx"
#include "SoDaBase.hxx"
#include "Params.hxx"
#include <SoDa/ReSampler.hxx>
#include <iio.h>
#include <memory>
#include <vector>
#include <complex>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <deque>

Go to the source code of this file.

Classes

class  SoDa::PlutoTX

Namespaces

namespace  SoDa

Typedefs

typedef std::shared_ptr< PlutoTXSoDa::PlutoTXPtr

Detailed Description

IIO transmit streaming thread for the ADALM-PLUTO.

Owns its own iio_context connection (cf-ad9361-dds-core-lpc) separate from PlutoCtrl and PlutoRX. The Pluto hardware runs at 2.5 MSPS (4× the SoDaRadio IF rate of 625 kSPS). Incoming 625 kSPS CBufs from RadioTX::run() are accumulated in a vector; once enough samples are available, SoDa::ReSampler interpolates 4:1 to 2.5 MSPS and the result is pushed to the Pluto DAC via iio_buffer_push().

The DDS tone generators on cf-ad9361-dds-core-lpc are disabled at construction so that our streamed samples reach the DAC unmodified.

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 PlutoTX.hxx.