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. <anthonyld...@gmail.com> 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