Whistler Blackcomb Flight Computer Firmware
This is a repository with the code for the UBC Rocket Whistler Blackcomb flight computer. A compiled version of it should hopefully at some point be in space.
Project Structure
This is a high level overview of the file structure we use for this project. Any folders not mentioned here are libraries/drivers that are not custom developed.
- board
- Generated files by MCUXpresso for pin configuration
- common
- Code that is shared between x86 and board implementations, i.e. logic code
- data
- Misc. files used for testing or logging
- doc
- Project documentation in markdown
- envs
- Hardware abstraction layer that calls hardware level functionality directly
- source
- Main program entrance point
- test
- tools
- Misc. tools for ease of development
Project Documentation
All documentation is currently kept in the doc/ directory. Note that although this is the firmware repository, all documentation for the wb-avionics subteam is located here for ease of finding things.
Onboarding Documents
- General new members guide. Read this first.
Firmware Project Setup
- MCUXpresso project setup guide.
- x86 Compilation explanation and setup guide.
- Setting up Windows compilation with Cygwin guide. This is only strictly necessary if you want to be able to do software-in-the-loop testing with groundstation.
- Setup for RTT debugging guide.
Firmware Concept Guides
- Uploading code from MCUXpresso to our board guide
- Miscellaneous bugs and unexpected interactions that you want to warn people about should go in this list.
- How continuous integration works and how to access ours in this guide.
- FreeRTOS installation and usage guide.
- Radio system guide.
- CAN communication guide
Legacy Functionality
- Uploading to Teensy guide.