fprime README

The project's README from github.com/nasa/fprime. As one markdown file: 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://fprime.jpl.nasa.gov for more information.

What does F´ provide

Learn more about F´ key features.

System Requirements

The following system requirements apply to your workstation for developing F´ applications. To see the list of supported platforms on which F´ applications can run on, see Supported Platforms.

  1. Linux, Windows with WSL, or macOS operating system

  2. git

  3. Python 3.10+, virtual environments, and PIP

  4. Clang or GNU C and C++ compilers (e.g. gcc and g++)

  5. (Optional) A Rust toolchain (cargo and rustc) — required only to build components that depend on Rust. Components that require cargo are skipped when it is not found, and the rest of the framework builds normally.

Click to Expand: How to Verify System Requirements
  1. git --version

  2. python --version and python -m venv -h. Your system might use an alternate like python3 or python3.13. For pip: pip --version. On your system it might be pip3 or pipx.

  3. g++ --version and then create, build, and run a test program. For example, create a file named hello.cpp with contents:

    #include <iostream>
    int main(void){
        std::cout << "Hello, World!" << std::endl;
    }
    

    then build and run it, for example like:

    % g++ -o hi hello.cpp
    % ./hi
    Hello, World!
    
  4. (Optional) cargo --version and rustc --version. Only needed to build components that depend on Rust.

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 Manual 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

Meet the Team

The following roles are members of the CCB and per our governance document have decision making power within the framework.

Role Team Member
Community Manager @LeStarch
Community Manager @thomas-bc
Community Manager @kevin-f-ortega
Security Overseer @bitWarrior
CCB Member @bocchino
CCB Member @kevin-f-ortega
CCB Member @SterlingPeet
CCB Member @timcanham
CCB Member @zimri-leisher

Each product has a set of Maintainers who are charged with the day-to-day implementation of the CCB's direction as realized in a by product.

Product Core Maintainer(s)
F Prime @LeStarch, @thomas-bc
F Prime (v3.6.x Maintenance) @SterlingPeet
fprime-tools @thomas-bc, @LeStarch
fprime-gds @thomas-bc, @LeStarch
fpp @bocchino, @Kronos3
F Prime Platforms @kevin-f-ortega, @LeStarch
Security @bitWarrior

Release Notes

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

fprime (nasa/fprime)

Searching Database…

11.8K ·GitHub
这是什么?F ́(F Prime)是一个以组件为核心的飞行软件框架,最初由 NASA 喷气推进实验室(JPL)开发,用于航天任务和其他嵌入式系统,包括立方星(CubeSat)、小卫星(SmallSat)和各类仪器。
这是我可以导入的库,还是用于构建飞行软件系统的完整框架?它是一个完整的 C++ 框架:把软件拆分为带有明确接口的组件,提供消息队列、线程等核心运行时能力,包含可根据组件规格自动生成代码的建模工具,并附带一个不断增长的现成组件库以及测试工具。
我该如何创建新的 F ́ 项目?先安装 F ́ 引导工具,然后用它创建新项目;完整流程请参阅 HelloWorld Tutorial。
在构建 F ́ 项目之前,我的工作站上需要安装哪些东西?需要 Linux、带 WSL 的 Windows 或 macOS,以及 git、支持虚拟环境和 pip 的 Python 3.10+,还有 Clang 或 GNU C/C++ 编译器。Rust 工具链是可选的,只有依赖 Rust 的组件才需要。
如果我没有安装 Rust 会怎样?如果找不到 Rust,需要 cargo 的组件会被自动跳过,框架的其余部分仍可正常构建,因此 Rust 是可选依赖,而不是硬性要求。
这个框架是为谁准备的,又究竟在哪里运行?它面向开发飞行软件和嵌入式软件的工程师,专为 CubeSat、SmallSat 等小型航天系统量身打造,但不限于此;README 中指向一份单独的“Supported Platforms”列表来说明目标硬件,根据仓库话题,其中包括 Raspberry Pi。
F ́ 真的飞上过太空吗?是的,README 指出 F ́ 已成功部署于多个航天应用中。它源自 JPL,用于真实任务,而不是纯理论上的探索。
F ́ 包含测试工具吗?包含。它提供用于验证飞行软件的测试工具,覆盖单元和集成两个层面,并与建模及代码生成工具一同提供。
Creator
nasa
Size
737.7 MB
Stars
11.8K
Age
9y
Commits · 90 Days