A proposal for unifying type mappings, channels and outputs #255
Replies: 3 comments 3 replies
-
This is not a complete example but, rather, several elements that could be in what is currently being termed a variable "DB". Ideally, users should be able to provide multiple of these, and they'd all be put together. That way, you can have one for cFS, one for ROS, and some that Ogma already knows about, and list them all in the CLI. |
Beta Was this translation helpful? Give feedback.
-
Some elements would also be optional. For example, there would be no topics in F'. I've also been thinking about adding scopes for variables, topics for outputs (optional), and dependencies for types, just for ease of use. |
Beta Was this translation helpful? Give feedback.
-
Assuming this is meant to be a move towards JSON variable DB mappings, us at VCU are absolutely in favor of this, since we'll be auto-generating these in Python, and the two work extremely neatly together. Per the format for the mappings: the more I think about bundling all of the scopes and their fields, it does seem like the easiest to grok from a readability point of view (the big benefit to moving to this from the previous one is, like you said, the old format was cryptic, and the lack of field names was a big factor in that). On the other hand, my inclination from a programmatic parsing point of view (mainly for writing this config file in our case), would be something more like the following?:
There's a compactness lost by formatting it this way, and the "scope" fields aren't as apparent, but for us generating or parsing these files it's cleaner imo to avoid having to track some sort of "index" number in the field names, especially if this idea were to be extended out to more than two scopes at once (in the hypothetical scenario that multiple language backends come around eventually and we want to have mappings from a ROS variable to both a C and Python equivalent or something similar). Still, for either format the parsing wouldn't be a heavy lift. Thanks for adding this bit of QoL for us end users, and looking forward to trying some of the new features soon! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Currently, users need to provide additional variable DBs, which are custom to specific targets (i.e., cFS, ROS). The format is very cryptic, so users are having a hard time understanding the format they need to use for each backend.
I have an idea to unify all of that. See below the format I'm proposing. Let me know if you have any thoughts:
Beta Was this translation helpful? Give feedback.
All reactions