Skip to main content
warning

🚧 This document is still being actively worked on and is subject to change. 🚧

Responsible
  • Gianluca Ielpo
Last Updated10/12/2025, 12:48:54 PM
Last AuthorKai Berszin

Architecture

Goals​

The main goal of this document is to describe the overall structure of the flight software, and how the components interact with each other. The detailed description of each component is in the corresponding implementation folder.

Building Blocks​

The OBC SW uses FreeRTOS as the real time operating system and the STM HAL for communication with HW. FreeRTOS provides the necessary features to design and build reliable flight software. This includes tasks, queues, mutexes, and scheduling.

Overview​

The following figure shows an overview of the SW structure. Many components are implemented as FreeRTOS tasks.

loading...

Inter Tasks Communication​

To enable inter task communication we introduce the SBUS (software bus) build on top of FreeRTOS queues. It allows for a standardized easy to use publish-subscribe communication system. More details on its design can be found at inter_task_communication#sbus.

Furthermore, we standardize "services" that are provided by tasks (e.g. drivers) and offer API functions for their use. These API functions perform the communication on the SBUS and handle relevant errors. More details on that can be found at inter_task_communication#services.