Skip to content

Conversation

@Arslan90
Copy link

@Arslan90 Arslan90 commented Nov 3, 2025

Hello,

Although I am already a User of Vanetza, this is my first contribution to the project. In this PR, I am trying to add POIM-PA messages (version 2.1.1 - Release 2) based on ETSI definitions available here. The submodule TS 103916 v2.1.1 PA (Parking Availability) ASN1 files are copied instead from ETSI repository, due to a missing bug fix.

Also, I patched the ASN1 definitions to:

  • Import GeoPosition field from CDD 2.2.1, instead of redefining it
  • Define locally the EngineCharacteristics (renamed EngineCharacteristicsFromIso) field to avoid generation of all fields from ISO17573-3-1.asn and potential duplicates/naming collision

Moreover, this PR includes a Guide to explain how to update & regenerate ASN1 structs.

Finally, I used mouse07410 version of ASN1C based on the following commit/code version

Thanks :)

Copy link
Owner

@riebl riebl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your PR @Arslan90, looks pretty good! I think there are just a few things left which have already become obsolete since you have started working on it.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this file should not be part of the PR.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your positive reply :) Regarding this document, I would say Yes & No, meaning it is quite difficult to know how to generate ASN1 structs due to the different version of ASN1C compilers, and I find it convenient to have such details somewhere else in the project (can be also a subsection of the README file)

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, that a small "how to" is useful.
I have to admit, that the integration of asn1c into our build system is a little bit tricky. There are plans to bundle the "right" asn1c version as Docker container.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be great

${PROJECT_SOURCE_DIR}/asn1/release2/TS103916v211/POIM-CommonContainers.asn
)

# set(_its_r2_asn1_files_depending_on_iso
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do not add "dead code"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left that since I don't know which option is best:

  1. Avoid using ISO definitions and manually patch the POIM-PA => which is my personal choice
  2. Use the ISO definitions directly, although if it has an important impact in terms of redefinitions & naming collision => maybe you prefer this solution

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my past experience I can say that it usually gets messy with these ISO definitions, so I like your first option. It may become necessary to switch to the full ISO definitions in the future if the ETSI ASN.1 files make use of it at a larger scale.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the added README, this file is no longer required since you have manually imported the EngineCharacteristics.

@Arslan90
Copy link
Author

Arslan90 commented Nov 5, 2025

OK, so I can update my PR according to your latest comments. I will also try to add a subsection dedicated to the ASN1C build system instead of adding a new MD file

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

Successfully merging this pull request may close these issues.

3 participants