36 #include <uhd/usrp/multi_usrp.hpp> 37 #include <uhd/stream.hpp> 63 USRPTX(
Params * params, uhd::usrp::multi_usrp::sptr _usrp,
73 uhd::usrp::multi_usrp::sptr
usrp;
120 void doCW(std::complex<float> * out,
float * envelope,
unsigned int env_len);
152 uhd::tx_metadata_t
md;
uhd::stream_args_t * stream_args
The Baseclass for all SoDa objects, and useful commonly used classes.
float * zero_env
envelope for dead silence
The Thread baseclass for all SoDa thread objects.
USRPTX(Params *params, uhd::usrp::multi_usrp::sptr _usrp, DatMBox *_tx_stream, DatMBox *_cw_env_stream, CmdMBox *_cmd_stream)
Constructor for RF Transmit/modulator process.
void setCWFreq(bool usb, double freq)
set the CW tone frequency to generate an IQ stream
bool LO_capable
if true, this hardware model supports LO config
SoDa::Command::ModulationType tx_modulation
type of transmit modulation (CW_U,CW_L,USB,LSB...)
This class handles command line parameters and built-ins.
DatMBox * tx_stream
transmit audio stream
void doCW(std::complex< float > *out, float *envelope, unsigned int env_len)
given a keying envelope, impose it on the CW tone
bool beacon_mode
if true, we're transmitting a steady carrier
void execGetCommand(Command *cmd)
execute GET commands from the command channel
DatMBox * cw_env_stream
envelope stream from text-to-CW converter (CW unit)
std::complex< float > * zero_buf
zero signal envelope to fill in end of transmit stream
unsigned int tx_buffer_size
size of buffer going to USRP
void execSetCommand(Command *cmd)
handle SET commands from the command channel
unsigned int cw_subs
subscription handle for cw envelope stream (from CW unit)
unsigned int tx_subs
subscription handle for transmit audio stream (from BaseBandTX)
QuadratureOscillator CW_osc
CW tone IQ oscillator.
This is a list of all the commands that can "do something" to one or more components in the SoDa radi...
void transmitSwitch(bool tx_on)
start/stop transmit stream
float * beacon_env
steady constant amplitude envelope
void execRepCommand(Command *cmd)
handle Report commands from the command channel
uhd::usrp::multi_usrp::sptr usrp
the radio.
ModulationType
modulation selector targets take one of these values
std::complex< float > * cw_buf
CW modulated envelope to send to USRP.
void run()
USRPTX run loop: handle commands, and modulate the tx carrier.
unsigned int cmd_subs
subscription handle for command stream
std::complex< float > * const_buf
envelope for dead silence
float cw_env_amplitude
used to set CW output envelope, constant at 0.7
double tx_sample_rate
sample rate for buffer going to USRP (UHD)
bool tx_enabled
if true, we're transmitting.
bool LO_configured
if true, the LO has had its gain/freq set.
void getTXStreamer()
setup transmit streamer.
sin/cos oscillator to drive TX signal chain
bool waiting_to_run_dry
When set, we should send out a report when we run out of CW buffer.
bool LO_enabled
if true, we're in local transverter mode
uhd::tx_metadata_t md
metadata describing USRP transmit buffer
CmdMBox * cmd_stream
command stream
uhd::tx_streamer::sptr tx_bits
USRP (UHD) transmit stream handle.