Skip to content
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

Wrong handling of CAT001 when multiple records in data block and missing I010 #184

Open
dsalantic opened this issue May 31, 2021 · 0 comments

Comments

@dsalantic
Copy link
Contributor

In following conditions parser fails to parse data record:

  • there is CAT001 data block with 2 records (Note that this is old way of data packing in Asterix, and in new categories it should not be allowed (but only on record per data block)),
  • and second record does not contain item 010 (Data Source Identifier) (see recommendation below)
  • and second record contains plot information (not track)

The reason is the parser relies on the assumption that item 010 is present in record. That way it can determine bit from item 020 before parsing it and choose proper UAP.

Note that in Asterix specification it is recommended to send this item in each data record, but it is not compulsory .

5.3.2 Encoding Rules
5.3.2.1 Data Item I001/010 (Data Source Identifier) is compulsory and shall always be transmitted in each Data Block, at least in the first Record of a sequence of Records originating from the same data source.
Recommendation The Data Source Identifier should be transmitted in every Record.

Here is the sample of erroneous packet:

01002cfd20381520533d148c008105f00ab07d202027d415a00a1d046c10ba7d2020176114ec074e05f012ca02000cf4381502183ba66904

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant