UHD 003.003.000
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes

uhd::usrp::multi_usrp Class Reference

#include <multi_usrp.hpp>

List of all members.

Public Types

typedef boost::shared_ptr
< multi_usrp
sptr

Public Member Functions

virtual device::sptr get_device (void)=0
virtual void set_master_clock_rate (double rate, size_t mboard=ALL_MBOARDS)=0
virtual double get_master_clock_rate (size_t mboard=0)=0
virtual std::string get_pp_string (void)=0
virtual std::string get_mboard_name (size_t mboard=0)=0
virtual time_spec_t get_time_now (size_t mboard=0)=0
virtual time_spec_t get_time_last_pps (size_t mboard=0)=0
virtual void set_time_now (const time_spec_t &time_spec, size_t mboard=ALL_MBOARDS)=0
virtual void set_time_next_pps (const time_spec_t &time_spec)=0
virtual void set_time_unknown_pps (const time_spec_t &time_spec)=0
virtual bool get_time_synchronized (void)=0
virtual void issue_stream_cmd (const stream_cmd_t &stream_cmd, size_t chan=ALL_CHANS)=0
virtual void set_clock_config (const clock_config_t &clock_config, size_t mboard=ALL_MBOARDS)=0
virtual size_t get_num_mboards (void)=0
virtual sensor_value_t get_mboard_sensor (const std::string &name, size_t mboard=0)=0
virtual std::vector< std::string > get_mboard_sensor_names (size_t mboard=0)=0
virtual mboard_iface::sptr get_mboard_iface (size_t mboard)=0
virtual void set_rx_subdev_spec (const uhd::usrp::subdev_spec_t &spec, size_t mboard=ALL_MBOARDS)=0
virtual uhd::usrp::subdev_spec_t get_rx_subdev_spec (size_t mboard=0)=0
virtual size_t get_rx_num_channels (void)=0
virtual std::string get_rx_subdev_name (size_t chan=0)=0
virtual void set_rx_rate (double rate, size_t chan=ALL_CHANS)=0
virtual double get_rx_rate (size_t chan=0)=0
virtual tune_result_t set_rx_freq (const tune_request_t &tune_request, size_t chan=0)=0
virtual double get_rx_freq (size_t chan=0)=0
virtual freq_range_t get_rx_freq_range (size_t chan=0)=0
virtual void set_rx_gain (double gain, const std::string &name, size_t chan=0)=0
void set_rx_gain (double gain, size_t chan=0)
 A convenience wrapper for setting overall RX gain.
virtual double get_rx_gain (const std::string &name, size_t chan=0)=0
double get_rx_gain (size_t chan=0)
 A convenience wrapper for getting overall RX gain.
virtual gain_range_t get_rx_gain_range (const std::string &name, size_t chan=0)=0
gain_range_t get_rx_gain_range (size_t chan=0)
 A convenience wrapper for getting overall RX gain range.
virtual std::vector< std::string > get_rx_gain_names (size_t chan=0)=0
virtual void set_rx_antenna (const std::string &ant, size_t chan=0)=0
virtual std::string get_rx_antenna (size_t chan=0)=0
virtual std::vector< std::string > get_rx_antennas (size_t chan=0)=0
UHD_DEPRECATED bool get_rx_lo_locked (size_t chan=0)
virtual void set_rx_bandwidth (double bandwidth, size_t chan=0)=0
virtual double get_rx_bandwidth (size_t chan=0)=0
UHD_DEPRECATED double read_rssi (size_t chan=0)
virtual dboard_iface::sptr get_rx_dboard_iface (size_t chan=0)=0
virtual sensor_value_t get_rx_sensor (const std::string &name, size_t chan=0)=0
virtual std::vector< std::string > get_rx_sensor_names (size_t chan=0)=0
virtual void set_tx_subdev_spec (const uhd::usrp::subdev_spec_t &spec, size_t mboard=ALL_MBOARDS)=0
virtual uhd::usrp::subdev_spec_t get_tx_subdev_spec (size_t mboard=0)=0
virtual size_t get_tx_num_channels (void)=0
virtual std::string get_tx_subdev_name (size_t chan=0)=0
virtual void set_tx_rate (double rate, size_t chan=ALL_CHANS)=0
virtual double get_tx_rate (size_t chan=0)=0
virtual tune_result_t set_tx_freq (const tune_request_t &tune_request, size_t chan=0)=0
virtual double get_tx_freq (size_t chan=0)=0
virtual freq_range_t get_tx_freq_range (size_t chan=0)=0
virtual void set_tx_gain (double gain, const std::string &name, size_t chan=0)=0
void set_tx_gain (double gain, size_t chan=0)
 A convenience wrapper for setting overall TX gain.
virtual double get_tx_gain (const std::string &name, size_t chan=0)=0
double get_tx_gain (size_t chan=0)
 A convenience wrapper for getting overall TX gain.
virtual gain_range_t get_tx_gain_range (const std::string &name, size_t chan=0)=0
gain_range_t get_tx_gain_range (size_t chan=0)
 A convenience wrapper for getting overall TX gain range.
virtual std::vector< std::string > get_tx_gain_names (size_t chan=0)=0
virtual void set_tx_antenna (const std::string &ant, size_t chan=0)=0
virtual std::string get_tx_antenna (size_t chan=0)=0
virtual std::vector< std::string > get_tx_antennas (size_t chan=0)=0
UHD_DEPRECATED bool get_tx_lo_locked (size_t chan=0)
virtual void set_tx_bandwidth (double bandwidth, size_t chan=0)=0
virtual double get_tx_bandwidth (size_t chan=0)=0
virtual dboard_iface::sptr get_tx_dboard_iface (size_t chan=0)=0
virtual sensor_value_t get_tx_sensor (const std::string &name, size_t chan=0)=0
virtual std::vector< std::string > get_tx_sensor_names (size_t chan=0)=0

Static Public Member Functions

static sptr make (const device_addr_t &dev_addr)

Static Public Attributes

static const size_t ALL_MBOARDS = size_t(~0)
 A wildcard motherboard index.
static const size_t ALL_CHANS = size_t(~0)
 A wildcard channel index.
static const std::string ALL_GAINS
 A wildcard gain element name.

Detailed Description

The Multi-USRP device class:

This class facilitates ease-of-use for most use-case scenarios. The wrapper provides convenience functions to tune the devices, set the dboard gains, antennas, filters, and other properties. This class can be used to interface with a single USRP with one or more channels, or multiple USRPs in a homogeneous setup. All members take an optional parameter for board number or channel number. In the single device, single channel case, these parameters can be unspecified.

When using a single device with multiple channels:

When using multiple devices in a configuration:

Example to setup channel mapping for multiple devices:

 //create a multi_usrp with two boards in the configuration
 device_addr_t dev_addr;
 dev_addr["addr0"] = "192.168.10.2"
 dev_addr["addr1"] = "192.168.10.3";
 multi_usrp::sptr dev = multi_usrp::make(dev_addr);
 //set the board on 10.2 to use the A RX subdevice (RX channel 0)
 dev->set_rx_subdev_spec("A:A", 0);
 //set the board on 10.3 to use the B RX subdevice (RX channel 1)
 dev->set_rx_subdev_spec("A:B", 1);
 //set both boards to use the AB TX subdevice (TX channels 0 and 1)
 dev->set_tx_subdev_spec("A:AB", multi_usrp::ALL_MBOARDS);
 //now that all the channels are mapped, continue with configuration...
 

Member Typedef Documentation

typedef boost::shared_ptr<multi_usrp> uhd::usrp::multi_usrp::sptr

Member Function Documentation

virtual device::sptr uhd::usrp::multi_usrp::get_device ( void  ) [pure virtual]

Get the underlying device object. This is needed to get access to the streaming API and properties.

Returns:
the device object within this single usrp
virtual double uhd::usrp::multi_usrp::get_master_clock_rate ( size_t  mboard = 0) [pure virtual]

Get the master clock rate.

Parameters:
mboardthe motherboard index 0 to M-1
Returns:
the master clock rate in Hz.
virtual mboard_iface::sptr uhd::usrp::multi_usrp::get_mboard_iface ( size_t  mboard) [pure virtual]

Get a handle to the mboard_iface object which controls peripheral access.

Returns:
a mboard_iface::sptr object
virtual std::string uhd::usrp::multi_usrp::get_mboard_name ( size_t  mboard = 0) [pure virtual]

Get canonical name for this USRP motherboard.

Parameters:
mboardwhich motherboard to query
Returns:
a string representing the name
virtual sensor_value_t uhd::usrp::multi_usrp::get_mboard_sensor ( const std::string &  name,
size_t  mboard = 0 
) [pure virtual]

Get a motherboard sensor value.

Parameters:
namethe name of the sensor
mboardthe motherboard index 0 to M-1
Returns:
a sensor value object
virtual std::vector<std::string> uhd::usrp::multi_usrp::get_mboard_sensor_names ( size_t  mboard = 0) [pure virtual]

Get a list of possible motherboard sensor names.

Parameters:
mboardthe motherboard index 0 to M-1
Returns:
a vector of sensor names
virtual size_t uhd::usrp::multi_usrp::get_num_mboards ( void  ) [pure virtual]

Get the number of USRP motherboards in this configuration.

virtual std::string uhd::usrp::multi_usrp::get_pp_string ( void  ) [pure virtual]

Get a printable summary for this USRP configuration.

Returns:
a printable string
virtual std::string uhd::usrp::multi_usrp::get_rx_antenna ( size_t  chan = 0) [pure virtual]

Get the selected RX antenna on the subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
the antenna name
virtual std::vector<std::string> uhd::usrp::multi_usrp::get_rx_antennas ( size_t  chan = 0) [pure virtual]

Get a list of possible RX antennas on the subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
a vector of antenna names
virtual double uhd::usrp::multi_usrp::get_rx_bandwidth ( size_t  chan = 0) [pure virtual]

Get the RX bandwidth on the subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
the bandwidth in Hz
virtual dboard_iface::sptr uhd::usrp::multi_usrp::get_rx_dboard_iface ( size_t  chan = 0) [pure virtual]

Get the dboard interface object for the RX subdevice. The dboard interface gives access to GPIOs, SPI, I2C, low-speed ADC and DAC. Use at your own risk!

Parameters:
chanthe channel index 0 to N-1
Returns:
the dboard interface sptr
virtual double uhd::usrp::multi_usrp::get_rx_freq ( size_t  chan = 0) [pure virtual]

Get the RX center frequency.

Parameters:
chanthe channel index 0 to N-1
Returns:
the frequency in Hz
virtual freq_range_t uhd::usrp::multi_usrp::get_rx_freq_range ( size_t  chan = 0) [pure virtual]

Get the RX center frequency range.

Parameters:
chanthe channel index 0 to N-1
Returns:
a frequency range object
virtual double uhd::usrp::multi_usrp::get_rx_gain ( const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Get the RX gain value for the specified gain element. For an empty name, sum across all gain elements.

Parameters:
namethe name of the gain element
chanthe channel index 0 to N-1
Returns:
the gain in dB
double uhd::usrp::multi_usrp::get_rx_gain ( size_t  chan = 0) [inline]

A convenience wrapper for getting overall RX gain.

virtual std::vector<std::string> uhd::usrp::multi_usrp::get_rx_gain_names ( size_t  chan = 0) [pure virtual]

Get the names of the gain elements in the RX chain. Gain elements are ordered from antenna to FPGA.

Parameters:
chanthe channel index 0 to N-1
Returns:
a vector of gain element names
virtual gain_range_t uhd::usrp::multi_usrp::get_rx_gain_range ( const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Get the RX gain range for the specified gain element. For an empty name, calculate the overall gain range.

Parameters:
namethe name of the gain element
chanthe channel index 0 to N-1
Returns:
a gain range object
gain_range_t uhd::usrp::multi_usrp::get_rx_gain_range ( size_t  chan = 0) [inline]

A convenience wrapper for getting overall RX gain range.

UHD_DEPRECATED bool uhd::usrp::multi_usrp::get_rx_lo_locked ( size_t  chan = 0) [inline]

Get the locked status of the LO on the subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
true for locked
virtual size_t uhd::usrp::multi_usrp::get_rx_num_channels ( void  ) [pure virtual]

Get the number of RX channels in this configuration. This is the number of USRPs times the number of RX channels per board, where the number of RX channels per board is homogeneous among all USRPs.

virtual double uhd::usrp::multi_usrp::get_rx_rate ( size_t  chan = 0) [pure virtual]

Gets the RX sample rate.

Parameters:
chanthe channel index 0 to N-1
Returns:
the rate in Sps
virtual sensor_value_t uhd::usrp::multi_usrp::get_rx_sensor ( const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Get an RX subdevice sensor value.

Parameters:
namethe name of the sensor
chanthe channel index 0 to N-1
Returns:
a sensor value object
virtual std::vector<std::string> uhd::usrp::multi_usrp::get_rx_sensor_names ( size_t  chan = 0) [pure virtual]

Get a list of possible RX subdevice sensor names.

Parameters:
chanthe channel index 0 to N-1
Returns:
a vector of sensor names
virtual std::string uhd::usrp::multi_usrp::get_rx_subdev_name ( size_t  chan = 0) [pure virtual]

Get the name of the RX subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
the subdevice name
virtual uhd::usrp::subdev_spec_t uhd::usrp::multi_usrp::get_rx_subdev_spec ( size_t  mboard = 0) [pure virtual]

Get the RX subdevice specification.

Parameters:
mboardthe motherboard index 0 to M-1
Returns:
the subdevice specification in use
virtual time_spec_t uhd::usrp::multi_usrp::get_time_last_pps ( size_t  mboard = 0) [pure virtual]

Get the time when the last pps pulse occured.

Parameters:
mboardwhich motherboard to query
Returns:
a timespec representing the last pps
virtual time_spec_t uhd::usrp::multi_usrp::get_time_now ( size_t  mboard = 0) [pure virtual]

Get the current time in the usrp time registers.

Parameters:
mboardwhich motherboard to query
Returns:
a timespec representing current usrp time
virtual bool uhd::usrp::multi_usrp::get_time_synchronized ( void  ) [pure virtual]

Are the times across all motherboards in this configuration synchronized? Checks that all time registers are approximately close but not exact, given that the RTT may varying for a control packet transaction.

Returns:
true when all motherboards time registers are in sync
virtual std::string uhd::usrp::multi_usrp::get_tx_antenna ( size_t  chan = 0) [pure virtual]

Get the selected TX antenna on the subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
the antenna name
virtual std::vector<std::string> uhd::usrp::multi_usrp::get_tx_antennas ( size_t  chan = 0) [pure virtual]

Get a list of possible TX antennas on the subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
a vector of antenna names
virtual double uhd::usrp::multi_usrp::get_tx_bandwidth ( size_t  chan = 0) [pure virtual]

Get the TX bandwidth on the subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
the bandwidth in Hz
virtual dboard_iface::sptr uhd::usrp::multi_usrp::get_tx_dboard_iface ( size_t  chan = 0) [pure virtual]

Get the dboard interface object for the TX subdevice. The dboard interface gives access to GPIOs, SPI, I2C, low-speed ADC and DAC. Use at your own risk!

Parameters:
chanthe channel index 0 to N-1
Returns:
the dboard interface sptr
virtual double uhd::usrp::multi_usrp::get_tx_freq ( size_t  chan = 0) [pure virtual]

Get the TX center frequency.

Parameters:
chanthe channel index 0 to N-1
Returns:
the frequency in Hz
virtual freq_range_t uhd::usrp::multi_usrp::get_tx_freq_range ( size_t  chan = 0) [pure virtual]

Get the TX center frequency range.

Parameters:
chanthe channel index 0 to N-1
Returns:
a frequency range object
virtual double uhd::usrp::multi_usrp::get_tx_gain ( const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Get the TX gain value for the specified gain element. For an empty name, sum across all gain elements.

Parameters:
namethe name of the gain element
chanthe channel index 0 to N-1
Returns:
the gain in dB
double uhd::usrp::multi_usrp::get_tx_gain ( size_t  chan = 0) [inline]

A convenience wrapper for getting overall TX gain.

virtual std::vector<std::string> uhd::usrp::multi_usrp::get_tx_gain_names ( size_t  chan = 0) [pure virtual]

Get the names of the gain elements in the TX chain. Gain elements are ordered from antenna to FPGA.

Parameters:
chanthe channel index 0 to N-1
Returns:
a vector of gain element names
gain_range_t uhd::usrp::multi_usrp::get_tx_gain_range ( size_t  chan = 0) [inline]

A convenience wrapper for getting overall TX gain range.

virtual gain_range_t uhd::usrp::multi_usrp::get_tx_gain_range ( const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Get the TX gain range for the specified gain element. For an empty name, calculate the overall gain range.

Parameters:
namethe name of the gain element
chanthe channel index 0 to N-1
Returns:
a gain range object
UHD_DEPRECATED bool uhd::usrp::multi_usrp::get_tx_lo_locked ( size_t  chan = 0) [inline]

Get the locked status of the LO on the subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
true for locked
virtual size_t uhd::usrp::multi_usrp::get_tx_num_channels ( void  ) [pure virtual]

Get the number of TX channels in this configuration. This is the number of USRPs times the number of TX channels per board, where the number of TX channels per board is homogeneous among all USRPs.

virtual double uhd::usrp::multi_usrp::get_tx_rate ( size_t  chan = 0) [pure virtual]

Gets the TX sample rate.

Parameters:
chanthe channel index 0 to N-1
Returns:
the rate in Sps
virtual sensor_value_t uhd::usrp::multi_usrp::get_tx_sensor ( const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Get an TX subdevice sensor value.

Parameters:
namethe name of the sensor
chanthe channel index 0 to N-1
Returns:
a sensor value object
virtual std::vector<std::string> uhd::usrp::multi_usrp::get_tx_sensor_names ( size_t  chan = 0) [pure virtual]

Get a list of possible TX subdevice sensor names.

Parameters:
chanthe channel index 0 to N-1
Returns:
a vector of sensor names
virtual std::string uhd::usrp::multi_usrp::get_tx_subdev_name ( size_t  chan = 0) [pure virtual]

Get the name of the TX subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
the subdevice name
virtual uhd::usrp::subdev_spec_t uhd::usrp::multi_usrp::get_tx_subdev_spec ( size_t  mboard = 0) [pure virtual]

Get the TX subdevice specification.

Parameters:
mboardthe motherboard index 0 to M-1
Returns:
the subdevice specification in use
virtual void uhd::usrp::multi_usrp::issue_stream_cmd ( const stream_cmd_t stream_cmd,
size_t  chan = ALL_CHANS 
) [pure virtual]

Issue a stream command to the usrp device. This tells the usrp to send samples into the host. See the documentation for stream_cmd_t for more info.

With multiple devices, the first stream command in a chain of commands should have a time spec in the near future and stream_now = false; to ensure that the packets can be aligned by their time specs.

Parameters:
stream_cmdthe stream command to issue
chanthe channel index 0 to N-1
static sptr uhd::usrp::multi_usrp::make ( const device_addr_t dev_addr) [static]

Make a new multi usrp from the device address.

Parameters:
dev_addrthe device address
Returns:
a new single usrp object
UHD_DEPRECATED double uhd::usrp::multi_usrp::read_rssi ( size_t  chan = 0) [inline]

Read the RSSI value on the RX subdevice.

Parameters:
chanthe channel index 0 to N-1
Returns:
the rssi in dB
Exceptions:
exceptionif RSSI readback not supported
virtual void uhd::usrp::multi_usrp::set_clock_config ( const clock_config_t clock_config,
size_t  mboard = ALL_MBOARDS 
) [pure virtual]

Set the clock configuration for the usrp device. This tells the usrp how to get a 10Mhz reference and PPS clock. See the documentation for clock_config_t for more info.

Parameters:
clock_configthe clock configuration to set
mboardwhich motherboard to set the config
virtual void uhd::usrp::multi_usrp::set_master_clock_rate ( double  rate,
size_t  mboard = ALL_MBOARDS 
) [pure virtual]

Set the master clock rate. This controls the rate of the clock that feeds the FPGA DSP. On some devices, this re-tunes the clock to the specified rate. If the specified rate is not available, this method will throw. On other devices, this method notifies the software of the rate, but requires the the user has made the necessary hardware change.

Parameters:
ratethe new master clock rate in Hz
mboardthe motherboard index 0 to M-1
virtual void uhd::usrp::multi_usrp::set_rx_antenna ( const std::string &  ant,
size_t  chan = 0 
) [pure virtual]

Select the RX antenna on the subdevice.

Parameters:
antthe antenna name
chanthe channel index 0 to N-1
virtual void uhd::usrp::multi_usrp::set_rx_bandwidth ( double  bandwidth,
size_t  chan = 0 
) [pure virtual]

Set the RX bandwidth on the subdevice.

Parameters:
bandwidththe bandwidth in Hz
chanthe channel index 0 to N-1
virtual tune_result_t uhd::usrp::multi_usrp::set_rx_freq ( const tune_request_t tune_request,
size_t  chan = 0 
) [pure virtual]

Set the RX center frequency.

Parameters:
tune_requesttune request instructions
chanthe channel index 0 to N-1
Returns:
a tune result object
void uhd::usrp::multi_usrp::set_rx_gain ( double  gain,
size_t  chan = 0 
) [inline]

A convenience wrapper for setting overall RX gain.

virtual void uhd::usrp::multi_usrp::set_rx_gain ( double  gain,
const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Set the RX gain value for the specified gain element. For an empty name, distribute across all gain elements.

Parameters:
gainthe gain in dB
namethe name of the gain element
chanthe channel index 0 to N-1
virtual void uhd::usrp::multi_usrp::set_rx_rate ( double  rate,
size_t  chan = ALL_CHANS 
) [pure virtual]

Set the RX sample rate.

Parameters:
ratethe rate in Sps
chanthe channel index 0 to N-1
virtual void uhd::usrp::multi_usrp::set_rx_subdev_spec ( const uhd::usrp::subdev_spec_t spec,
size_t  mboard = ALL_MBOARDS 
) [pure virtual]

Set the RX subdevice specification: The subdev spec maps a physical part of a daughter-board to a channel number. Set the subdev spec before calling into any methods with a channel number. The subdev spec must be the same size across all motherboards.

Parameters:
specthe new subdevice specification
mboardthe motherboard index 0 to M-1
virtual void uhd::usrp::multi_usrp::set_time_next_pps ( const time_spec_t time_spec) [pure virtual]

Set the time registers on the usrp at the next pps tick. The values will not be latched in until the pulse occurs. It is recommended that the user sleep(1) after calling to ensure that the time registers will be in a known state prior to use.

Note: Because this call sets the time on the "next" pps, the seconds in the time spec should be current seconds + 1.

Parameters:
time_specthe time to latch into the usrp device
virtual void uhd::usrp::multi_usrp::set_time_now ( const time_spec_t time_spec,
size_t  mboard = ALL_MBOARDS 
) [pure virtual]

Sets the time registers on the usrp immediately.

If only one MIMO master is present in your configuration, set_time_now is safe to use because the slave's time automatically follows the master's time. Otherwise, this call cannot set the time synchronously across multiple devices. Please use the set_time_next_pps or set_time_unknown_pps calls with a PPS signal.

Parameters:
time_specthe time to latch into the usrp device
mboardthe motherboard index 0 to M-1
virtual void uhd::usrp::multi_usrp::set_time_unknown_pps ( const time_spec_t time_spec) [pure virtual]

Synchronize the times across all motherboards in this configuration. Use this method to sync the times when the edge of the PPS is unknown.

Ex: Host machine is not attached to serial port of GPSDO and can therefore not query the GPSDO for the PPS edge.

This is a 2-step process, and will take at most 2 seconds to complete. Upon completion, the times will be synchronized to the time provided.

  • Step1: wait for the last pps time to transition to catch the edge
  • Step2: set the time at the next pps (synchronous for all boards)
Parameters:
time_specthe time to latch at the next pps after catching the edge
virtual void uhd::usrp::multi_usrp::set_tx_antenna ( const std::string &  ant,
size_t  chan = 0 
) [pure virtual]

Select the TX antenna on the subdevice.

Parameters:
antthe antenna name
chanthe channel index 0 to N-1
virtual void uhd::usrp::multi_usrp::set_tx_bandwidth ( double  bandwidth,
size_t  chan = 0 
) [pure virtual]

Set the TX bandwidth on the subdevice.

Parameters:
bandwidththe bandwidth in Hz
chanthe channel index 0 to N-1
virtual tune_result_t uhd::usrp::multi_usrp::set_tx_freq ( const tune_request_t tune_request,
size_t  chan = 0 
) [pure virtual]

Set the TX center frequency.

Parameters:
tune_requesttune request instructions
chanthe channel index 0 to N-1
Returns:
a tune result object
void uhd::usrp::multi_usrp::set_tx_gain ( double  gain,
size_t  chan = 0 
) [inline]

A convenience wrapper for setting overall TX gain.

virtual void uhd::usrp::multi_usrp::set_tx_gain ( double  gain,
const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Set the TX gain value for the specified gain element. For an empty name, distribute across all gain elements.

Parameters:
gainthe gain in dB
namethe name of the gain element
chanthe channel index 0 to N-1
virtual void uhd::usrp::multi_usrp::set_tx_rate ( double  rate,
size_t  chan = ALL_CHANS 
) [pure virtual]

Set the TX sample rate.

Parameters:
ratethe rate in Sps
chanthe channel index 0 to N-1
virtual void uhd::usrp::multi_usrp::set_tx_subdev_spec ( const uhd::usrp::subdev_spec_t spec,
size_t  mboard = ALL_MBOARDS 
) [pure virtual]

Set the TX subdevice specification: The subdev spec maps a physical part of a daughter-board to a channel number. Set the subdev spec before calling into any methods with a channel number. The subdev spec must be the same size across all motherboards.

Parameters:
specthe new subdevice specification
mboardthe motherboard index 0 to M-1

Member Data Documentation

const size_t uhd::usrp::multi_usrp::ALL_CHANS = size_t(~0) [static]

A wildcard channel index.

const std::string uhd::usrp::multi_usrp::ALL_GAINS [static]

A wildcard gain element name.

const size_t uhd::usrp::multi_usrp::ALL_MBOARDS = size_t(~0) [static]

A wildcard motherboard index.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines