USRP Simple TX Streaming Don't Have Trigger Timeout Error

Updated May 17, 2023

Reported In

Hardware

  • USRP Software Defined Radio Device
  • USRP Software Defined Radio Reconfigurable Device

Software

  • LabVIEW

Driver

  • NI-USRP

Issue Details

I using TX Streaming (Host).vi by create NI-USRP Simple Streaming project and configure trigger from front panel vi. After very long time of period without trigger signal into the USRP, it don't pop out timeout error. However, it pop out timeout error when I tried using RX Streaming (Host).vi.

I expecting it should pop out timeout error when don't have received trigger signal over period of time. Is this expect behavior?

Solution

For an RX read or for a TX write, the timeout is for the read or write command itself. It's independent of whether the device is active. The reason you get a timeout for read when the trigger has not happened is that there's no data to fetch. In this case the read command will timeout because it's still waiting for data to show up on the host. The TX write command can complete without the device generating because a write is defined as the function to push data from the host to the output buffer. The device doesn't need to be generating in order to push data into the output buffer.

This is expected behavior because of the way that we define reads and writes. The proper way to check whether a trigger has occurred is to poll either the tx.state or tx.samples processed front panel controls on the FPGA. 

Additional Information

You can refer below block diagram for check whether a trigger has occurred.
trigger occured.png