Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
colbycheese55 committed Sep 22, 2024
2 parents 71b99bc + 89d5cac commit 9afebba
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 7 deletions.
21 changes: 19 additions & 2 deletions HI/CadLabRepositorySetUp.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,27 @@
---
title: CadLab Repository Structure
title: CadLab Repository Structure for Rivanna 3
nav_order: 4
parent: Hardware Integration
has_children: false
---
# Introduction
After much request and suffering, we have updated the CadLab repository structure. Please read on to see the amazing new updates to streamline HI schematic and PCB design.

**cad lab repo strucutre**
## Submodules
Submodules are leveraged where they are imported libraries that we can set a pointer to a specific commit. When specifying this pointer, we are given the option to use everything that has been implemented and added in that commit. It exists as a simpler way to prevent constant merge conflicts. At the surface level, submodules allowing for nesting of repositories based on commit history.

All libraries used in the PCB design layout will be included as submodules. In our PCB implementation, there will be 3 submodule folders corresponding similarly with the Rivanna 3 CadLab repo. The three submodule libraries will be titled the Telemetry, STM and Power Board. The Telemetry submodules will contain all library needs for the telemetry board. The same thing will occur for the power board. The STM submodule will contain library items that are need for all boards across the car. This submodule contains generalized parts that are used everywhere.

For more information on submodules, follow this [link](https://www.youtube.com/watch?v=8Z4Cmhji_FQ).
[Official Documentation for Submodules and Git](https://git-scm.com/book/en/v2/Git-Tools-Submodules)


## Rivanna 3 Repo Structure

For the PCB boards, there are three folders: Experiments, General and STM boards. The Experiments folder will contain any boards that we create and want to run testing on. This is group of boards that will siply exist for the reason to try out new ideas and create new innovative ways to approach board design for the car. The General boards folder contains any boards that are placed across the car such as a Modular STM board ( allows for the attaching and detaching of the STM) and the distribution boards. The STM boards folder is comprised of the Power, Telemetry and Template boards. The boards in this folder are grouped together based on the usage of STM. The Power and Telemtry folder will have it srespective layouts while the Template folder within the STM boards folder will have generalized designs on it. When adding in or editing things within the repository, make sure to do so with a branch that specifies the name of what is getting implemented.

**TLDR**

If you have not had a chance to read any of the information above, this is the most important thing takeaway: The repository is structured due to function and library usage with nested folders specifying exactly what should go in the folder.


32 changes: 27 additions & 5 deletions HI/SoftwareSetUp.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,14 @@ Before we getted started on CadLab features, make sure your github and cadlab ac

To continuously access CadLab seamlessly, please bookmark the Solar Car at UVA Cadlab main directory page. This will make it easier to go between repositories.

For the next couple steps, make sure to have CadLab bookmarked and Git installed on your local device. First you would go into the Solar Car CadLab repository and access the specific directory. For the 2024-2025 academic, please access Rivanna_3.
**set up the cadlab repository onto your own device**
For the next couple steps, make sure to have CadLab bookmarked and Git installed on your local device. First you would go into the Solar Car CadLab repository and access the specific directory. For the 2024-2025 academic, please access [Rivanna_3](/solarcaratuva.github.io/HI/CadLabRepositorySetUp.md).

### Setting up the CadLab Repository onto Local Desktop

1. Open the desired repository directory.
2. Copy the Git URL in the top left of the page as seen in the image below. When copying over the Git Url, make sure to access the right branch to be copied over. We will discuss this in detail later on this page.
![image](/solarcaratuva.github.io/HI/images/Screenshot%202024-09-21%20at%204.06.02 PM.png)

![image](/solarcaratuva.github.io/HI/assets/images/Screenshot%202024-09-21%20at%204.06.02 PM.png)

3. On your local desktop, create a folder to house all Solar Car files to ease the transition and keep everything clean.
mkdir Solar_Car_UVA
Expand All @@ -51,11 +52,32 @@ To streamline the concept of branching, the following section explores how branc

**concept of branching in CadLab**

Within CadLab, there are two types of branching that can be created: a version branch or a feature branch. To create a new branch, click on the plus button in the top left corner of the screen. It will get you to the following page:

![image](/solarcaratuva.github.io/HI/assets/images/Screenshot%202024-09-22%20at%2012.33.08 PM.png)

For our intents and purposes, most branches created will be implmeneitng a feature of the PCB boards. When we finish and deploy a set of PCB boards to production then we will create a version branch for the next iteration of the boards. Unless otherwise specified, make sure to create a feature branch. The name of the branch will be the thing you are trying to implement. The source branch will be specified so make sure to be using the right branch that you want to branch off of.

## KiCad
Once CadLab has been set-up and the files from the repository are pulled to your local device, make sure to have a folder structure to be able to organize all the files you will be needing to keep track of in Solar Car. It is better to set this up earlier than later to maintain the maximum efficiency.

### Downloading KiCad
1. The first step to download files is to follow this [link](https://www.kicad.org/download/)
2. Specify the operating system used by your laptop and folow the set-up instructions given by KiCad

After KiCad is downloaded, you want to make sure that you are working on the predefined PCB and schematic files. We will discuss how to open them in the next section.

### Opening Files in KiCad

1. Open your KiCad program
2. You will see the following screen. You want to click on the second icon from the top on the left most side bar.

![image](/solarcaratuva.github.io/HI/assets/images/Screenshot%202024-09-22%20at%2012.41.53 PM.png)

**Note** A file has already been uploaded in the above screenshot. This is not a default screen.
3. Specify the file/folder you want loaded into KiCad by giving it the directory path to it. The file will be of .kicad_pro type file.
4. Now that the file has been opened onto KiCad, you should be able ot see everything associated with that board. Feel free to move in between the files. Everytime you are done, make sure to push your changes to the CadLab repository so everyone can have access to the latest changes.

**Note:**
To create a new file in KiCad from scratch, access the icon above the one listed above. It will be the top most icon on the left most side of the page.

**download steps**
**How to open a file**
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9afebba

Please sign in to comment.