This repository contains the implementation of a simulated subsystem for a satellite using NASA’s F´ (F Prime) flight software framework. The objective is to build a component (CsvTM) that reads telemetric data from a CSV file and integrates it into an executable deployment (DeploymentSim) that can interact with the F´ GDS (Ground Data System). This guide explains how to launch the F' GDS interface, and see the channel CsvValue from the aforementioned component changing values every second, corresponding to the content in the file sim_data.csv.
Tested on Ubuntu 22.04 (native Linux and WSL2). No prior knowledge of F′ is required.
Install the minimal dependencies:
sudo apt update
sudo apt install -y \
git \
python3 \
python3-venv \
python3-pip \
cmake \
build-essentialgit clone https://github.com/PabloSarro/CHESS-MCS.git
cd CHESS-MCSThe repository already contains:
- the F′ project,
- the deployment,
- the simulation data,
- and all required configuration files.
Thus no project generation is needed.
python3 -m venv fprime-venv
source fprime-venv/bin/activateAll F′ tools and dependencies will live inside this environment.
pip install -r requirements.txtThis installs:
- F′ core tools,
- the F′ GDS,
- and all required Python dependencies.
No additional packages are needed.
Note: if you make changes to the existing project, start here immediately after saving your edits.
From the repository root:
fprime-util generate
fprime-util buildThis step:
- generates F′ sources and dictionaries,
- builds the
DeploymentSimexecutable, - prepares the artifacts required by the GDS.
It only needs to be repeated if the source code changes.
fprime-gdsAfter a few seconds, the terminal will print:
Launched UI at: http://127.0.0.1:5000/
Open that address in a browser. You should see:
- the F′ GDS interface,
- telemetry updating once per second from
sim_data.csv, - the
DeploymentSimexecutable running automatically.
To stop the system:
CTRL-C
If you restart immediately and encounter a temporary
Address already in use error, wait a few seconds and relaunch:
fprime-gdsCLion is not required to run the project. However, it may be used optionally for development and code editing, but it is outside the minimal execution path.