What I would like to do is transmit data packets at a specific time or
at uniformly spaced intervals then receive an process an ack. For
example, transmit a 100ms packet at the start of a 1 second frame. At
the end of the transmit, process the receive for the ack until received
or timeout (before the start of the next frame). Generate a new packet,
then transmit at the start of the next 1 second frame.
So far, here is what I have been able to do using gnuradio and the Ettus
N210. Read complex data from a file and create a vector source. The
vector source is up sampled, filtered, throttled then sent to the uhd
sink. At the same time data from the uhd source is fed into a probe
sink used to detect energy and measure round trip time. The N210 radio
transmits the packet and it is received successfully by the other radio
which sends the ack back to the N210 where it is received and detected
by the probe. The vector source does not repeat so its one and done.
If repeat is on, the same packet is sent continuously which is not what
I want.
Instead I want a different packet each time. The data in the vector
source is static and can’t be changed. Even if it could be changed, I
can’t control when it transmits. I could not find a better source or a
way to control when the transmit starts. I considered using the UDP
source to send different data, but again, can’t control timing. Looking
into the message source also.
So how can I modify the data being sent to the stream, and control when
(within a few ms) it is transmitted? Is there a better way to do this?
Is there any way to do this?
Rich