External Processes with cFS #444
-
Hello, I am a little confused about the way to interface cFS with external processes The examples I have seen thus far are always with shared objects being created and started by cFS but what would be the mechanism to interface an entirely separate process with cFS? I have been reading up on External Code Interface but that seems to be targeting auto-generated or legacy code sources and not necessarily custom written applications. The hope is we would be able to run an application completely independent of cFS so if a fault were to happen that process would be unaffected, but could still utilize cFS services. Thank you, |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
I see three options for interfacing processes based on what you need in terms of "utilizing cFS services". Wrap both processes in the cFS framework, communicate through SBN. Then each process has the full cFS set of core capabilities. One cFS instance (with SBN), the other process just has an SBN compatible interface. I thought there was an example of this somewhere or a related repo but I haven't found it yet... maybe someone in the community could provide a pointer? Or make a custom app to run on the full cFS instance that interfaces with the other process through whatever custom mechanism fits your use case. For example if the custom process produces/consumes a data stream make an app that talks the same language and converts to CCSDS messages on the cFS side (if that's what you want). Could be message queues, DMA, shared memory, etc. whatever works for that custom process. |
Beta Was this translation helpful? Give feedback.
-
You might want to look at https://github.com/nasa/sbn-client |
Beta Was this translation helpful? Give feedback.
I see three options for interfacing processes based on what you need in terms of "utilizing cFS services".
Wrap both processes in the cFS framework, communicate through SBN. Then each process has the full cFS set of core capabilities.
One cFS instance (with SBN), the other process just has an SBN compatible interface. I thought there was an example of this somewhere or a related repo but I haven't found it yet... maybe someone in the community could provide a pointer?
Or make a custom app to run on the full cFS instance that interfaces with the other process through whatever custom mechanism fits your use case. For example if the custom process produces/consumes a data stream make an app …