Skip to content

Releases: esa/asn1scc

Bugfix

11 Aug 09:45
Compare
Choose a tag to compare

Maintenance release
fix issue #341

ICD Generation improvement

06 Jul 13:54
Compare
Choose a tag to compare

Implements feature described in #343
Addition of a filter in a panel to simplify the navigation in the generated ICD documents

image

Bugfixes

06 Jun 08:26
Compare
Choose a tag to compare

Maintenance release

  • fix a corner case of infinite loop
  • ICD generation improvement
  • Fix issue #334 (crash of asn1scc)
  • switch to .NET9

Maintenance release - bugfix

27 Apr 09:13
Compare
Choose a tag to compare

Fix issue #332 - generation of duplicate macro definitions in C, causing compiler warnings

Code optimization and decoding bufix

07 Apr 07:37
Compare
Choose a tag to compare
  • Major bugfix (issue #330) Possible invalid memory access in BitStream_ReadByte (could point to an invalid memory address if buffer was larger than value set in the byte counter)

  • This version introduces a functionality to automatically detect and exclude unused generated functions, resulting in significantly smaller output code for both C and Ada backends.

Key Features

  1. Unused Function Elimination via -icdPdus
    When using the -icdPdus argument, ASN1SCC now performs a dependency analysis starting from the specified PDUs and their associated functions (isEqual(), isValid(), init(), encode(), and decode()).

    • Only the functions directly or indirectly required by these PDUs are generated.
    • All unused functions are excluded from the output, reducing code size and improving maintainability.
  2. New -dpdus Argument
    A new command-line option, -dpdus, was added to help identify Protocol Data Units (PDUs) in the input ASN.1 grammar.

    • PDUs are defined as top-level types that are not referenced by any other type.
    • Detected PDUs are printed to the console to help users configure -icdPdus more easily.

Impact

  • Reduces the size of generated code by omitting unused functions.
  • Especially beneficial for resource-constrained systems or projects aiming to minimize binary size.

Bugfixes

16 Mar 16:17
Compare
Choose a tag to compare
  • Fix missing Xer_EncodeNull and Xer_DecodeNull functions (#326)
  • Fix erroneous variable name in XER encoders (#325)
  • Removed warnings from latest GCC in compilation of autogenerated test cases (#323)
  • Fix corner case with hyphens generated in place of underscores (#322)
  • Detect and report REAL numbers that can't be represented in memory when used in bounds (#321)

v4.5.2.4 - Performance boost

13 Jan 13:29
Compare
Choose a tag to compare

This release is a maintenance release (no new features) addressing parsing performance (10x boost).

Parsing performance boost and Scala update

24 Nov 21:57
d9f556f
Compare
Choose a tag to compare

This release introduces

  • a major performance improvement for the parser
  • a major update of the Scala backend with new proofs and complete support

Documentation (ICD) Generation and Performance Improvements

29 Sep 16:56
Compare
Choose a tag to compare

This new release improves the ICD (Interface Control Document) generation as well as the parsing performance:

  • A new command line flag allows to select which ASN.1 types you want to see in the ICD (by default: all of them)
    e.g. asn1scc -icdAcn icd.html -icdPdus "TELECOMMAND,TELEMETRY" dataview.asn will generate the ICD only for the types named TELECOMMAND and TELEMETRY (and all their dependencies)
  • The hyperlinks to the ASN.1 and ACN grammars have been fixed
  • Various cosmetics improvements to improve the clarity of the tables (e.g. comments for ACN-inserted fields)
  • To smoothen the transition, the new ICDs are generated in a file with the _new.html suffix (the prefix being the ICD name given in the command line).
  • Major parsing performance boost

v4.5.2.1 maintenance release

13 Jul 13:32
Compare
Choose a tag to compare
  • Fix regression with boolean encodings (issues #312 and #309)
  • Fix Inefficient and Incorrect Generated Code for CHOICEs (#307)
  • Fix Failure when encoding/decoding messages in Streaming Mode with large Bit Strings (and smaller BitStream buffers) (#292)
  • Improve ICD generation