Firmware Organization

The PAL 9000 firmware is based on PlatformIO, so the structure follows the PlatformIO project structure.

Environments

The environments directory contains the PlatformIO environments for the different PAL 9000 flight computers. Each environment is a differnt version of the PAL hardware and contains a platformio.ini file which specifies board specific settings for the environment.

Lib

The lib directory contains libraries which can be shared between all the PlatformIO environments for the PAL 9000. These libraries are most often sensor drivers and headers for peripheral wrappers like I2C and SPI.

Src

The src directory contains the platform specific code for each PAL board. The code written here is specific to the pinouts and available peripherals on a board. It contains drivers for peripherals that differ between the different microcontrollers used on the boards. This directory also contains the main program for the firmware.

Doc

The doc directory contains this Sphinx documentation for the PAL 9000 firmware. The documentation is hosted on Read the Docs at https://psp-pal-9000-firmware.readthedocs.io/en/latest/.