LORIS is a 2U CubeSat being developed by Dalhousie University. LORIS's payload features two cameras; one which takes pictures using visible spectrum light and a second which takes pictures using near-infrared light (NIR). This repository contains all source code for the Core Software System (CSS) that will run on the satellite's on-board computer (OBC). It's primarily written in C++, while making use of other languages such as the BASH scripting language. The CSS is responsible for holding all data generated by every external subsystem, storing all generated data, issuing commands to subsystems to change their state, and completing missions received from an external sender in a way that the satellite maintains a nominal state.
The entire repository contains code for three distrinct parts: Core, Emulation, and Ground Station.
The Core code is what will be used on the OBC of the satellite. It contains all logic necessary for ensuring successful, autonomous operation of the satellite.
Using Google C++ conventions. Reference here:
https://google.github.io/styleguide/cppguide.html
Using the following Git model for development, testing, hot-fixes, and merging: https://nvie.com/posts/a-successful-git-branching-model/?
build – Output executables (“targets”). The suffix _d
indicates debug version.
docs – Project’s documentation, auto-generated.
src – Source files of the project with subdirectories if needed.
|- api - Standard IPC library and IPC client library.
|- client - Binary for client testing.
|- dock - Binary for the dock (runs all of the modules).
|- modules - Contains source code and headers for dock modules.
ALL SUBDIRECTORIES
inc - Contains public .h
or .hpp
files.
src - Contains .c
or .cpp
files.
|- inc - Contains private .h
or .hpp
files.
.gitignore – Prevents adding binary and temporary files to the git repository. LICENSE – Describes how this project can be used and distributed. README.md – General information about the project in Markdown format.
Have a look at Compiling the repo for instructions on how to compile the repo.
You may find the code documentation at http://cubesat.alexamellal.com . If you wish, you can generate the documentation yourself by running:
doxygen Doxyfile