-
-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing tags in "Fixed Length Packet Tagger" #425
Comments
Hi, thanks for reporting this. You are right.
I see that the flowgraph you have could likely be achieved by using gr-satellites Sync and Create Packed PDU block. But perhaps this is just an example to demonstrate the problem rather than your final goal. In any case, if you do need to use |
This block was deprecated with the introduction of Fixedlen to PDU. See #425.
Hello and thank you for reply! |
Thanks. I actually prefer to leave this issue open, since it describes a possible enhancement that someone might want to implement in the future. |
Hello!
I faced the issue with tags propagation in "Fixed Length Packet Tagger" block. I tried to push to flowgraph some additional info via tags (using PDU) and saw that this tags are mixed or missed after "Fixed Length Packet Tagger". So i made easier flowgraphs to demonstrate this.
My TopBlock looks like this:
gr_satellites_bug_hier looks like this:
As you can see from TopBlock main idea is to decode data with different "syncwords" in one flowgraph.
I swapped PadSource with simple custom MessagePublisher to push messages to flowgraph. The final python file of TopBlock:
TopBlock
Hier block stays autogenerated by GNURadio. Script to run flowgraph:
Script to run flowgraph
I'm pushing messages with special "example_tag" that increases with every decode() method call. Result:
Result output
correlate_access_code_tag_ff :debug: Access code: 719d83c953422dfa correlate_access_code_tag_ff :debug: Mask: ffffffffffffffff correlate_access_code_tag_ff :debug: Access code: 24c8d69c061778af correlate_access_code_tag_ff :debug: Mask: ffffffffffffffff ***** VERBOSE PDU DEBUG PRINT ****** ((example_tag . 1)) pdu length = 774 bytes pdu vector contents = 0000: 24 c8 d6 9c 06 17 78 af 00 00 00 00 00 00 00 00 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0300: 00 00 00 00 00 00 ************************************Tag Debug: Tags at start of the hier block
Input Stream: 00
Offset: 0 Source: pdu_to_tagged_stream0 Key: example_tag Value: 1
Offset: 0 Source: n/a Key: length Value: 774
Tag Debug: Tags at start of the hier block
Input Stream: 00
Offset: 0 Source: pdu_to_tagged_stream0 Key: example_tag Value: 1
Offset: 0 Source: n/a Key: length Value: 774
correlate_access_code_tag_ff :debug: writing tag at sample 64
Tag Debug: Tags after correlate_access_code
Input Stream: 00
Offset: 0 Source: pdu_to_tagged_stream0 Key: example_tag Value: 1
Offset: 0 Source: n/a Key: length Value: 774
Offset: 64 Source: correlate_access_code_tag_ff16 Key: syncword_tag Value: 0
Tag Debug: Tags after correlate_access_code
Input Stream: 00
Offset: 0 Source: pdu_to_tagged_stream0 Key: example_tag Value: 1
Offset: 0 Source: n/a Key: length Value: 774
Tag Debug: Tags after fixedlen_tagger
Input Stream: 00
Offset: 0 Source: n/a Key: packet_len Value: 1024
Offset: 0 Source: pdu_to_tagged_stream0 Key: example_tag Value: 1
Offset: 0 Source: n/a Key: length Value: 774
Offset: 64 Source: correlate_access_code_tag_ff16 Key: syncword_tag Value: 0
***** VERBOSE PDU DEBUG PRINT ******
((example_tag . 2))
pdu length = 464 bytes
pdu vector contents =
0000: 71 9d 83 c9 53 42 2d fa 00 00 00 00 00 00 00 00
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
correlate_access_code_tag_ff :debug: writing tag at sample 6256
Tag Debug: Tags at start of the hier block
Input Stream: 00
Offset: 6192 Source: pdu_to_tagged_stream0 Key: example_tag Value: 2
Offset: 6192 Source: n/a Key: length Value: 464
Tag Debug: Tags after correlate_access_code
Input Stream: 00
Offset: 6192 Source: pdu_to_tagged_stream0 Key: example_tag Value: 2
Offset: 6192 Source: n/a Key: length Value: 464
Tag Debug: Tags at start of the hier block
Input Stream: 00
Offset: 6192 Source: pdu_to_tagged_stream0 Key: example_tag Value: 2
Offset: 6192 Source: n/a Key: length Value: 464
Tag Debug: Tags after correlate_access_code
Input Stream: 00
Offset: 6192 Source: pdu_to_tagged_stream0 Key: example_tag Value: 2
Offset: 6192 Source: n/a Key: length Value: 464
Offset: 6256 Source: correlate_access_code_tag_ff6 Key: syncword_tag Value: 0
Tag Debug: Tags after fixedlen_tagger
Input Stream: 00
Offset: 0 Source: pdu_to_tagged_stream0 Key: example_tag Value: 1
Offset: 0 Source: n/a Key: length Value: 774
Offset: 0 Source: n/a Key: packet_len Value: 512
***** VERBOSE PDU DEBUG PRINT ******
((example_tag . 3))
pdu length = 774 bytes
pdu vector contents =
0000: 24 c8 d6 9c 06 17 78 af 00 00 00 00 00 00 00 00
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0300: 00 00 00 00 00 00
correlate_access_code_tag_ff :debug: writing tag at sample 9968
Tag Debug: Tags at start of the hier block
Input Stream: 00
Offset: 9904 Source: pdu_to_tagged_stream0 Key: example_tag Value: 3
Offset: 9904 Source: n/a Key: length Value: 774
Tag Debug: Tags at start of the hier block
Input Stream: 00
Offset: 9904 Source: pdu_to_tagged_stream0 Key: example_tag Value: 3
Offset: 9904 Source: n/a Key: length Value: 774
Tag Debug: Tags after correlate_access_code
Input Stream: 00
Offset: 9904 Source: pdu_to_tagged_stream0 Key: example_tag Value: 3
Offset: 9904 Source: n/a Key: length Value: 774
Tag Debug: Tags after correlate_access_code
Input Stream: 00
Offset: 9904 Source: pdu_to_tagged_stream0 Key: example_tag Value: 3
Offset: 9904 Source: n/a Key: length Value: 774
Offset: 9968 Source: correlate_access_code_tag_ff16 Key: syncword_tag Value: 0
Tag Debug: Tags after fixedlen_tagger
Input Stream: 00
Offset: 1024 Source: n/a Key: packet_len Value: 1024
***** VERBOSE PDU DEBUG PRINT ******
((example_tag . 4))
pdu length = 464 bytes
pdu vector contents =
0000: 71 9d 83 c9 53 42 2d fa 00 00 00 00 00 00 00 00
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
correlate_access_code_tag_ff :debug: writing tag at sample 16160
As i can see from Tag Debug info, tags in "inactive" (e.g. "syncword" not detected) part of flowgraph are buffered in "Fixed Length Packet Tagger" block. When pushing to TopBlock frames with different "syncword" block works unexpectedly, mixing and, sometimes, missing all additional tags.
Environment:
GNU Radio: 3.10.1.1
gr-satellites: 5.0.0
python: 3.10.6
The text was updated successfully, but these errors were encountered: