I have a software application that interfaces to an X300 with a TwinRX daughterboard installed. We recently upgraded our UHD version to v3.14.1.0 in our application. Since then, we've observed that the time_spec values on consecutive blocks of data received from the unit (i.e. from two sequential calls to rx_streamer::recv()) are not consistent with one another. The timecodes reported by the unit seem to be moving forward at twice real time.

As an example, assume that I have the X300 configured for a sample rate of 100 MSPS, and that I'm getting 1000 samples per call to recv() (these are just round numbers to simplify the discussion). I'm seeing metadata from consecutive recv() calls that look like this:

Block 1:
- time_spec.get_whole_secs(): 0
- time_spec.get_frac_secs(): 0
- 1000 samples @ 100 MHz = 10 usec of data

Block 2:
- time_spec.get_whole_secs(): 0
- time_spec.get_frac_secs(): 0.000020 (where I would have expected 0.000010 instead)
- 1000 samples @ 100 MHz = 10 usec of data

... and so on.

If you watch the stream of timestamps received from the device, it looks like time is passing at twice the appropriate rate. I noticed this recent commit that seemed could be related:

https://github.com/EttusResearch/uhd/commit/5f75f73f25016958ab32710bb0cbd5ce4481041b

If I revert that commit, then the timekeeping on the TwinRX channel works properly again. However, that isn't a fix that I can work with; I also use this hardware in a configuration where the X300 has a TwinRX and LFRX daughterboard installed simultaneously. Without the above commit, then I am unable to stream data from the LFRX; the rx_streamer never returns any data for that channel. I previously reported that problem (http://ettus.80997.x6.nabble.com/USRP-users-X300-with-TwinRX-and-LFRX-under-UHD-v3-14-td12749.html) and never got an answer, but the above commit silently fixed it in v3.14.1.0.

How can I get correct timekeeping with the X300/TwinRX, while maintaining my ability to stream from a TwinRX and LFRX simultaneously?

Jason


_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to