Repository navigation
ogma-core: Adapt cFS backend, template to support messages with multiple fields. Refs #625. - #626
Merged
ivanperez-keera merged 4 commits intoNov 9, 2026
Conversation
ivanperez-keera
force-pushed
the
develop-double-subscription
branch
7 times, most recently
from
November 8, 2026 17:35
3457da5 to
87bf836
Compare
ogma-core: Adjust cFS backend to support reading multiple fields from the same message. Refs #625.ogma-core: Adapt cFS backend, template to support messages with multiple fields. Refs #625.
…the same message. Refs nasa#625. When generating cFS applications, if a variable DB references multiple fields of the same message ID from multiple variables, Ogma incorrectly reports that they clash: ``` <no location info>: error: Reading variable DBs has failed due to them having incompatible information for types with the same scopes and from types but otherwise different. ``` This commit modifies the `ogma-core:Command.VariableDB` module to take fields into account when determining if two entries in a variable DB are incompatible.
ivanperez-keera
force-pushed
the
develop-double-subscription
branch
from
November 8, 2026 22:15
87bf836 to
9502d3e
Compare
…Refs nasa#625. When generating cFS applications, if a variable DB references multiple fields of the same message ID from multiple variables, Ogma incorrectly reports that they clash: ``` <no location info>: error: Reading variable DBs has failed due to them having incompatible information for types with the same scopes and from types but otherwise different. ``` The way that the cFS backend structures information to be expanded in templates, each message has a unique, optional "from" type and "from" field, used to populate a variable from a field. Using this approach means that each subscription to a cFS message can only populate one subfield at a time, which either limits how many subfields of a message can be referenced in expressions or introduces an inefficiency where each variable must declare its own message handler and be called independently. This commit modifies the cFS backend in `ogma-core` to allow multiple fields of the same cFS data structure and message to be used, and to make all of them available in the data structure passed to the template during expansion as subelements of the same message data, facilitating expanding them as part of the same handler.
…s. Refs nasa#625. When generating cFS applications, if a variable DB references multiple fields of the same message ID from multiple variables, Ogma incorrectly reports that they clash: ``` <no location info>: error: Reading variable DBs has failed due to them having incompatible information for types with the same scopes and from types but otherwise different. ``` A prior commit modified the cFS backend to include, in message data definitions, information on multiple fields needed from the same cFS message. This commit adjusts the default cFS template to use that new structure when defining the message handlers that update global variables from message fields.
ivanperez-keera
force-pushed
the
develop-double-subscription
branch
from
November 9, 2026 17:34
9502d3e to
f0f1683
Compare
Member
Author
|
Change Manager: The commit message for the second commit is not clear. It talks about a limitation but that's not the right term. |
Member
Author
|
Implementor: Fix implemented, review requested. |
Member
Author
|
Change Manager: Verified that:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adjust
Common.VariableDBso that no error is reported if multiple fields of the same message are used by different variables, and adjust cFS backend and template to support multiple fields for one message, as prescribed in the solution proposed for #625.