Quick Start Guide

This guide provides a minimal, step-by-step tutorial to build, run, and interact with the Core Flight System (cFS) on a standard Linux host. This allows you to see the system in action and verify your setup is correct.

1. Build and Run cFS

These instructions will compile the cFS framework and the included sample applications for the pc-linux platform.

  1. Prepare the Build Environment

    From the root cFS directory, run the prep target. This configures the CMake build system. We specify SIMULATION=native to build for the host Linux system.

    make SIMULATION=native prep

    For subsequent builds, it's good practice to start with a clean environment:

    make distclean
    make SIMULATION=native prep
  2. Compile the Code

    This command builds all the components.

    make
  3. Install the Executables

    This command copies the compiled executables and necessary files to the build/exe/cpu1 directory.

    make install
  4. Run cFS

    You must run the executable from its installation directory so it can find the startup script (.scr) and shared object libraries.

    cd build/exe/cpu1/
    ./core-cpu1

    Upon execution, you should see a series of startup messages from the various cFS components, culminating in a message indicating that CFE_ES_Main has entered the OPERATIONAL state. The application will continue running in your terminal.

2. Interact with cFS using the Ground System

With cFS running, you can use the included cFS-GroundSystem tool to send commands and receive telemetry.

  1. Install Ground System Dependencies

    The ground system is a Python application and requires PyQt5 and PyZMQ.

    # Example using pip
    pip install PyQt5 PyZMQ
    

    Note: Some systems may also require installing libcanberra-gtk-module via your system's package manager.

  2. Compile the Command Utility

    Navigate to the cmdUtil directory and compile it. This utility is used by the Python ground system to send commands.

    # From the root cFS directory
    cd tools/cFS-GroundSystem/Subsystems/cmdUtil
    make
    
  3. Launch the Ground System

    Go back to the cFS-GroundSystem root and run the Python application.

    cd ../..
    python3 GroundSystem.py
  4. Connect to cFS

    In the cFS Ground System window:

    • Click Start Command System.
    • Click Enable Tlm.
    • Enter the IP address of the system running cFS. If you're running it on the same machine, use 127.0.0.1.
    • Click Start Telemetry System.

    You should now see telemetry packets appearing in the ground system's display. You can try sending No-Op commands to various applications (like CFE_ES) and observe the command counters incrementing, confirming a successful end-to-end data loop.