Workshop project for the FSFW. Get started from a simple hello world application.
Go to file
2022-09-28 20:03:08 +02:00
01-tasks change the structure a bit 2022-09-28 19:53:31 +02:00
finished init README 2022-09-02 10:00:13 +02:00
fsfw@62f638a3d2 first chapter done 2022-09-28 19:44:30 +02:00
.gitignore starting impl 2022-09-02 09:58:43 +02:00
.gitmodules init fsfw-from-zero 2022-09-02 08:39:20 +02:00
CMakeLists.txt change the structure a bit 2022-09-28 19:53:31 +02:00
FSFWConfig.h continue workshop 2022-09-28 18:35:15 +02:00
main.cpp change the structure a bit 2022-09-28 19:53:31 +02:00
README.md extend README 2022-09-28 20:03:08 +02:00

FSFW From Zero Workshop

This workshop gives an introduction to the Flight Software Framework, starting from a simple hello world program in C++. As such, it it also suitable for C++ beginners.

Start by cloning this repository and updating the submodules to also clone the Flight Software Framework:

git clone https://egit.irs.uni-stuttgart.de/fsfw/fsfw-from-zero.git
git submodule init
git submodule update

Building the Workshop Application

This workshop uses CMake like the framework to build the application

This command sequence will build the software

mkdir build
cd build && cmake ..
cmake --build . -j

This will generate the fsfw-from-zero executable inside the build folder. It is recommended to use an IDE like VS Code or CLion. Those generally have good CMake support.

Overview

This workshop is organised in chapters which have multiple tasks. For each task, solution source files will be provided but you are encouraged to work to the solution on your own.

It is recommended to have a basic understanding of C++ basics and object-oriented programming in general before doing this workshop. There are various books and online resources available to learn this.

Tasks workshop

This chapter provides an introduction into the thread/tasks abstractions provided by the framework. The chapter descriptions and solutions are located inside 01-tasks.

It is recommended to start with this workshop.

Object Manager and TMTC handling workshop

This chapter will introduce the object manager and expand the knowledge of the tasks workshop by showing how to conveniently create global addressable objects. It also provides an introduction into TMTC handling, as virtually all space systems are remote systems where telemetry and telecommands are the pŕimary data interface available to communicate with the satellite.

Controller workshop

This chapter will introduce the ControllerBase and ExtendedControllerBase class and the various helper interfaces they expose.