Working with commands
If you came to this doc you are either trying to make the interface pytests pass or you are working with commands! In both cases we will have to initialize and build the interfaces submodule that is found in backend/interfaces. As the name suggests, this folder acts as an interface between the backend and the firmware on the satellite, ensuring that all protocols used for communication between the Ground Station’s backend and satellite are the same!
Pre-requisites
Section titled “Pre-requisites”- You have
cmakeand a c-compiler installed
Getting interfaces to work
Section titled “Getting interfaces to work”-
From your repository root, let’s initialize the submodule with the following command:
Terminal window git submodule update --init --recursive -
Navigate to
backend/interfacesfrom root and create abuild/directory with the following commands:Terminal window cd backend/interfacesmkdir build/ -
Configure and build the interfaces with
cmakein thebuild/directory using the following commands:Terminal window cd buildcmake ..make -j 16 -
When you use the command
lsto list out directories you should see alibobc-gs-interface.sofile. This is called a Shared Object file and it contains a shared library that the ground station has python wrappers for. You can see these wrappers in thebackend/interfaces/obc_gs_interface/commands/pythonas well in some other directories ininterfaces. Anyways, now yourpytestsshould run as intended and you can work with commands!