Expand description
Welcome to the onboard software for Team 03 — “Cache us if you can” competing in the 2024/2025 ESA Computer in a Room Challenge. This repository contains the embedded code running on the simulated MELVIN onboard computer, responsible for command execution, event detection, task scheduling and DRS communication during the mission.
Modules§
- console_
communication 🔒 - This module provides the main components for handling communication with the console.
It includes the
console_endpointmodule for managing console endpoints, theconsole_messengermodule for messaging functionality, and themelvin_messagesmodule for defining message structures and protocols. - flight_
control 🔒 - This module provides core components and functionality for the flight system, including the flight computer, flight state management, orbit calculations, and supervision logic.
- http_
handler 🔒 - This module provides core structs, enums, and utilities for interacting with the DRS backend system. It includes functionalities such as retrieving the objective list or the most recent observation.
- imaging 🔒
- This module provides various components and utilities for handling camera control, map and objective image buffering in the system.
- mode_
control 🔒 - This module provides the foundational components for mode control, including signal handling and mode context management, which are essential for implementing and switching between various operational modes in the implemented nested state machine.
- objective 🔒
- This module defines various objectives and their handling system. It includes algorithms for managing and interacting with beacon objectives, as well as zoned and secret objectives. Also this module contains the whole logic for beacon measurements and their filtering.
- scheduling 🔒
- This module provides the core components for managing tasks and decisions.
- util 🔒
- This module provides utilities and functionalities for mathematical operations, logging, and the controller keychain.
Macros§
Constants§
- DT_0 🔒
- Shared 0-length timedelta in chrono units
- DT_
0_ 🔒STD - Shared 0-length timedelta in std time units
- ENV_
BASE_ 🔒URL - Environment variable holding the DRS url
- ENV_
SKIP_ 🔒RESET - Environment variable indicating whether to skip the initial reset or not
- STATIC_
ORBIT_ 🔒VEL - Static orbit velocity for closed orbit
Statics§
- GLOBAL 🔒