[USRP] tracking the transmission/receiving process


I’ve been tracking the source code to figure out the procedure of
transmission/receiving. All I’ve found out is that the parameters (e.g.
freq, gain, etc.) are stored in a property tree, and messages are
inserted to the tail of queue. But how does the transmitter/receiver
(daughter board) know when to transmit/receive? Specifically, which file
in UHD host code does the job of notifying the hardware to

I’ve also found the “tx_streamer” and “rx_streamer”.
(USRP Hardware Driver and USRP Manual: uhd::rx_streamer Class Reference) The
official manual seems saying they handle the communication between the
host PC and the USRP device. Is that correct?

Thank you,

As an example, look for issue_stream_command() in


There are separate files to control the various “cores” in the FPGA
logic. And, there are multiple versions of things for different boxes,
transports, etc. It starts makes sense if you read through a bunch of
the code.

  • Jeff

Hi Jeff,

Thank you for the suggestions. I’ll look into the codes under “cores”