Clarification on using tx timed sample tx_metadata_t


I am confused regarding the use of the metadata for the send function
virtual size_t uhd::device::send(…)

It is described as a time stamp at which the burst should be sent
According to these posts :

md.time_spec is an absolute time

there is a working example in uhd/host/examples/tx_timed_samples.cpp

Looking at the example (uhd/host/examples/tx_timed_samples.cpp line 84)
, it says :
md.time_spec = uhd::time_spec_t(seconds_in_future);

//the first call to send() will block this many seconds before 

double timeout = seconds_in_future + 0.1; //timeout (delay before
transmit + padding)
It clearly mention seconds_in_future, then in the comment delay
before transmit

It says that :

The metadata specifies the timestamp of the packet:

So what is this example setting as metadata seconds_in_future ? It looks
like a delay.
_ is there some flag to set timestamp as delay or absolute time ?
(haven’t found that in doc)
_ if it is an absolute time, the timestamp represents a time at which
burst tagged with timestamp should be sent. Then how is the USRP
internal clock working ? Is it a counter wrapping ? starting from 0 at
startup ? Is it lock to UTC if use set_time_next_pps ?

I need to rely on USRP clock to send my burst on time, as my PC is not
precise enough (not real-time). Is this possible to use timestamp
mechanism, with a GPSDO (for stability) to send my burst accurately time
wise ?


This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs