For posterity here is a solution I arrived at.
I was ignoring the md.start_of_burst and md.end_of_burst fields. In order to send many contiguous transmit requests without receiving erroneous late errors, send the first transmit request in a chain with md.has_time_spec true, md.start_of_burst true. Send middle packets in a chain with md.has_time_spec false and SOB/EOB false. Send the final packet with has_time_spec false, and EOB true. From: Richard Joseph Muri Sent: Tuesday, June 2, 2020 1:59 PM To: '[email protected]' <[email protected]> Subject: Sending multiple contiguous transmit requests Hello, I've been having an issue with the USRP where I've found if I have a continuous waveform segmented over multiple packets, it is difficult to transmit it on the USRP. The scenario is as follows: I am using a USRP x310 with UHD version: [INFO] [UHD] linux; GNU C++ version 4.8.5 20150623 (Red Hat 4.8.5-36); Boost_105800; UHD_3.13.0.3-24-g00019176 Packet 1 has 100 samples. I do a send starting at time 0 with 100 samples. Packet 2 has 50 samples. I do a send starting at time 100 with 50 samples. Packet 2 is marked late and doesn't send properly. Packet 1 has 100 samples. I do a send starting at time 0 with 100 samples. Packet 2 has 50 samples. I do a send starting at time 101 with 50 samples. Packet 2 sends properly, but now I have a sample delay inserted into the middle of my waveform. Packet 1 has 100 samples. I do a send starting at time 0 with 99 samples. Packet 2 has 50 samples. I do a send starting at time 101 with 50 samples. Packet 2 sends properly, but now I have a blank sample inserted into the middle of my waveform. The obvious solution is to reassemble my fragmented packets before making a tx_streamer->send() call. I'm wondering if there is a way to replicate the behavior of a single large transmit request using multiple smaller transmit requests? Thank you, Richard
_______________________________________________ USRP-users mailing list [email protected] http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
