[USRP-users] Transmission with timestamps
Matthias P. Braendli
mpbraend at gmail.com
Sat Jun 2 16:48:23 EDT 2012
I am transmitting a stream (without any interruption) of data to the
USRP (I have both a B100 and a USRP2) using a C++ program. All the
packets have a timestamp.
Now, what poses a problem is that once in a while, I want to change my
timestamps a bit (creating a small gap in transmission, or dropping a
few samples). But, as long as there are no underruns, the FSM in
vita_tx_control seems to stay in IBS_RUN and IBS_CONT_BURST (that's only
a hypothesis), and ignores the timestamps that have changed. I only
observe the change if I force an underrun (e.g. by suspending my
software a short instant).
What is the best way to make the USRP reconsider the timestamps while
the stream runs ? Is there a better way than dropping a packet, thereby
creating an underrun ?
I've also tried setting the end-of-burst, and with both
STREAM_MODE_NUM_SAMPS_AND_MORE and STREAM_MODE_START_CONTINUOUS
but I get a lot of late packets (prints 'L' on the console). This
approach seemed to be better, because the FSM would go back to IBS_IDLE,
but I'm not sure I'm doing it right.
Furthermore, I have not quite understood what the stream mode
influences. Is it changing the policy_next_packet and policy_next_burst
in vita_tx_control.v ?
by "packet" I mean the data given to the tx_streamer::send function.
Please tell me if the official terminology differs.
More information about the USRP-users