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) — это фреймворк для бортового программного обеспечения, построенный на компонентах. Изначально он был создан в Jet Propulsion Laboratory при NASA для космических полётов и других встраиваемых систем, включая CubeSats, SmallSats и приборы.
Это библиотека, которую я подключаю, или полноценный фреймворк для создания системы бортового программного обеспечения?Это полноценный фреймворк на C++: он разбивает программу на компоненты с заданными интерфейсами, предоставляет базовые возможности среды выполнения, например очереди сообщений и потоки, включает инструменты моделирования, которые автоматически генерируют код по спецификациям компонентов, и поставляется с растущей библиотекой готовых компонентов и инструментами для тестирования.
Как создать новый проект F ́?Установите инструмент bootstrapping F ́, затем с его помощью создайте новый проект и следуйте HelloWorld Tutorial, чтобы освоить полный процесс работы.
Что нужно установить на компьютер перед сборкой проектов F ́?Нужны Linux, Windows с WSL или macOS, а также git, Python 3.10+ с поддержкой виртуальных окружений и pip, и компиляторы Clang или GNU C/C++. Набор инструментов Rust необязателен и нужен только для компонентов, которые от него зависят.
Что будет, если Rust не установлен?Компоненты, которым нужен cargo, автоматически пропускаются, если Rust не найден, а остальная часть фреймворка собирается как обычно. Поэтому Rust — необязательная зависимость, а не обязательное требование.
Для кого это и где это на самом деле работает?Это создано для инженеров, которые разрабатывают бортовое и встраиваемое программное обеспечение. Оно ориентировано на небольшие космические системы, такие как CubeSat и SmallSats, но не ограничено ими. README отсылает к отдельному списку Supported Platforms с целевым оборудованием, в который, согласно темам репозитория, входит Raspberry Pi.
F ́ действительно летал в космосе?Да, в README сказано, что F ́ успешно развёрнут в нескольких космических приложениях. Он возник в Jet Propulsion Laboratory для реальных миссий, а не как теоретическое упражнение.
Есть ли в F ́ инструменты для тестирования?Да, он предоставляет инструменты для проверки бортового программного обеспечения как на уровне отдельных модулей, так и на уровне интеграции, наряду с инструментами моделирования и генерации кода.
Creator
nasa
Size
739.7 MB
Stars
11.8K
Age
9y
Commits · 90 Days