
The flight software that was loaded onto the main ARGUS board was written in micro python. The code can be found here: https://github.com/MITSatellite-Team/FSW-mainboard. It uses CMU's build scripts.
Before building the flight software to the ARGUS board, you must be connected to the board over USB-C and the board's file system must be named "ARGUS".
Additionally, if the build script is not finding the board, you might have to adjust the board path in the build_tools/build.py file. For example I had to change the path to
BOARD_PATH = f"/run/media/{username}/ARGUS"
because that is where Arch decided to mount the board.
To build and move the flight software to the ARGUS board, run:
./run.sh
To view the stdout stream from the board (where python print is displayed) and restart the board's software I used tio https://github.com/tio/tio/. You can also use minicom, but I had issues on my computer getting minicom to work. Run tio with the path to the device:
tio /dev/ttyACM0
In this case /dev/ttyACM0 is the path to the device. This is likely different on your computer, so consult Google to see how to find the correct path.
Once you've connected properly with tio, you should see debug output. You can stop the flight software with CTRL+C, and then restart it with CTRL+D.
We can run temporary python scripts on the board for testing specific functionality. First, we need to move the script to the board by copying the file to the root directory of the board's file system while still connected to the board. Once the script is on the board, we can use tio to execute the script and view the stdout stream (where python print is displayed).
exec(open("NAME_OF_FILE.py").read()flight/main.py is the what runs when the board boots up. We modified this to collect data and then transmit the data on loop.