Software is the key for working hardware
We offer various software options providing different levels of freedom to the user. CubeSense and CubeControl are always supplied with their own closed source firmware flashed on their MCUs. This program has a full TC or TLM interface through which it can be controlled, and the user does not require access to the code. CubeComputer on the other hand is supplied with three software options, depending on the application – these options are displayed below.
Standalone Main OBC
If CubeComputer is used purely as a main OBC of a satellite, an open workspace is supplied. Within this workspace is a Board Support Package (BSP) which contains methods for the functionality that is typically used on the processor. This code is open source and can be included in the flight software as required.
ADCS OBC part of CubeADCS
Every CubeADCS contains a CubeComputer that controls all the parts of the bundle, collects sensor data, runs estimators and control algorithms, and commands the actuators. Such a CubeComputer uses the same BSP as in the standalone case, but has an Application Control Program (ACP) that wraps around this, to provide a TC or TLM interface and schedule the ADCS functions. Further, it calls functions from the ADCS library which run all the estimators and control algorithms. In this application all code is closed source and the client purely interfaces with the unit through a communication bus such as I2C, UART or CAN.