47 #include <uhd/utils/thread_priority.hpp>    48 #include <uhd/utils/safe_main.hpp>    49 #include <uhd/usrp/multi_usrp.hpp>    50 #include <uhd/usrp/dboard_base.hpp>    51 #include <uhd/types/tune_request.hpp>    52 #include <uhd/types/tune_result.hpp>    53 #include <uhd/utils/msg.hpp>   124     uhd::tune_result_t 
checkLock(uhd::tune_request_t & req,
   126                  uhd::tune_result_t & cur);
   165     uhd::usrp::multi_usrp::sptr 
usrp; 
   268                    uhd::tune_request_t * tune_req);
 uhd::usrp::multi_usrp::sptr usrp
to which USRP unit is this connected? 
bool rx_fe_has_enable
can we access rx_fe_subtree/enabled ? 
The Baseclass for all SoDa objects, and useful commonly used classes. 
SoDa::PropTree * tx_fe_subtree
property tree from daughtercard module 
static SoDa::USRPCtrl * singleton_ctrl_obj
This is a singleton object – the last (and only, we hope) such object to be created sets a static po...
bool is_B2xx
The B200 and B210 need some special handling, as they don't have frontend lock indications (as of 3...
The Thread baseclass for all SoDa thread objects. 
uhd::usrp::multi_usrp::sptr getUSRP()
return a pointer to the multi_usrp object – used by RX and TX processes to find the associated USRP ...
double tvrt_lo_fe_freq
the frequency of the second transmit channel front-end oscillator 
SoDa::TRControl * tr_control
external control widget for TR switching and other things. 
uhd::tune_result_t last_tx_tune_result
TX tune result. 
bool tx_has_lo_locked_sensor
does the tx frond end have an lo_locked sensor? 
void disableTransverterLO()
Though libuhd is designed to be re-entrant, there are some indications that all control functions (se...
std::string motherboard_name
The model name of the USRP unit. 
void execGetCommand(Command *cmd)
Dispatch an incoming GET command. 
static const double rxmode_offset
tx offset when in RX mode 
double tx_samp_rate
sample rate to USRP TX chain. 
bool getTXRelayOn()
get the state of the TX relay confirm bit 
uhd::tune_result_t saved_rx_tune_result
previous RX tune result – used for transverter LO "calibration" function 
void enableTransverterLO()
uhd::freq_range_t tx_rf_freq_range
property of the device – what is the min/maximum TX frequency? 
This class handles command line parameters and built-ins. 
double rx_rf_gain
rf gain for RX front end amp/attenuator 
Generic Control class to activate T/R switching, band switching, and other control functions...
PropTree class encapsulates the USRP property tree functions to allow better trap and error recovery ...
bool supports_IntN_Mode
if true, this unit can tune the front-end LO 
bool tvrt_lo_capable
if true, this unit can implement a local transverter oscillator. 
double getTime()
get the number of seconds since the "Epoch" 
bool tx_on
if true, we are transmitting. 
uhd::tune_result_t last_rx_tune_result
RX tune result – actual LO and DSP freq. 
void set1stLOFreq(double freq, char sel, bool set_if_freq=false)
Set the front-end (LO + DDS) frequency to 'freq' This includes setting the PLL front end synthesizer ...
static void normal_message_handler(uhd::msg::type_t type, const std::string &msg)
This is the more permanent message handler... 
void reportAntennas()
report the antennas that are available, send the report on cmd_stream 
double tx_freq
remember current tx freq 
void setTXEna(bool val)
turn TX on/off 
This is a list of all the commands that can "do something" to one or more components in the SoDa radi...
void applyTargetFreqCorrection(double target_freq, double avoid_freq, uhd::tune_request_t *tune_req)
applyTargetFreqCorrection adjusts the requested frequency, if necessary, to avoid a birdie caused by ...
double tx_rf_gain
rf gain for final TX amp 
double tx_freq_rxmode_offset
when in RX mode, move tx off frequency to put the tx birdie out of band, when in TX mode...
bool debug_mode
print stuff when we are in debug mode 
bool tx_fe_has_enable
can we access tx_fe_subtree/enabled ? 
void setTransverterLOFreqPower(double freq, double power)
set the transverter LO frequency and power This code does not work for libUHD after 3...
uhd::gain_range_t tx_rf_gain_range
property of the device – what is the min/maximum TX gain setting? 
void reportAFFilters()
report the audio filters that are implemented, send the report on cmd_stream 
bool supports_tx_gpio
does this unit support GPIO signals? (B2xx does not as of 3.7.0) 
bool getTXEna()
get the state of the TXEna bit 
uhd::usrp::dboard_iface::sptr dboard
the daughterboard we're controlling 
double first_gettime
timestamps are relative to the first timestamp. 
static const unsigned int TX_RELAY_MON
mask for RELAY sense bit 
void initControlGPIO()
Initialize the GPIO control registers to set the direction and enables for the TX/RX relay output and...
void testIntNMode(bool force_int_N, bool force_frac_N)
Test for support for integer-N synthesis. 
double last_rx_req_freq
remember the last setting – useful for "calibration check" 
void reportModes()
report the modulation modes that are implemented, send the report on cmd_stream 
static const unsigned int TX_RELAY_CTL
we use TX_IO bit 12 to turn on the TX relay we use TX_IO bit 11 to monitor the TX relay ...
bool tvrt_lo_mode
if true, set the transmit frequency, with some knowledge of the tvrt LO. 
void setTXFrontEndEnable(bool val)
set TX enable property on front-end module – not present in all daughtercards... ...
double tvrt_lo_freq
the frequency of the second transmit channel oscillator 
unsigned int subid
subscriber ID for this thread's connection to the command channel 
bool rx_has_lo_locked_sensor
does the rx frond end have an lo_locked sensor? 
double tvrt_lo_gain
output power for the second transmit channel (used for transverter LO) 
uhd::freq_range_t rx_rf_freq_range
property of the device – what is the min/maximum RX frequency? 
std::string tx_ant
TX antenna choice (usually has to be TX or TX/RX1? 
void run()
start the thread 
CmdMBox * cmd_stream
command stream channel 
SoDa::PropTree * rx_fe_subtree
property tree from daughtercard module 
USRPCtrl(Params *params, CmdMBox *_cmd_stream)
Constructor Build a USRPCtrl thread. 
uhd::gain_range_t rx_rf_gain_range
property of the device – what is the min/maximum RX gain setting? 
void execRepCommand(Command *cmd)
Dispatch an incoming REPort command. 
void setAntenna(const std::string &ant, char sel)
Set the antenna choice. 
void execSetCommand(Command *cmd)
Dispatch an incoming SET command. 
uhd::tune_result_t checkLock(uhd::tune_request_t &req, char sel, uhd::tune_result_t &cur)
is the identified (rx or tx) front-end LO locked? If not, set the tuning frequency to "the right thin...
void execCommand(Command *cmd)
Parse an incoming command and dispatch. 
bool is_B210
the B210 has two tx channels – use the second for a Transverter LO – see USRPLO ...