GNU Radio 3.6.0 C++ API
UHD Interface

Functions

GR_UHD_API boost::shared_ptr
< uhd_amsg_source
uhd_make_amsg_source (const uhd::device_addr_t &device_addr, gr_msg_queue_sptr msgq)
 Make a new USRP asynchronous message-based source block.
GR_UHD_API boost::shared_ptr
< uhd_usrp_sink
uhd_make_usrp_sink (const uhd::device_addr_t &device_addr, const uhd::io_type_t &io_type, size_t num_channels)
 Make a new USRP sink block.The USRP sink block reads a stream and transmits the samples. The sink block also provides API calls for transmitter settings.
GR_UHD_API boost::shared_ptr
< uhd_usrp_source
uhd_make_usrp_source (const uhd::device_addr_t &device_addr, const uhd::io_type_t &io_type, size_t num_channels)
 Make a new USRP source block.The USRP source block receives samples and writes to a stream. The source block also provides API calls for receiver settings.
static sptr gnuradio::extras::uhd_amsg_source::make (const uhd::device_addr_t &device_addr)
 Make a new USRP asynchronous message-based source block.The async message source will post messages to the "async" subscriber group. The key of each message will be the pmt symbol: "uhd_amsg" The value of each message will be a pmt dictionary with the following keys/values:

Function Documentation

static sptr gnuradio::extras::uhd_amsg_source::make ( const uhd::device_addr_t &  device_addr) [static]

Make a new USRP asynchronous message-based source block.The async message source will post messages to the "async" subscriber group. The key of each message will be the pmt symbol: "uhd_amsg" The value of each message will be a pmt dictionary with the following keys/values:

  • symbol "timestamp" -> tuple(uint64 seconds, and double fractional seconds)
  • sybol "channel" -> uint64 channel number
  • sybol "event_code" -> uint64 event code
GR_UHD_API boost::shared_ptr<uhd_amsg_source> uhd_make_amsg_source ( const uhd::device_addr_t &  device_addr,
gr_msg_queue_sptr  msgq 
)

Make a new USRP asynchronous message-based source block.

GR_UHD_API boost::shared_ptr<uhd_usrp_sink> uhd_make_usrp_sink ( const uhd::device_addr_t &  device_addr,
const uhd::io_type_t &  io_type,
size_t  num_channels 
)

Make a new USRP sink block.The USRP sink block reads a stream and transmits the samples. The sink block also provides API calls for transmitter settings.

TX Stream tagging:

The following tag keys will be consumed by the work function:

The sob and eob (start and end of burst) tag values are pmt booleans. When present, burst tags should be set to true (pmt::PMT_T).

The timstamp tag value is a pmt tuple of the following: (uint64 seconds, and double fractional seconds).

See the UHD manual for more detailed documentation: http://code.ettus.com/redmine/ettus/projects/uhd/wiki

Parameters:
device_addrthe address to identify the hardware
io_typethe desired input data type
num_channelsnumber of stream from the device
Returns:
a new USRP sink block object
GR_UHD_API boost::shared_ptr<uhd_usrp_source> uhd_make_usrp_source ( const uhd::device_addr_t &  device_addr,
const uhd::io_type_t &  io_type,
size_t  num_channels 
)

Make a new USRP source block.The USRP source block receives samples and writes to a stream. The source block also provides API calls for receiver settings.

RX Stream tagging:

The following tag keys will be produced by the work function:

The timstamp tag value is a pmt tuple of the following: (uint64 seconds, and double fractional seconds). A timestamp tag is produced at start() and after overflows.

See the UHD manual for more detailed documentation: http://code.ettus.com/redmine/ettus/projects/uhd/wiki

Parameters:
device_addrthe address to identify the hardware
io_typethe desired output data type
num_channelsnumber of stream from the device
Returns:
a new USRP source block object