Welcome 👋 - this is the central repository for the Ex-alta 2 OBC, dubbed 'Athena'.
The software in this repository reflects the designs found in the Ex-Alta 2 Critical Design Review document, and separate folders contain software submodules for the Equipment Handlers (EH), Hardware Interface (HIL) and On-board services.
- ex2_hal/
- Software submodules for connected hardware devices. These submodules are responsible for implementing the hardware Equiment Handlers, and Hardware Interface Layer that will be used in the higher layers.
- ex2_services/
- Software defining the CSP listeners and service handlers that expose the satellite's functionality to the ground user.
- ex2_system/
- Collection of background tasks that do work during the satellite's operation
- libcsp/
- Submodule for the for the CSP network software.
- ex2_sdr/
- Submodule for the for the FEC encoding/decoding
- main/
- Main entry point, and LEOP sequence. All background tasks and third-part systems (i.e. Reliance Edge, FreeRTOS Sceduler, and CSP node) are initialized here.
- source/
- HalCoGEN generated source files including hardware drivers, and configurations
-
Set up an SSH key with GitHub. Instructions
-
Clone this repository and run the auto configure script:
./configure_repo.sh
Note: Justcd
into the submodule and change branches from there if you need some branch other thanmaster
-
Download Code Composer Studio v10
-
Create a new empty workspace folder on your computer (wherever you want, but name it differently than the repository name, so not 'ex2_obc_software')
-
Open Code Composer Studio to your workspace file
-
Import this code as a CCS Project: Select
File > Import
SelectCode Composer Studio
as your import wizard ChooseCCS Projects
Then browse the this repository, and select the discovered project SelectFinish
-
You can now build and debug, and flash this project to a Texas Instruments development board!
- Branches
- Branches must change or implement one feature
- Branches created from branches must be merged in the order they are created
- Branch Naming
- Branches are named as follows: <name_of_author>/<branch_type>/<description_of_branch>
- Branch types may be one of the following: {hotfix,bugfix,experimental,feature}
- Code style
- Code should be formatted with clang using settings in .clang-format