esa / asn1scc

ASN1SCC: An open source ASN.1 compiler for embedded systems
https://www.thanassis.space/asn1.html
Other
272 stars 58 forks source link

Support for Explicit Bit Naming in XML Output and Python/XML Backends #294

Closed usr3-1415 closed 8 months ago

usr3-1415 commented 8 months ago

Description:

When defining a BITSTRING with explicit bit naming, such as in the following ASN.1 definition:

Foo ::= BIT STRING {bit0 (0), bit1 (1)} (SIZE (2))

the explicit bit names (bit0, bit1) are not currently included in the XML file generated by the -x option. Additionally, this information is absent in the Python/XML backends, making it impossible to utilize the individual bit names within Opengeode.

Expected Behavior:

The tool should be able to include explicit bit naming information in the XML output generated by the -x option. This would allow for better integration and utilization of ASN.1 definitions within Opengeode, specifically allowing developers to reference individual bit names directly.

Actual Behavior:

Explicit bit naming information is missing from the XML output and, by extension, is not available in the Python/XML backends. This omission restricts the usability of Opengeode for detailed bit-level protocol specifications.

Steps to Reproduce:

  1. Define an ASN.1 module with a BITSTRING type that includes explicit bit naming.
  2. Compile the ASN.1 module using the -x option to generate XML output.
  3. Inspect the generated XML file for explicit bit naming information.

Requested Change:

Implement support for including explicit bit naming information in the XML output and ensure this information is accessible through the Python/XML backends. This enhancement would significantly improve the tool's capability to support detailed and specific protocol implementations in Opengeode.

usr3-1415 commented 8 months ago

Feature has been successfully implemented and merged. Explicit bit naming information is now included in the XML output and accessible in the Python/XML backends.