32#include <SoDa/ReSampler.hxx>
36#include <uhd/usrp/multi_usrp.hpp>
37#include <uhd/stream.hpp>
39#include <SoDa/MailBox.hxx>
71 auto ret = std::shared_ptr<USRPTX>(
new USRPTX(params, _usrp));
73 ret->registerThread(ret);
116 uhd::usrp::multi_usrp::sptr
usrp;
127 std::vector<std::complex<float>>
accu;
128 std::vector<std::complex<float>>
rs_in;
129 std::vector<std::complex<float>>
hw_cf;
The Baseclass for all SoDa objects, and useful commonly used classes.
RadioTX(ParamsPtr params, const std::string &name)
Constructor for RF Transmit/modulator process.
std::vector< std::complex< float > > accu
accumulator for 625 kS/s input
uhd::tx_metadata_t tx_md
metadata describing USRP transmit buffer
RadioTXPtr getSelfPtr()
used for exception processing and such.
unsigned int hw_buf_size
resampler output / UHD send size (2.5 MS/s)
uhd::usrp::multi_usrp::sptr usrp
the radio.
static USRPTXPtr make(ParamsPtr params, uhd::usrp::multi_usrp::sptr _usrp)
void init()
Some initialization must occurr after all the components are created.
std::weak_ptr< USRPTX > self
USRPTX(ParamsPtr params, uhd::usrp::multi_usrp::sptr _usrp)
Constructor for RF Transmit/modulator process.
bool put(CBufPtr buf)
The TX hardware unit doesn't do much at all.
unsigned int rs_in_size
resampler input block size (625 kS/s)
uhd::tx_streamer::sptr tx_bits
USRP (UHD) transmit stream handle.
std::vector< std::complex< float > > rs_in
one resampler input block
std::vector< std::complex< float > > hw_cf
resampler output at 2.5 MS/s
bool transmitSwitch(bool tx_on)
most transmit chains will require multiple stages to enable the transmitter.
SoDa::ReSamplerPtr hw_resampler
uhd::stream_args_t * stream_args
std::shared_ptr< Params > ParamsPtr
std::shared_ptr< CBuf > CBufPtr
std::shared_ptr< RadioTX > RadioTXPtr
std::shared_ptr< USRPTX > USRPTXPtr