GNU Radio 3.6.5 C++ API

uhd_usrp_source Class Reference

#include <gr_uhd_usrp_source.h>

Inheritance diagram for uhd_usrp_source:
gr_sync_block gr_block gr_basic_block gr_msg_accepter gruel::msg_accepter

List of all members.

Public Member Functions

virtual void set_start_time (const uhd::time_spec_t &time)=0
virtual void issue_stream_cmd (const uhd::stream_cmd_t &cmd)=0
virtual uhd::dict< std::string,
std::string > 
get_usrp_info (size_t chan=0)=0
virtual void set_subdev_spec (const std::string &spec, size_t mboard=0)=0
virtual std::string get_subdev_spec (size_t mboard=0)=0
virtual void set_samp_rate (double rate)=0
virtual double get_samp_rate (void)=0
virtual uhd::meta_range_t get_samp_rates (void)=0
virtual uhd::tune_result_t set_center_freq (const uhd::tune_request_t tune_request, size_t chan=0)=0
uhd::tune_result_t set_center_freq (double freq, size_t chan=0)
virtual double get_center_freq (size_t chan=0)=0
virtual uhd::freq_range_t get_freq_range (size_t chan=0)=0
virtual void set_gain (double gain, size_t chan=0)=0
virtual void set_gain (double gain, const std::string &name, size_t chan=0)=0
virtual double get_gain (size_t chan=0)=0
virtual double get_gain (const std::string &name, size_t chan=0)=0
virtual std::vector< std::string > get_gain_names (size_t chan=0)=0
virtual uhd::gain_range_t get_gain_range (size_t chan=0)=0
virtual uhd::gain_range_t get_gain_range (const std::string &name, size_t chan=0)=0
virtual void set_antenna (const std::string &ant, size_t chan=0)=0
virtual std::string get_antenna (size_t chan=0)=0
virtual std::vector< std::string > get_antennas (size_t chan=0)=0
virtual void set_bandwidth (double bandwidth, size_t chan=0)=0
virtual double get_bandwidth (size_t chan=0)=0
virtual uhd::freq_range_t get_bandwidth_range (size_t chan=0)=0
virtual void set_auto_dc_offset (const bool enb, size_t chan=0)=0
virtual void set_dc_offset (const std::complex< double > &offset, size_t chan=0)=0
virtual void set_iq_balance (const std::complex< double > &correction, size_t chan=0)=0
virtual uhd::sensor_value_t get_sensor (const std::string &name, size_t chan=0)=0
virtual std::vector< std::string > get_sensor_names (size_t chan=0)=0
uhd::sensor_value_t get_dboard_sensor (const std::string &name, size_t chan=0)
 DEPRECATED use get_sensor.
std::vector< std::string > get_dboard_sensor_names (size_t chan=0)
 DEPRECATED use get_sensor_names.
virtual uhd::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 void set_clock_config (const uhd::clock_config_t &clock_config, size_t mboard=0)=0
virtual void set_time_source (const std::string &source, const size_t mboard=0)=0
virtual std::string get_time_source (const size_t mboard)=0
virtual std::vector< std::string > get_time_sources (const size_t mboard)=0
virtual void set_clock_source (const std::string &source, const size_t mboard=0)=0
virtual std::string get_clock_source (const size_t mboard)=0
virtual std::vector< std::string > get_clock_sources (const size_t mboard)=0
virtual double get_clock_rate (size_t mboard=0)=0
virtual void set_clock_rate (double rate, size_t mboard=0)=0
virtual uhd::time_spec_t get_time_now (size_t mboard=0)=0
virtual uhd::time_spec_t get_time_last_pps (size_t mboard=0)=0
virtual void set_time_now (const uhd::time_spec_t &time_spec, size_t mboard=0)=0
virtual void set_time_next_pps (const uhd::time_spec_t &time_spec)=0
virtual void set_time_unknown_pps (const uhd::time_spec_t &time_spec)=0
virtual void set_command_time (const uhd::time_spec_t &time_spec, size_t mboard=0)=0
virtual void clear_command_time (size_t mboard=0)=0
virtual
uhd::usrp::dboard_iface::sptr 
get_dboard_iface (size_t chan=0)=0
virtual uhd::usrp::multi_usrp::sptr get_device (void)=0
virtual void set_user_register (const uint8_t addr, const uint32_t data, size_t mboard=0)=0
virtual std::vector
< std::complex< float > > 
finite_acquisition (const size_t nsamps)=0
virtual std::vector
< std::vector< std::complex
< float > > > 
finite_acquisition_v (const size_t nsamps)=0

Member Function Documentation

virtual void uhd_usrp_source::clear_command_time ( size_t  mboard = 0) [pure virtual]

Clear the command time so future commands are sent ASAP.

Parameters:
mboardwhich motherboard to set the config
virtual std::vector<std::complex<float> > uhd_usrp_source::finite_acquisition ( const size_t  nsamps) [pure virtual]

Convenience function for finite data acquisition. This is not to be used with the scheduler; rather, one can request samples from the USRP in python. //TODO assumes fc32

Parameters:
nsampsthe number of samples
Returns:
a vector of complex float samples
virtual std::vector<std::vector<std::complex<float> > > uhd_usrp_source::finite_acquisition_v ( const size_t  nsamps) [pure virtual]

Convenience function for finite data acquisition. This is the multi-channel version of finite_acquisition; This is not to be used with the scheduler; rather, one can request samples from the USRP in python. //TODO assumes fc32

Parameters:
nsampsthe number of samples per channel
Returns:
a vector of buffers, where each buffer represents a channel
virtual std::string uhd_usrp_source::get_antenna ( size_t  chan = 0) [pure virtual]

Get the antenna in use.

Parameters:
chanthe channel index 0 to N-1
Returns:
the antenna string
virtual std::vector<std::string> uhd_usrp_source::get_antennas ( size_t  chan = 0) [pure virtual]

Get a list of possible antennas.

Parameters:
chanthe channel index 0 to N-1
Returns:
a vector of antenna strings
virtual double uhd_usrp_source::get_bandwidth ( size_t  chan = 0) [pure virtual]

Get the bandpass filter setting on the RF frontend.

Parameters:
chanthe channel index 0 to N-1
Returns:
bandwidth of the filter in Hz
virtual uhd::freq_range_t uhd_usrp_source::get_bandwidth_range ( size_t  chan = 0) [pure virtual]

Get the bandpass filter range of the RF frontend.

Parameters:
chanthe channel index 0 to N-1
Returns:
the range of the filter bandwidth in Hz
virtual double uhd_usrp_source::get_center_freq ( size_t  chan = 0) [pure virtual]

Get the center frequency.

Parameters:
chanthe channel index 0 to N-1
Returns:
the frequency in Hz
virtual double uhd_usrp_source::get_clock_rate ( size_t  mboard = 0) [pure virtual]

Get the master clock rate.

Parameters:
mboardthe motherboard index 0 to M-1
Returns:
the clock rate in Hz
virtual std::string uhd_usrp_source::get_clock_source ( const size_t  mboard) [pure virtual]

Get the currently set clock source.

Parameters:
mboardwhich motherboard to get the config
Returns:
the string representing the clock source
virtual std::vector<std::string> uhd_usrp_source::get_clock_sources ( const size_t  mboard) [pure virtual]

Get a list of possible clock sources.

Parameters:
mboardwhich motherboard to get the list
Returns:
a vector of strings for possible settings
virtual uhd::usrp::dboard_iface::sptr uhd_usrp_source::get_dboard_iface ( size_t  chan = 0) [pure virtual]

Get access to the underlying uhd dboard iface object.

Returns:
the dboard_iface object
uhd::sensor_value_t uhd_usrp_source::get_dboard_sensor ( const std::string &  name,
size_t  chan = 0 
) [inline]

DEPRECATED use get_sensor.

std::vector<std::string> uhd_usrp_source::get_dboard_sensor_names ( size_t  chan = 0) [inline]

DEPRECATED use get_sensor_names.

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

Get access to the underlying uhd device object.

Returns:
the multi usrp device object
virtual uhd::freq_range_t uhd_usrp_source::get_freq_range ( size_t  chan = 0) [pure virtual]

Get the tunable frequency range.

Parameters:
chanthe channel index 0 to N-1
Returns:
the frequency range in Hz
virtual double uhd_usrp_source::get_gain ( const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Get the actual dboard gain setting of named stage.

Parameters:
namethe name of the gain stage
chanthe channel index 0 to N-1
Returns:
the actual gain in dB
virtual double uhd_usrp_source::get_gain ( size_t  chan = 0) [pure virtual]

Get the actual dboard gain setting.

Parameters:
chanthe channel index 0 to N-1
Returns:
the actual gain in dB
virtual std::vector<std::string> uhd_usrp_source::get_gain_names ( size_t  chan = 0) [pure virtual]

Get the actual dboard gain setting of named stage.

Parameters:
chanthe channel index 0 to N-1
Returns:
the actual gain in dB
virtual uhd::gain_range_t uhd_usrp_source::get_gain_range ( size_t  chan = 0) [pure virtual]

Get the settable gain range.

Parameters:
chanthe channel index 0 to N-1
Returns:
the gain range in dB
virtual uhd::gain_range_t uhd_usrp_source::get_gain_range ( const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Get the settable gain range.

Parameters:
namethe name of the gain stage
chanthe channel index 0 to N-1
Returns:
the gain range in dB
virtual uhd::sensor_value_t uhd_usrp_source::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_source::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 double uhd_usrp_source::get_samp_rate ( void  ) [pure virtual]

Get the sample rate for the usrp device. This is the actual sample rate and may differ from the rate set.

Returns:
the actual rate in Sps
virtual uhd::meta_range_t uhd_usrp_source::get_samp_rates ( void  ) [pure virtual]

Get the possible sample rates for the usrp device.

Returns:
a range of rates in Sps
virtual uhd::sensor_value_t uhd_usrp_source::get_sensor ( const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Get a RF frontend 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_source::get_sensor_names ( size_t  chan = 0) [pure virtual]

Get a list of possible RF frontend sensor names.

Parameters:
chanthe channel index 0 to N-1
Returns:
a vector of sensor names
virtual std::string uhd_usrp_source::get_subdev_spec ( size_t  mboard = 0) [pure virtual]

Get the RX frontend specification.

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

Get the time when the last pps pulse occured.

Parameters:
mboardthe motherboard index 0 to M-1
Returns:
the current usrp time
virtual uhd::time_spec_t uhd_usrp_source::get_time_now ( size_t  mboard = 0) [pure virtual]

Get the current time registers.

Parameters:
mboardthe motherboard index 0 to M-1
Returns:
the current usrp time
virtual std::string uhd_usrp_source::get_time_source ( const size_t  mboard) [pure virtual]

Get the currently set time source.

Parameters:
mboardwhich motherboard to get the config
Returns:
the string representing the time source
virtual std::vector<std::string> uhd_usrp_source::get_time_sources ( const size_t  mboard) [pure virtual]

Get a list of possible time sources.

Parameters:
mboardwhich motherboard to get the list
Returns:
a vector of strings for possible settings
virtual uhd::dict<std::string, std::string> uhd_usrp_source::get_usrp_info ( size_t  chan = 0) [pure virtual]

Returns identifying information about this USRP's configuration. Returns motherboard ID, name, and serial. Returns daughterboard RX ID, subdev name and spec, serial, and antenna.

Parameters:
chanchannel index 0 to N-1
Returns:
RX info
virtual void uhd_usrp_source::issue_stream_cmd ( const uhd::stream_cmd_t &  cmd) [pure virtual]

*Advanced use only:* Issue a stream command to all channels in this source block.

This method is intended to override the default "always on" behavior. After starting the flow graph, the user should call stop() on this block, then issue any desired arbitrary stream_cmd_t structs to the device. The USRP will be able to enqueue several stream commands in the FPGA.

Parameters:
cmdthe stream command to issue to all source channels
virtual void uhd_usrp_source::set_antenna ( const std::string &  ant,
size_t  chan = 0 
) [pure virtual]

Set the antenna to use.

Parameters:
antthe antenna string
chanthe channel index 0 to N-1
virtual void uhd_usrp_source::set_auto_dc_offset ( const bool  enb,
size_t  chan = 0 
) [pure virtual]

Enable/disable the automatic DC offset correction. The automatic correction subtracts out the long-run average.

When disabled, the averaging option operation is halted. Once halted, the average value will be held constant until the user re-enables the automatic correction or overrides the value by manually setting the offset.

Parameters:
enbtrue to enable automatic DC offset correction
chanthe channel index 0 to N-1
virtual void uhd_usrp_source::set_bandwidth ( double  bandwidth,
size_t  chan = 0 
) [pure virtual]

Set the bandpass filter on the RF frontend.

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

Tune the usrp device to the desired center frequency.

Parameters:
tune_requestthe tune request instructions
chanthe channel index 0 to N-1
Returns:
a tune result with the actual frequencies
uhd::tune_result_t uhd_usrp_source::set_center_freq ( double  freq,
size_t  chan = 0 
) [inline]

Tune the usrp device to the desired center frequency. This is a wrapper around set center freq so that in this case, the user can pass a single frequency in the call through swig.

Parameters:
freqthe desired frequency in Hz
chanthe channel index 0 to N-1
Returns:
a tune result with the actual frequencies
virtual void uhd_usrp_source::set_clock_config ( const uhd::clock_config_t &  clock_config,
size_t  mboard = 0 
) [pure virtual]

Set the clock configuration. DEPRECATED for set_time/clock_source.

Parameters:
clock_configthe new configuration
mboardthe motherboard index 0 to M-1
virtual void uhd_usrp_source::set_clock_rate ( double  rate,
size_t  mboard = 0 
) [pure virtual]

Set the master clock rate.

Parameters:
ratethe new rate in Hz
mboardthe motherboard index 0 to M-1
virtual void uhd_usrp_source::set_clock_source ( const std::string &  source,
const size_t  mboard = 0 
) [pure virtual]

Set the clock source for the usrp device. This sets the source for a 10 Mhz reference clock. Typical options for source: internal, external, MIMO.

Parameters:
sourcea string representing the clock source
mboardwhich motherboard to set the config
virtual void uhd_usrp_source::set_command_time ( const uhd::time_spec_t &  time_spec,
size_t  mboard = 0 
) [pure virtual]

Set the time at which the control commands will take effect.

A timed command will back-pressure all subsequent timed commands, assuming that the subsequent commands occur within the time-window. If the time spec is late, the command will be activated upon arrival.

Parameters:
time_specthe time at which the next command will activate
mboardwhich motherboard to set the config
virtual void uhd_usrp_source::set_dc_offset ( const std::complex< double > &  offset,
size_t  chan = 0 
) [pure virtual]

Set a constant DC offset value. The value is complex to control both I and Q. Only set this when automatic correction is disabled.

Parameters:
offsetthe dc offset (1.0 is full-scale)
chanthe channel index 0 to N-1
virtual void uhd_usrp_source::set_gain ( double  gain,
size_t  chan = 0 
) [pure virtual]

Set the gain for the dboard.

Parameters:
gainthe gain in dB
chanthe channel index 0 to N-1
virtual void uhd_usrp_source::set_gain ( double  gain,
const std::string &  name,
size_t  chan = 0 
) [pure virtual]

Set the named gain on the dboard.

Parameters:
gainthe gain in dB
namethe name of the gain stage
chanthe channel index 0 to N-1
virtual void uhd_usrp_source::set_iq_balance ( const std::complex< double > &  correction,
size_t  chan = 0 
) [pure virtual]

Set the RX frontend IQ imbalance correction. Use this to adjust the magnitude and phase of I and Q.

Parameters:
correctionthe complex correction value
chanthe channel index 0 to N-1
virtual void uhd_usrp_source::set_samp_rate ( double  rate) [pure virtual]

Set the sample rate for the usrp device.

Parameters:
ratea new rate in Sps
virtual void uhd_usrp_source::set_start_time ( const uhd::time_spec_t &  time) [pure virtual]

Set the start time for incoming samples. To control when samples are received, set this value before starting the flow graph. The value is cleared after each run. When not specified, the start time will be:

  • Immediately for the one channel case
  • in the near future for multi-channel
Parameters:
timethe absolute time for reception to begin
virtual void uhd_usrp_source::set_subdev_spec ( const std::string &  spec,
size_t  mboard = 0 
) [pure virtual]

Set the frontend specification.

Parameters:
specthe subdev spec markup string
mboardthe motherboard index 0 to M-1
virtual void uhd_usrp_source::set_time_next_pps ( const uhd::time_spec_t &  time_spec) [pure virtual]

Set the time registers at the next pps.

Parameters:
time_specthe new time
virtual void uhd_usrp_source::set_time_now ( const uhd::time_spec_t &  time_spec,
size_t  mboard = 0 
) [pure virtual]

Sets the time registers immediately.

Parameters:
time_specthe new time
mboardthe motherboard index 0 to M-1
virtual void uhd_usrp_source::set_time_source ( const std::string &  source,
const size_t  mboard = 0 
) [pure virtual]

Set the time source for the usrp device. This sets the method of time synchronization, typically a pulse per second or an encoded time. Typical options for source: external, MIMO.

Parameters:
sourcea string representing the time source
mboardwhich motherboard to set the config
virtual void uhd_usrp_source::set_time_unknown_pps ( const uhd::time_spec_t &  time_spec) [pure virtual]

Sync the time registers with an unknown pps edge.

Parameters:
time_specthe new time
virtual void uhd_usrp_source::set_user_register ( const uint8_t  addr,
const uint32_t  data,
size_t  mboard = 0 
) [pure virtual]

Perform write on the user configuration register bus. These only exist if the user has implemented custom setting registers in the device FPGA.

Parameters:
addr8-bit register address
data32-bit register value
mboardwhich motherboard to set the user register

The documentation for this class was generated from the following file: