nasa / EdsLib

CCSDS SOIS Electronic Data Sheet Tool and Library
Apache License 2.0
31 stars 12 forks source link

Render certain EDS constructs as a union #41

Closed jphickey closed 1 year ago

jphickey commented 1 year ago

Is your feature request related to a problem? Please describe. The LC app (https://github.com/nasa/LC) uses a union for its LC_MultiType_t container. This is used in the table definitions so it can have any data type. Unfortunately, the EDS cannot currently generate a structure that can represent this.

Describe the solution you'd like Render a specific EDS construct as a union so it will be compatible with this use-case in LC.

Additional context This is just a specialized/specific case of container inheritance. The EDS tool does render a union for container types that are used as a base type for other objects, but it renders it abstractly - that is, there is just a max size and alignment, the members and member types are not explicitly listed, as this might create a circular dependency if they are in another datasheet.

In this case, all the derived types are in the same datasheet, so there is no dependency issue. In this context the tool can render a union with all the members and it should address the LC use case.

Requester Info Joseph Hickey, Vantage Systems, Inc.