Software is 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. 

7

1. 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.

 

7

2. ADCS OBS part of CubeADCS bundle

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.

 

7

3. Unlock ADCS OBS part of CubeADCS bundle

We also offer the option to use the CubeComputer inside a CubeADCS bundle for more functions than just the ADCS. In this case the user has access to the BSP and ACP source code in a software workspace. The user can implement flight software on the CubeComputer or just extend the functionality of the ADCS OBC to do extra tasks in the satellite. The ADCS library is provided as a closed source compiled library with functions that must be called from within the program running on the computer. Certain guidelines must be followed to ensure proper operation of the ADCS, and the user takes over the responsibility of ensuring that the software on CubeComputer runs reliably.

7

1. 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.

 

7

2. ADCS OBS part of CubeADCS bundle

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.

 

7

3. Unlock ADCS OBS part of CubeADCS bundle

We also offer the option to use the CubeComputer inside a CubeADCS bundle for more functions than just the ADCS. In this case the user has access to the BSP and ACP source code in a software workspace. The user can implement flight software on the CubeComputer or just extend the functionality of the ADCS OBC to do extra tasks in the satellite. The ADCS library is provided as a closed source compiled library with functions that must be called from within the program running on the computer. Certain guidelines must be followed to ensure proper operation of the ADCS, and the user takes over the responsibility of ensuring that the software on CubeComputer runs reliably.