F´(F Prime)是一个组件驱动的框架,能够快速开发和部署航天和其他嵌入式软件应用程序。最初在喷气推进实验室开发的F´已经成功地部署在一些空间应用上。它是定制的,但不限于小型航天系统,如立方体卫星,小型卫星和仪器。

M Starch 87fa458054 Fixing undefined behavior in lib CRC (#2269) 3 weeks ago
.github a56426adbb Converting ByteStreamDriverModel into an interface (#2252) 4 weeks ago
Autocoders ba8f1c6ac8 Release v3.3.2 FALLBACK_VERSION bump 1 month ago
CFDP fbfc9ad563 Update check-spelling to v0.0.21 (#1790) 9 months ago
Drv a56426adbb Converting ByteStreamDriverModel into an interface (#2252) 4 weeks ago
Fpp 3b41a9cb2c remove locs.fpp, subdirs.txt, update-locs, and update-subdirs (#1699) 11 months ago
FppTest 15215288ee FPP v1.3.0 integration (#2103) 1 month ago
Fw 6e799d83dc Clarify valid buffers (#2138) 2 months ago
Os da4b1daae7 Remove ctor and dtor from IntervalTimer implementation for Baremetal (#2067) 3 months ago
RPI a56426adbb Converting ByteStreamDriverModel into an interface (#2252) 4 weeks ago
Ref a56426adbb Converting ByteStreamDriverModel into an interface (#2252) 4 weeks ago
STest ed89684432 Update STest (#2137) 2 months ago
Svc a2a7ada61f Added sleep to avoid test failing because of execution too fast (#2197) 1 month ago
Utils 87fa458054 Fixing undefined behavior in lib CRC (#2269) 3 weeks ago
ci afacd2fe2f Removes 1-to-1 relation of deployments and projects (#1994) 4 months ago
cmake 93e594e2a9 Merge pull request #2101 from jwest115/arm-linux-toolchain 3 months ago
config 7e972cdd88 Add missing include 1 month ago
docs 206f74bb08 Update Docker command (#2267) 3 weeks ago
.clang-format 2c981a34ff lestarch: minor fixes (#1760) 10 months ago
.clang-tidy 234bb5d176 Replace NULL with nullptr (#1049) 2 years ago
.dockerignore bcea9fee51 Fix #1215 Remove incorrect references to non-existent MagicDraw items (#1216) 1 year ago
.gitignore b7a25920a3 Add packetized telemetry option (#1776) 10 months ago
.pre-commit-config.yaml 7fa0b59f09 hpaulson: restricts black pre-commit hook to Fw/Python/ and Gds/ 3 years ago
CITATION.cff 0b03ce39f3 Update CITATION.cff (#1740) 11 months ago
CMakeLists.txt 7e7f0a37ad lestarch: removing leak sanitizer as it breaks on macOS 1 year ago
CONTRIBUTING.md 91c578ee37 Update CONTRIBUTING.md (#1670) 1 year ago
CONTRIBUTORS.md 001b4ce6f4 remove unused extraspace and line 2 years ago
CPPLINT.cfg d5a65b48df Add Cpplint Static Code Analysis to CI Workflow (#1794) 8 months ago
LICENSE.txt 1b80e1d50e mstarch: updating license and notice per latest standardss 2 years ago
NOTICE.txt f081e80779 Removing all BSD like text from NOTICE.txt (#1915) 7 months ago
README.md b3493ca03b Migrate HelloWorld tutorial to F' community (#2095) 3 months ago
SECURITY.md 85d4d180f5 Create a security policy document (#1889) 7 months ago
release.clang-tidy 1698071da1 Use clang-tidy to warn on uses of recursion 2 years ago
requirements.txt d32a1a034d Release v3.3.2 requirements bump 1 month ago
setup.py a6fed4ec6a lestarch: release v3.1.0 updated package versions (#1538) 1 year ago

README.md


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.7+, virtual environments, and PIP

Getting Started

To get started with F´, install the F´ toolset with:

pip install fprime-tools

Then, create a new project with:

fprime-util new --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.