ISSUIUC / TARS-Software

Illinois Space Society's flight software codebase for the TARS avionics system
https://issuiuc.github.io/flightcode-docs/classes.html
19 stars 4 forks source link
avionics control-systems data-acquisition embedded rocketry sensor-fusion simulation telemetry

TARS Flight Software Repository

Illinois Space Society's flight software codebase for the TARS system.


Click to see a cool video!

Directory Structure:

Branch Naming Convention

Please use the following naming conventions when creating branches while developing:

Your <branch-name> should consist of the Trello ticket ID and a short description of the work being done. For example:

AV-420-write-cp-location-interpolation-function

Then use the following scheme to then organize your branches:

Some fictional examples:\ user/AyberkY/improve-lsm9ds1-spi-latency\ feature/create-mcu-state-estimation-thread\ bug/gps-thread-deadlock-fix\ general/create-new-directory-for-gnc\ misc/testing-sd-card-bandwidth

Please include the Trello ticket ID when relevant! i.e. for a ticket [AV-69] your branch might look like:

user/AyberkY/AV-69-graceful-failure-for-fifo-buffer or feature/AV-69-create-data-logger-class

Archiving Code Base Revisions

We should try to keep an archive of the version of code that ran on each rocket launch, so that we can associate the data we collected with the code that was running on TARS.

After every launch or major milestone, create branch with the following convention:\ archive/<month.day.year>-<milestone-or-launch-description>

For example: archive/09.01.21-start-of-2022-school-year

Code Style Guide

The repository now has a GitHub Actions instance that will automatically check for code style violations!

The Actions instance will not inhibit a pull-request from merging. It is merely there to encourage style consistency throughout our code base.

There is also an auto formatting script that will format your code for you! (its beautiful, you should use it) This means that you don't have to worry about coding to meet the style yourself, as you can simply run the formatting script before you commit/push your changes.

You can run the script on Linux, Mac, or WSL like so:

./run_clang_format.py -i -r .

Things to keep in mind about code formatting: