Package: cfs-basecamp
core Flight System (cFS) BasecampcFS Basecampprovides a lightweight environment to help you learn NASA’s core Flight System (cFS) and create app-based solutions for your projects. Basecamp's default cFS target runs on Linux and includes an app suite that provides a complete operational environment including support for onboard file management and transferring files between the ground and flight systems. The built-in hands-on tutorials allow you to be immediately productive. TheOpen Mission Stackwebsite contains cFS educational material that includescFS-based projects. These goal-oriented software/hardware projects rely oncFS Basecamp's Appsto provide the project functionality.  The cFS Basecamp Python GUI automates the app integration process.This 'App Store' approach is made possible by using a standard application framework that includes runtime JSON initialization files and by using thecfe-eds-frameworkcFS distribution that includes a CCSDS Electronic Data Sheets (EDS) toolchain. Each cFS application interface is defined using EDS specifications and the cfe-eds-framework build toolchain generates artifacts that are used by both the flight and ground software systems. App specification and packaging standards are being defined that will allow the cFS community to easily share apps.For users who are working on a flight mission, thecFS Platform Listprovides links to additional cFS ports. Currently, there is no automated transition process from Basecamp’s command and telemetry GUI to a fully functional ground system.Getting StartedPrerequisitesThe system can be developed on any GNU/Linux development host. The following commands install the development packages for
a Debian/Ubuntu environment. Other Linux distributions should provide a similar set of packages but, the package names and
installation tool names may vary. If you're running on a Raspberry Pi with a 32-bit Raspbian operating system please refer to
thecFS Raspberry Pi LED Control Projectfor details on how to configure and build the cFS.sudo apt-get update -y 
sudo apt-get install -y build-essential
sudo apt-get install -y cmake
sudo apt-get install -y libexpat1-dev
sudo apt-get install -y liblua5.3-dev
sudo apt-get install -y libjson-c-dev
sudo apt-get install -y python3-dev
sudo apt-get install -y python3-pip
sudo apt-get install -y python3-tk
sudo apt install -y default-jrePackage Notes:sudo apt-get updateupdates a platform's current package respositoriesbuild-essentialcontains a C developer tool suite including gcc, libc-dev, make, etc.*cmakemust be at least v3.12 (This excludes Ubuntu 18.04 and earlier)liblua5.3-devmust be at least v5.1You can skip installing pip and replace the 'pip3 install' below with 'python3 -m pip install'The Java Runtime Environment (JRE) is required to run the cFS performance monitorThe python appplication usesPySimpleGUI,Requests,paho-mqtt, andNumPythat can be installed with the following command:pip3 install PySimpleGUI requests paho-mqtt numpy pymupdfClone Basecamp Repositorygit clone https://github.com/cfs-tools/cfs-basecamp.gitUsing BasecampBuild the core Flight System TargetThis must be done prior to running the python ground system because it creates python libraries that define the cFS app interfaces.cd cfs-basecamp/cfe-eds-framework
make SIMULATION=native prep
make topicidsRun the Python Ground System Applcationcd ../gnd-sys/app
. ./setvars.sh
python3 basecamp.pyNext Steps