Rob Bocchino b89b5d91c4
Add DpWriter (#2593)
* Pull in framework changes from data-products branch

* Pull in changes to DpManager from data-products branch

* Pull in DpWriter from data-products branch

* Fix spelling

* Revise FileNameString

* Fix warnings in CI

* Fix static analysis warnings

* Fix static analysis warnings

* Revise formatting and comments

* Revise banner comments

* Revise FileNameString per PR comment

* Revise path names in config headers

If a header H.hpp exists in the F Prime source base, then

is dangerous. Because [project root] and [fprime root] are both
in the list of include paths, it's not clear whether this means "include
[project root]/config/H.hpp" or "include [fprime root]/config/H.hpp."

On the other hand,

or

has no such ambiguity, because only one of [project root]/config
and [fprime root]/config is in the list of include paths.

* Revise path names in config headers

If a header H.hpp exists in the F Prime source base, then

`#include "config/H.hpp"`

is dangerous. Because [project root] and [fprime root] are both
in the list of include paths, it's not clear whether this means "include
[project root]/config/H.hpp" or "include [fprime root]/config/H.hpp."

On the other hand,

include <config/H.hpp>

or

`#include "config/H.hpp"`

has no such ambiguity, because only one of [project root]/config
and [fprime root]/config is in the list of include paths.
2024-03-28 16:09:38 -07:00
2024-03-28 16:09:38 -07:00
2024-02-01 10:18:10 -08:00
2024-01-04 13:17:53 -08:00
2024-03-28 16:09:38 -07:00
2024-03-28 16:09:38 -07:00
2024-03-28 16:09:38 -07:00
2024-03-28 16:09:38 -07:00
2024-03-28 16:09:38 -07:00
2024-03-28 16:09:38 -07:00
2022-11-15 10:26:55 -08:00
2021-09-29 09:04:52 -07:00
2022-10-27 12:27:30 -07:00


A Flight-Proven, Multi-Platform, Open-Source Flight Software Framework

F´ (F Prime) is a component-driven framework that enables rapid development and deployment of spaceflight and other embedded software applications. Originally developed at the Jet Propulsion Laboratory, F´ has been successfully deployed on several space applications. It is tailored but not limited to small-scale spaceflight systems such as CubeSats, SmallSats, and instruments.

Please Visit the F´ Website: https://nasa.github.io/fprime for more information.

What does F´ provide

  • An architecture that decomposes flight software into discrete components with well-defined interfaces
  • A C++ framework that provides core capabilities such as message queues and threads
  • Modeling tools for specifying components and connections and automatically generating code
  • A growing collection of ready-to-use components
  • Testing tools for testing flight software at the unit and integration levels.

Learn more about F' key features here.

System Requirements

  1. Linux, Windows with WSL, or macOS operating system
  2. git
  3. CMake 3.16+. CLI tool must be available on the system path.
  4. CLang or GNU C and C++ compilers (e.g. gcc and g++)
  5. Python 3.8+, virtual environments, and PIP

Getting Started

To get started with F´, install the F´ bootstrapping tool with:

pip install fprime-bootstrap

Then, create a new project with:

fprime-bootstrap project

See the HelloWorld Tutorial to guide you through all the steps of developing an F´ project.

New users are encouraged to read through the User Guide and explore the other tutorials.

Getting Help

Discussions

To ask questions, discuss improvements, and ask for help please use the project's GitHub Discussions.

Bug reports

To report bugs and issues, open an issue here.

Community

The F´ Community GitHub Organization contains third party contributions, more documentation of flight software development, and additional resources.

Resources

Release Notes

The version history and artifacts associated with the project can be found at Releases.

Description
v4.0.0 Latest
2025-08-06 19:42:06 -05:00
Languages
C++ 86.4%
CMake 6.2%
Fortran 4.4%
Python 1.6%
C 1.2%
Other 0.2%