GithubHelp home page GithubHelp logo

brhs17 / fprime Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nasa/fprime

0.0 0.0 0.0 235.45 MB

License: Apache License 2.0

Shell 0.28% Makefile 3.32% HTML 14.03% CSS 0.23% JavaScript 0.30% TeX 2.92% Roff 0.91% XSLT 0.01% Java 1.09% Python 13.35% C++ 52.04% C 0.35% Perl 0.22% Rich Text Format 10.96%

fprime's Introduction

F Prime: A Flight-Proven, Multi-Platform, Open-Source Flight Software Framework

F Prime (Fʹ) 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 Prime 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.

F Prime comprises several elements:

  • 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.

F Prime has the following key features:

Reusability

F Prime’s component-based architecture enables a high degree of modularity and software reuse.

Rapid Deployment

F Prime provides a complete development ecosystem, including modeling tools, testing tools, and a ground data system. Developers use the modeling tools to write high-level specifications, automatically generate implementations in C++, and fill in the implementations with domain-specific code. The framework and the code generators provide all the “boilerplate” code required in an F Prime deployment, including code for thread management, code for communication between components, and code for handling commands, telemetry, and parameters. The testing tools and the ground data system simplify software testing, both on workstations and on flight hardware in the lab.

Portability

F Prime runs on a wide range of processors, from microcontrollers to multicore computers, and on several operating systems. Porting F Prime to new operating systems is straightforward.

High Performance

F Prime utilizes a point-to-point architecture. The architecture minimizes the use of computational resources and is well suited for smaller processors.

Adaptability

F Prime is tailored to the level of complexity required for small missions. This makes it accessible and easy to use, while still supporting a wide variety of missions.

Analyzability

The typed port connections provide strong compile-time guarantees of correctness.

F Prime Resources

The Reference application is shipped as part of F'. Documentation for this reference application can be found here.

The full F' User's guide can be found here. In addition, the F' architectural overview can be found here.

F Prime Release Notes

Release 1.0:

  • This is the initial release of the software to open source. See the license file for terms of use.

Release 1.01

  • Updated contributor list. No code changes.

Release 1.1

  • Created a Raspberry Pi demo. Read about it here.
  • Added a tutorial here.
  • Updated Svc/BufferManager with bug fix
  • Fixed a bunch of shell permissionss

fprime's People

Contributors

timcanham avatar lestarch avatar brhs17 avatar genemerewether avatar dinkelk avatar jasonduley avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.