Code and Documentation for USST's second Canadian CUBESAT Project: The RADSAT-SK2/CUBICS Satellite
Welcome to the RADSAT-SK2 project's software sub-team documentation repository! This folder contains all the informal documentation related to the software development aspects of the project. Here, you will find valuable information, guidelines, and resources to assist you throughout the development process.
- Introduction
- Getting Started
- Project Structure
- Development Guidelines
- Contributing
- Resources
- Contact
The RADSAT-SK2 project is an exciting endeavor aimed at designing a 2U Cube Satellite. The software sub-team plays a crucial role in developing the software components that enable the satellite's functionality. This documentation serves as a knowledge base for team members and contributors, providing insights and instructions for the software development process.
To get started with the RADSAT-SK2 software sub-team, follow these steps:
-
Clone this repository to your local machine using the following command:
git clone https://github.com/USST-CUBICS/Software
-
Install any required dependencies as specified in the project's main repository.
-
Familiarize yourself with the project's overall structure, guidelines, and development practices outlined in this documentation.
-
Explore the available resources and references to enhance your understanding of the project.
The RADSAT-SK2 software sub-team repository is organized as follows:
- /src: Contains our custom source code developed specifically for the RADSAT-SK2 satellite.
- /kubos: A submodule of the Kubos repository, which provides the core flight software framework we're building upon.
- /radsat-linux: Contains our Buildroot configuration and customizations for the Linux-based operating system running on the satellite.
- /infrastructure: Contains scripts and configuration files for setting up development environments, deployment processes, and other infrastructure-related tasks.
- /docs: Contains project documentation, including API references, user guides, and technical specifications.
To maintain a consistent and efficient software development process, we follow a set of guidelines and best practices:
- Use descriptive and meaningful variable, function, and class names.
- Adhere to the project's coding style and formatting conventions.
- Write clear and concise documentation for your code.
- Test your code thoroughly to ensure reliability and accuracy.
- Comment on complex algorithms or implementation details to enhance code readability.
- Prioritize code reusability and modularity for better maintainability.
- Follow version control practices, including branch management and commit conventions.
- Collaborate with other team members and communicate effectively to foster a positive and productive work environment.
Please refer to the detailed development guidelines in the Guidelines.md file for further information.
We welcome contributions from anyone interested in improving the RADSAT-SK2 software sub-team's efforts. If you would like to contribute, please follow the steps outlined in the Contributing.md file.
Here are some helpful resources to assist you in your software development journey: