Skip to content
/ FS Public
forked from FP-Mission/FS

Main flight software code

Notifications You must be signed in to change notification settings

robinfru/FS

This branch is up to date with FP-Mission/FS:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8e4053f · Mar 29, 2021

History

18 Commits
Mar 26, 2021
Mar 29, 2021
Mar 29, 2021
Mar 29, 2021
Mar 24, 2021
Mar 29, 2021
Mar 29, 2021

Repository files navigation

FS - F' Flight software

This is the main repository of the CHESS flight software. It uses the NASA F' framework

Getting Started

Read F´ Discerning User’s Guide to discover the framework. Tutorials are a very good way to understand it.

More resources (Community Forum, Reference Application, F' Architecture Overview) are available on nasa.github.io/fprime

Follow this guide to start with CHESS FS development : Quick start guide

Prerequisites

  • Linux based OS (Ubuntu 18.04 via WSL2 in our case)
  • GCC compiler GCC 7.5.0
  • CMake 3.5 or newer (3.10.2 used)
  • Python 3.5+, PIP and Python Virtual Environment

Installing

See Quick start guide for details.

F' tools installation

python3 -m venv ./fprime-venv
. ./fprime-venv/bin/activate
python3 -m pip install --upgrade wheel setuptools pip
cd fprime
python3 -m pip install ./Fw/Python ./Gds

F' compilation

Before compiling, you need to know if the flight sofrware will be used with the FPrime GDS or PUS demonstrator

In ./App/CMakeLists.txt comment and uncomment your choice

add_definitions(-D_PUS)     # to use PUS with GS
#add_definitions(-D_GDS)    # to use F' GDS (without PUS)

fprime-util generate fprime-util build


Launch F' and GDS (Ground Software simulator)

Prerequisites
1. Run ADCS simulator
2. Run EPS simulator

fprime-gds


## simulators
### ADCS
#### Installing
​```bash
pip install python-statemachine

Running ADCS simulator

python3 ./simulators/ADCS/TcpMain.py

EPS

Installing

pip install python-statemachine
sudo apt install libsocketcan-dev pkg-config libzmq3-dev 

Running EPS simulator

sudo chmod +x ./simulators/EPS/zmqproxy
sudo ./simulators/EPS/zmqproxy &
export LD_LIBRARY_PATH=./simulators/EPS/packages/csp/lib && python3 ./simulators/EPS/CspMain.py

Demonstrator

Prerequisites

  1. Run ADCS simulator
  2. Run EPS simulator

Running Demonstrator

cd /gs/gs
cmake .
make 
./gs

The demonstrator is a TCP server. It will wait for a connection from Flight software and then, start sending and receiving packets

Running flight software with demonstrator

./App/build-artifacts/Linux/bin/App -a 127.0.0.1 -p 27015

Running the tests

In 05_FS/App run

fprime-util check --all

Deployment

FS can be build and deployed on a Raspberry Pi with

fprime-util generate raspberrypi
fprime-util build raspberrypi

You will need Raspberry Pi toolchain in /opt/rpi.

Binary generated in App/bin/arm-linux-gnueabihf/App can be launched on the Pi after having started GDS without application on Linux

fprime-gds -n

See GPS tutorial for details.

F' also provide a custom topology RPI to test it on a Raspberry Pi, see here.

Authors

About

Main flight software code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 70.1%
  • Shell 16.7%
  • CMake 13.2%