Skip to content

Simulation environment for the CHESS Mission, built on the NASA F' framework, designed by the EPFL Spacecraft Team.

Notifications You must be signed in to change notification settings

CHESS-mission/CHESS-MCS

Repository files navigation

CHESS-SIM Quick Start Guide

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.


1. System prerequisites

Install the minimal dependencies:

sudo apt update
sudo apt install -y \
  git \
  python3 \
  python3-venv \
  python3-pip \
  cmake \
  build-essential

2. Clone the repository

git clone https://github.com/PabloSarro/CHESS-MCS.git
cd CHESS-MCS

The repository already contains:

  • the F′ project,
  • the deployment,
  • the simulation data,
  • and all required configuration files.

Thus no project generation is needed.


3. Create and activate the Python virtual environment

python3 -m venv fprime-venv
source fprime-venv/bin/activate

All F′ tools and dependencies will live inside this environment.


4. Install Python dependencies

pip install -r requirements.txt

This installs:

  • F′ core tools,
  • the F′ GDS,
  • and all required Python dependencies.

No additional packages are needed.


5. Generate and build the project

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 build

This step:

  • generates F′ sources and dictionaries,
  • builds the DeploymentSim executable,
  • prepares the artifacts required by the GDS.

It only needs to be repeated if the source code changes.


6. Run the F′ Ground Data System (GDS)

fprime-gds

After 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 DeploymentSim executable running automatically.

7. Stopping and restarting

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

8. Optional: Development with CLion

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


About

Simulation environment for the CHESS Mission, built on the NASA F' framework, designed by the EPFL Spacecraft Team.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors