discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Late messages after a tx_time tagged message


From: Martin Braun
Subject: Re: Late messages after a tx_time tagged message
Date: Tue, 28 Apr 2020 07:52:38 -0700

Anthony,

the USRP doesn't keep the time, but there is only a single FIFO. If you schedule 3 messages for sending, they need to be sent in order. Once they are on the device, they are in a FIFO and will be released in that order.

For example, if have 3 messages A, B, and C. You first send A to be sent at time T0. Then you send B to be send ASAP. Then you send C to be sent at time T1 > T0.

A will be sent at T0, but B has to wait for A to clear the FIFO. That means B will go out at T0 + (length of B).

All our devices have a single FIFO for data, so there's no way around that. You could try and track the device time in software, and send them to the device as late as possible, but that's tricky of course.

--M

On Mon, Apr 27, 2020 at 8:58 AM Anthony B. <address@hidden> wrote:
Hello all,

I am using timed commands to send messages at a specific time, using GNU Radio 3.7.14.
To achieve that, I add a tx_time tag to my message just before the USRP Sink, slightly in the future, and it works fine.
What I'd like to achieve now is to only send specific messages using the tx_time tag, in an asynchronous way.
I just want the other messages to be sent as soon as possible, without timed commands.

What happens currently is the following behaviour:  
- the message n is sent successfully, with a tx_time tag
- the message n+1, without a tx_time tag, is considered late by UHD (printing "LLLLLL") when it is about to be sent

My interpretation is that the USRP Sink keeps the tx_time tag of the message n for all the messages following it.
Is it possible to clean the tags on the USRP bloc between the messsages n and n+1 ?
Or UHD is only expecting an implementation that updates the tx_time tag for the next burst, and so all the messages have to be tagged before being sent ?
Is it possible to mix messages that are timed with the tx_time tag, and in the same flow send others that are not ?

Any suggestion would be appreciated.

Best regards,

Anthony

reply via email to

[Prev in Thread] Current Thread [Next in Thread]