Replies: 2 comments 3 replies
-
I'm now realizing that when @LeStarch mentioned https://github.com/nasa/fprime/discussions/categories/call-for-comments , he wasn't soliciting ideas, but feedback on what F' has in the near-term plans. So I may have been barking up the wrong tree when writing this, but it is still a feature I'd love to see added / would be interested in contributing to (but don't have all the context and bandwidth to do by myself). |
Beta Was this translation helpful? Give feedback.
1 reply
-
@timcanham you were thinking about something like this, yes? Could you comment/post here with your thoughts? |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is a big lift in terms of implementation, and I think its something that has been on the minds of some F' devs, so if there is discussion elsewhere, happy to merge with that. But it's not in the call for comments yet.
It would be very nice to support some kind of saving of data products. By that I mean saving structured data or serializable types in such a way that they end up in a file that can be downlinked and, on the gds side, expanded into something like xml, where you can see each instance of the type that was written to over time.
As an example application, suppose you are not always able to receive the stream of events generated by components, to active logger, to framer/downlink, to byeStreamDriver/comm, because your system has limited communication windows. So you split the log events somewhere (either before getting to ActiveLogger, or within ActiveLogger), also send them to a Generic serial port on the Data Product saving component (DPSC), and the DPSC eventually writes that data to a file. THat file can be downlinked using existing infrastructure. Once on the ground, the file can be read and used reconstruct events that may not have been able to be communicated,
This would be in contrast to https://github.com/nasa/fprime/tree/devel/Svc/BufferLogger , which seems to save raw bytes, necessitating custom reading of the data. (Please correct my if I'm wrong or missing a Svc component that is getting what I'm after) Maybe the DPSC feeds into a BufferLogger.
Other possible applications:
Challenges:
More detailed design ideas:
Beyond creating this component, we'd also want to create a ground application that can covert the raw data into human readable xml or similar.
Beta Was this translation helpful? Give feedback.
All reactions