Welcome to the Core Flight System (cFS)
The Core Flight System (cFS) is a generic flight software architecture framework used on flagship spacecraft, human spacecraft, cubesats, and Raspberry Pi. This repository is a bundle of submodules that make up the cFS framework.
As described in the project's CITATION.cff
:
The Core Flight System (cFS) is a generic flight software architecture framework used on flagship spacecraft, human spacecraft, cubesats, and Raspberry Pi. This repository is a bundle of submodules that make up the cFS framework. Note the "lab" apps are intended as examples only, and enable this bundle to build, execute, receive commands, and send telemetry. This is not a flight distribution, which is typically made up of the cFE, OSAL, PSP, and a selection of flight apps that correspond to specific mission requirements.
This documentation provides a comprehensive guide for developers to get started with building, running, and contributing to the cFS project.
Project Architecture
The cFS project is structured as a "bundle" repository. This means the main repository does not contain the core software itself, but rather acts as an integrator for a collection of submodules, each representing a distinct component of the system. This modular architecture allows for flexibility and independent development of each part of the framework.
See the Architecture Overview for a detailed breakdown of these components.
Key Features & Roadmap
The cFS framework is a mature, feature-rich platform for flight software development. The open-source roadmap includes several key enhancements:
- Bundler Tool: A tool to create custom cFS bundles from a catalog of community-developed applications.
- Expanded OS Support: Official support for VxWorks 7 (including RTPs) and RTEMS 6.
- Testing Frameworks: An automated build verification execution framework for emulated targets.
- Core Service Enhancements: Refactoring of Time services, introduction of Symmetric Multi-Processing (SMP) APIs, and Electronic Data Sheet (EDS) integration.
Getting Help
The cFS community and product team offer several channels for support:
- GitHub Discussions: For general questions, ideas, and discussions, you can start a new discussion on the main repository.
- Mailing List: To subscribe to the cFS community mailing list, send an email to
cfs-community-join@lists.nasa.gov
with "subscribe" in the subject line. The mailing list is used for release announcements, bug fixes, and community meetings. - cFS Product Team: For direct inquiries, partnerships, or in-depth support, you can contact the team at
cfs-program@lists.nasa.gov
.
Distributions
This repository represents the open-source version of cFS, released under the Apache 2.0 license. A government-use version with additional features for full flight missions is also available through a Software User Agreement with NASA.