Pdu and stream tagging in 3.6.3

I’m playing around with the new
gr_pdu_to_tagged_stream/gr_tagged_stream_to_pdu blocks. Is there
something that can translate between the new tag format and the standard
tx_sob (start of burst)/tx_eob (end of burst)/tx_time tags?

I guess it’s possible to write a packet scheduler if you fix a timestamp
in the PMT metadata dictionary? I think this would involve writing a
message source block that could attach PMT pairs containing tx_sob/PMT_T
and tx_time/tuple(uint64_t secs, double frac_secs). A downstream block
could read the pdu_length tag and put a tx_eob/PMT_T stream tag at the
appropriate place. Does this sound like a reasonable approach?

Sean

On Fri, Feb 08, 2013 at 07:14:48PM +0000, Nowlan, Sean wrote:

I’m playing around with the new gr_pdu_to_tagged_stream/gr_tagged_stream_to_pdu
blocks. Is there something that can translate between the new tag format and
the standard tx_sob (start of burst)/tx_eob (end of burst)/tx_time tags?

Hi Sean,

there’s only one type of tags–I’m not sure what you’re asking here.

I guess it’s possible to write a packet scheduler if you fix a timestamp in the
PMT metadata dictionary? I think this would involve writing a message source
block that could attach PMT pairs containing tx_sob/PMT_T and tx_time/tuple
(uint64_t secs, double frac_secs). A downstream block could read the pdu_length
tag and put a tx_eob/PMT_T stream tag at the appropriate place. Does this sound
like a reasonable approach?

That sounds exactly like something I discussed with Johnathan recently.
Not everything you’ve described is there in GNU Radio, but it sounds
reasonable.

MB

Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT – University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association

On Mon, Feb 11, 2013 at 02:52:58PM +0000, Nowlan, Sean wrote:

I think all the elements are there in v3.6.3 to write such a block. But I’m
confusing myself. In gnuradio-core/src/lib/io, gr_message_burst_source sort of
implements this functionality (tx_sob & tx_eob, but no tx_time). It seems the
PDU-to-tagged-stream concept is a parallel solution that adds a “length” tag and
whatever is in the metadata dictionary, but doesn’t use tx_sob/tx_eob tags
explicitly. Am I reading this correctly?

Yes, you are. The thing about sob/eob tags is, they’re UHD-specific, so
the PDU-to-stream blocks probably aren’t the right place to put them.

M


Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT – University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association

On Fri, Feb 08, 2013 at 07:14:48PM +0000, Nowlan, Sean wrote:

I’m playing around with the new gr_pdu_to_tagged_stream/gr_tagged_stream_to_pdu
blocks. Is there something that can translate between the new tag format and
the standard tx_sob (start of burst)/tx_eob (end of burst)/tx_time tags?

Hi Sean,

there’s only one type of tags–I’m not sure what you’re asking here.

What I meant was that gr_pdu_to_tagged_stream doesn’t tag with
tx_sob/tx_time/tx_eob, and so the format has to be “translated” by a
downstream block’s work(…) function from PDU tags to burst tags.

I guess it’s possible to write a packet scheduler if you fix a timestamp in the
PMT metadata dictionary? I think this would involve writing a message source
block that could attach PMT pairs containing tx_sob/PMT_T and tx_time/tuple
(uint64_t secs, double frac_secs). A downstream block could read the pdu_length
tag and put a tx_eob/PMT_T stream tag at the appropriate place. Does this sound
like a reasonable approach?

That sounds exactly like something I discussed with Johnathan recently.
Not everything you’ve described is there in GNU Radio, but it sounds
reasonable.

I think all the elements are there in v3.6.3 to write such a block. But
I’m confusing myself. In gnuradio-core/src/lib/io,
gr_message_burst_source sort of implements this functionality (tx_sob &
tx_eob, but no tx_time). It seems the PDU-to-tagged-stream concept is a
parallel solution that adds a “length” tag and whatever is in the
metadata dictionary, but doesn’t use tx_sob/tx_eob tags explicitly. Am I
reading this correctly?

-sean