Software Architecture

Relevant Software Stack (Need To be added to)

Overview of functionality

CDH software is responsible for OS level integration of other submodule. In a sense, CDH is the OS that runs the different sub-team applications

The function is FreeRTOS, which handles memory management, task scheduling, concurrency related issues.

Software Stack Diagram:

Untitled

Overall software operation modes and state machine:

The “CDH API”

This is the layer that is each application will interface with, in order to perform its function. It is needed for inter-process, or inter-application communication and also invoking any task.

The function of the API is to translate different commands from applications into concrete tasks to be executed by the OBC. This include: taking in parameters and creating the relevant task. Handing off the task to be executed by the underlying OS, and responding back with any status of the task

This part is not dependent on hardware

The OS

This is the main OS of the OBC, it is based on freeRTOS. Which handles all tasks that are to be executed. It will call any hardware functions and makes sure the entire system is running smoothly by sharing system resources between applications and making sure there are no concurrency issues.

This part is dependent on hardware