Getting Started Guide

Installation

This guide will take you through the installation process for FSDK. This guide covers the system requirements, installation steps, and initial setup to get you ready to start developing using FSDK.

FSDK provides two installation options to suit your needs:

  • Virtual machine setup (recommended for beginners)

  • Native installation on Linux (recommended for dedicated development)

System Requirements

Before installing FSDK, ensure that your system meets the following requirements:

Operating System

Ubuntu 18.04 LTS or higher

Hardware

  • 64-bit processor

  • 8+ GB of RAM

Build and Documentation Tools

  • GNU Make

  • CMake

  • Doxygen

  • GCC toolchain targeting your platform

Toolchains are provided for some target platforms, for example, ACS Kryten

Programming Languages

  • Python 3.7 or higher

  • Ruby 1.8 or greater

  • Java 11

The ground software included with FSDK won’t work with versions other than Java 11.

Virtualiser Software

VirtualBox is required for the virtual machine setup.

Virtual Machine Setup

A virtual machine image is provided for FSDK. It comes pre-installed with all the necessary tools and libraries required to start developing with FSDK.

Download the FSDK virtual machine image from the Bright Ascension download server using the credentials provided in the introductory email.

Open VirtualBox and select FileImport Appliance

Find and open the .ova virtual machine image. The machine is set up as dual-core, for better compatibility.

Adjust the virtual machine resources as needed to improve the performance.

Virtual Machine Credentials

Virtual machine credentials

Username

gen1-user

Password

BrightAscension

Native Installation on Ubuntu

This section will guide you through the installation of FSDK on a native Ubuntu system.

Download the FSDK distribution archive from the Bright Ascension download server using the credentials provided in the introductory email and extract the archive to a suitable location on your workstation.

Your FSDK directory structure should contain the following directories:

Show the FSDK directory structure
fsdk-22.2
├── Documentation
├── GNDSW
├── Licences
├── OBSW
├── readme.txt
├── release.txt
├── Tooling
└── version.txt

Installing the Unit Test Framework

The FSDK unit test framework requires the Unity and CMock tools.

Patched versions of these tools are included in the OBSW/Tools directory.

The RubyGems package manager is required to install Unity and CMock.

Use the following command to specify a writable location for RubyGems to be installed:

 export GEM_HOME=$HOME/.gem

Open a new terminal in the OBSW/Tools directory and use the following script to extract the tools, apply patches, and install RubyGems:

$ ./extract.sh

Use the following script to copy the Unity and CMock source files OBSW/Source/unity directory:

$ ./copy2lib.sh

Installing the codegen Command-line Tool

FSDK provides a command-line tool called codegen for generating code and managing FSDK projects.

These commands should be run from the Tooling directory, located at fsdk-22.2/Tooling:

Set the tooling directory path:

 tooling_dir=$(dirname "$0")
 tooling_dir="$(realpath $tooling_dir/)"

Define the man page to be installed:

 man_pages=( "codegen.1" )

Create the target directory for man pages if it doesn’t exist:

 sudo mkdir -p /usr/local/share/man/man1/

Install the man page:

 sudo cp $tooling_dir/manuals/codegen.1 /usr/local/share/man/man1/

Update the man page database:

 sudo mandb

Add the tooling’s bin directory to the PATH in .bashrc:

 echo "export PATH="$PATH:$tooling_dir/bin/"" >> ~/.bashrc
Show the expected output
NAME
       codegen - a tool for generating code and documentation relating to spacecraft operations

SYNOPSIS
       codegen [type] [operation] [path] [options]

DESCRIPTION
       This manual page documents the codegen tool. This tool will run a specific code generator according to the command type given. This page describes the command-line interface options to configure and run the internal code generation tooling.

       Default behavior when no options are given:

       • generate files that are not designed to be user modifiable, overwriting any existing files

       • generate user-modifiable files (such as init files) ONLY if not present on disk

(Optional) Installing Toolchains

Toolchains, if required, should be extracted and placed somewhere suitable (for example, /opt), ensuring that the binary sub-directory is on the path.

The FSDK provides a single toolchain for the ACS Kryten platform and the PC1.5, which can be found in the OBSW/Toolchains directory.

Refer to the ACS Kryten Platform Guide and NanoAvionics PC1.5 Platform Guide in the FSDK User Manual for further information on how to install toolchains.