I read roughly the code in the tdma_engine.py.
For the transmitter, it seems that this tdma_engine works like a
throttle
to send the messages to the downstreams only when the time_update is
later
than the time_transmit_start.
And these time are computed based on the tags in the incoming items
inserted by upstream block.
My question is that, where does the upstream block get the correct time?
I
know that the usrp_sink can get_time_now but it is on the very
downstream,
and it is different block which means different thread.
If my question is not clear, please give your comments.
I’m on a machine without GNU Radio installed, so I have to confirm that
I’m
actually sending the right examples, but the attahced files may add some
insight.
The examples were intended for demonstration of the timed streaming
features and currently rely on a 1 PPS signal to provide synchronization
across multiple units.
Maybe I have misunderstanding on tdma_engine. Does it only handle the
incoming samples from the usrp source, which means rx samples? I really
want to figure out how the tdma transmitter works.