-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Module namespace mismatch between packets.xml and dictionary.json #3124
Comments
Ah gotcha. What release is that expected to be in? When it comes in, does that mean that we can remove the module specifiers from packets.xml channel names? |
@bocchino can weigh in on the expected release. The new packet specifications will be in FPP, so all the namespaces will be consistent with FPP rules. |
I'm working on the FPP packet specifications now. My current estimate is to have it released in FPP in April 2025. So it will go in the next F Prime release after that. So maybe within the next six months? |
Uh, so don’t do that for now? 😆 |
Lol fair enough... was just trying to make it so that we didn't have to add "topologies." before every command in every sequence, and also every channel in packets.xml. There's a conflict between the need to be linguistically precise (so use fully qualified names) and the need to be concise (using mnemonics). Maybe one day there could be a way to map names of FPrime objects (cmds, tlm, prms) into a global namespace meant for abbreviated names. Like a file where you could say:
Then again, I guess that shouldn't be the job of FPrime. Better for ground systems or sequence compilers to handle this, and if the user of FPrime wants it, then they can implement it |
Problem Description
There is a mismatch between the parser for packets.xml and the generator for dictionaries that causes GDS to be unable to run under some circumstances.
In a situation where:
E.g.:
instances.fpp
E.g.:
topology.fpp
The
packets.xml
will be required to reference telemetry channels via their fully-qualified name (e.g.Ref.bufMan.tlmChan
), but the dictionaries generated will not include the module namespace (e.g. the dict will contain justbufMan.tlmChan
.This causes a mismatch, which prevents the GDS from running because it can't find channels in the dict that are in packets.xml.
Context / Environment
Execute
fprime-util version-check
and share the output.How to Reproduce
module Ref
line frominstances.fpp
RefTopology*pp
(just so that Ref compiles)Ref.
prefix, whereas the dictionaries (both JSON and XML) do not.Expected Behavior
I would expect the place where the instances are declared to correspond to their namespace, and for this behavior to be consistent across the dict and packets.xml
The text was updated successfully, but these errors were encountered: