Closed
0
0

I want to use cFS for a cubesat project. After reading through, it seems magical and does all the things that I need for the cubesat.

 

I am reading the documentation for each application for cFS. I know that cFS is layered. I am not sure how to integrate them. The doxygen html documentation says there is a “cFS App Integration Guide” but I cannot find it anywhere. Does anyone know where to find it?

 

How to program with it i.e. do we use it as a library and just write our own code that references cFS functions? Do we write our own code and just copy/paste it into the cFS application files?

 

What environment do we use?

 

Please help. Thanks!

  • You must to post comments
0
0

Hi awknguyen!

In my opinion, the easiest way to get started is to use the pc-linux build on an Ubuntu computer (or VM). It sounds like you already have the code, but if you don’t, you can pull from the public GitHub repo: https://github.com/nasa/cFE (I need to fix the readme instructions for setting up; see issue #4, you need to create the inc directory for make config to work…)

You are correct that cFS is layered, but using the pc-linux build to start will let you ignore the lower layers and focus on the core services, applications, and libraries.

The core services are called core Flight Executive, and includes things that every cFS install will use, such the software bus for message passing. Explore these in https://github.com/nasa/cFE/tree/master/cfe/fsw/cfe-core/src

Applications are customized to each mission, and there are bunch of pre-made ones available in the “apps” directory. These use the core services to provide more functionality. There is a sample application that I would encourage you to check out. Each application runs as it’s own thread, typically interacts with other applications through messages, and runs in an infinite loop of: check for messages, process messages / do work, send messages, repeat.

Libraries are also in the apps directory (usually have “lib” in their name) and there is a sample library to play around with as well. Applications can call functions in libraries directly, and the libraries are typically used for commonly used functionality or to interact with hardware.

Short version: use pc-linux, modify the sample_app, run your code, and ask questions as they come up!

James

  • You must to post comments
0
0

Another option is to use OpenSatKit at https://opensatkit.github.io/ It provides a preconfigured ground-flight solution using Ball Aerospace’s COSMOS system and the cFS.  The kit user’s guide is a little drafty and I plan on having an update in a about a week.

The app developer’s guide should be in the cfe/docs directory.

 

 

  • awknguyen
    Thank you dmccomas! I actually looked into OpenSatKit and I am using that right now. I really appreciate it. Also, is there a way to get notified when the user’s guide is updated? And is there a tutorial for a simple “Hello World” program for OpenSatKit? That would be much appreciated. Have a great day!
  • You must to post comments
Showing 2 results