Skip to content

Commit 33b403c

Browse files
committed
added a bunch of faq stuff
1 parent 2ef7320 commit 33b403c

File tree

9 files changed

+146
-38
lines changed

9 files changed

+146
-38
lines changed

docs/_assets/images/bash_term.png

15.8 KB
Loading
37.7 KB
Loading

docs/_assets/images/rmdir.png

8.08 KB
Loading

docs/_assets/images/sample_dir.png

39.9 KB
Loading

docs/_sections/_guide-FAQ/competition_logistics.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,8 @@ TODO address given materials not being enough to finish mechanical challenge as
2323

2424
## Do you have x item?
2525

26-
TODO make list of things
26+
TODO make list of things
27+
28+
## Where can we store our robot in the RAS office?
29+
30+
TODO

docs/_sections/_guide-FAQ/technical.md

Lines changed: 114 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,14 @@ nav_order: 1
1111
Ensure their portable vscode installation is located in a path without spaces
1212
Document instance where they have spaces in name
1313
- Solution is to move project directory to C drive
14-
Document reading the error messages (i.e. starting from the first error culprit fixes ones below etc etc)
15-
14+
TODO: Document reading the error messages (i.e. starting from the first error culprit fixes ones below etc etc)
1615

1716
## What is the difference between cloning using HTTPS and SSH?
1817
HTTPS (Hypertext Transfer Protocol Secure) and SSH (Secure Shell) are both data transfer protocols used in networking
1918

2019
The main reason why you should use SSH over HTTPS is that you can push code to your repositories without having to input credentials each time (HTTPS requires credentials each push, which is annoying).
2120
TODO elaborate more
2221

23-
## How do I navigate the bash terminal for Robotathon?
24-
2522
## How do I find out what my controller’s Bluetooth address is?
2623
1. Plug in your ESP32 and flash it with the starter code in your forked repository if you haven't already
2724
1. Open the serial monitor
@@ -44,7 +41,8 @@ There is a maximum storage of 4 Bluetooth addresses in the allow-list. Simply re
4441
If this fails, then try [hard resetting your ESP32’s flash memory](https://randomnerdtutorials.com/esp32-erase-flash-memory/)
4542

4643

47-
## I tried doing the above, but my controller isn’t connecting! How do I troubleshoot?(See the [official docs](https://bluepad32.readthedocs.io/en/latest/FAQ/#:~:text=true)%3B%0A%7D-,Using%20allowlist%20commands%20from%20the%20USB%20console,%C2%B6,-Note)
44+
## I tried doing the above, but my controller isn’t connecting! How do I troubleshoot?
45+
See [BluePad32's official docs](https://bluepad32.readthedocs.io/en/latest/FAQ/#:~:text=true%3B%0A%7D-,Using%20allowlist%20commands%20from%20the%20USB%20console,%C2%B6,-Note)
4846

4947
This is probably an issue with BluePad32’s whitelisted connections. You will not be able to connect your controller to the ESP32 without adding your controller’s Bluetooth address to the whitelist.
5048

@@ -65,13 +63,119 @@ If that fails, close VS Code and reopen it.
6563
If *that* fails, then check if there are any other applications on your computer that are occupying the COM port (extreme solution is to restart computer).
6664

6765
## How to calibrate the QTR line sensor?
66+
TODO write this or link somewhere
6867

69-
<!-- ## Why doesn’t anything show up when I try printing to the serial monitor? -->
70-
<!-- idk if this is actually na issue?? -->
68+
## How does the ESP-IDF build system work?
69+
This information is not required for the competition, but it can be good to know if you'd like to continue IoT develpoment with Espressif MCU's.
7170

71+
Here is a link to their official documentation: [https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#component-requirements](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#component-requirements)
7272

73-
# How does the ESP-IDF build system work?
73+
## What is ESP-IDF?
74+
ESP-IDF (**Esp**ressif **I**oT **D**evelopment **F**ramework) is the official development framework for building applications for Espressif's ESP32 microcontroller series.
7475

75-
This information is not required for the competition, but it can be good to know if you'd like to continue IoT develpoment with Espressif MCU's.
76+
For Robotathon, you will use the VS Code ESP-IDF extension to develop your robot's software.
7677

77-
Here is a link to their official documentation: [https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#component-requirements](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#component-requirements)
78+
## How do I navigate the Git Bash terminal?
79+
You will primarily use the `ls` and `cd` commands to navigate to your Git repository.
80+
81+
By default, Git Bash starts up in your user's folder in Windows as denoted by the tilde `~`. This **path** will change as you move through directories using `cd`.
82+
83+
Here is a little exercise to navigate to a sample directory in desktop and create a folder:
84+
85+
1. Navigate to your Desktop directory (a.k.a. folder) in Git Bash by using a combination of `ls` and `cd`.
86+
1. Type `mkdir [directory name]`
87+
88+
* The pictures below demonstrate navigating to an existing `sample` directory on the `Desktop` directory
89+
* Typing `cd Desktop/sample` would have achieved the same result as `cd Desktop` `cd sample`
90+
<img src="{{ '/_assets/images/before_sample_dir.png' | prepend: site.baseurl }}" alt="before_sample_dir :(">
91+
<img src="{{ '/_assets/images/bash_term.png' | prepend: site.baseurl }}" alt="bash_term :(">
92+
<img src="{{ '/_assets/images/sample_dir.png' | prepend: site.baseurl }}" alt="sample_dir :(">
93+
94+
1. Navigate back a directory by typing `cd ..`
95+
1. Remove the newly created (empty) folder by typing `rmdir [directory name]`
96+
<img src="{{ '/_assets/images/rmdir.png' | prepend: site.baseurl }}" alt="rmdir :(">
97+
98+
In a similar fashion, Git commands require you to navigate to your Git repository's directory!
99+
100+
## What is a Bash terminal?
101+
The Bash terminal is a **command-line interface** (CLI) where you type in various commands to execute tasks. The main use for Git Bash in Robotathon will be for Git and file management. While you could get away with your OS's native file explorer GUI, you can do everything and more with the Bash terminal!
102+
103+
Some of the most important commands include:
104+
* ls (list files)
105+
* cd (change directory)
106+
* mkdir (create directory)
107+
* rm (remove files)
108+
* cp (copy files)
109+
* mv (move or rename files)
110+
* cat (display file contents)
111+
* grep (search for patterns in files)
112+
113+
You can use various `options/flags` to change the functionality of commands.
114+
115+
For example, `rm` by default can only delete single files, while `rm -rf` can delete entire folders.
116+
117+
## What is Git?
118+
**Git** is a tool used for source/version control, which is the process of tracking changes to files over time.
119+
120+
It allows you to:
121+
122+
* Easily share code or other files with teammates
123+
* Keep a history of your project
124+
* Revert to previous versions if needed
125+
* Work on new ideas or features without affecting the main project
126+
127+
A **repository** (or repo) is where all your files and their history are stored. Repositories can be stored locally on your computer or in a cloud service like GitHub or GitLab.
128+
129+
Git is especially helpful for teams because it tracks who made what changes and makes it easier to collaborate without overwriting each other’s work. This ability is indispensable for developing larger projects, especially in industry.
130+
131+
Note that Robotathon aims to give you a *basic* understanding of how Git/GitHub works. The whole picture is a lot more complicated and can take a bit of effort to learn!
132+
133+
## How do I make changes to my repository on GitHub?
134+
135+
1. Make changes to your local files
136+
1. Navigate to your repo's root directory in Git Bash
137+
1. Check your repo's status to see what will be added
138+
1. Run `git add .` to stage your changes [What is staging?](TODO write this)
139+
1. Run `git commit -m "message here"` to **commit** your change to your *local* repository
140+
1. Run `git push` to write your changes to the *remote* repository on GitHub
141+
142+
TODO add picture
143+
144+
## What is staging in Git?
145+
Instead of having to push every little change to your repository, you can group them into a collection of changes called a **commit**, which serve as a snapshot of the project's state.
146+
147+
The **staging area** in Git is where you can manage your changes before saving them to your commit.
148+
149+
For example, if you accidentally stage a file or change that you don't want in your commit (i.e. a build directory), you can simply remove it from the staging area by running `git restore --staged <file>`.
150+
151+
Once you verify that everything you want to commit is shown in `git status`, you can proceed to **commit** to your local repository and then **push** your local repository to GitHub.
152+
153+
## What is a Git branch?
154+
In Git, a **branch** is essentially a separate line of development within your project. Think of it like a parallel path you can take to work on something without affecting the main line of development.
155+
156+
You can then make changes and commit them to this branch without affecting the original branch (can be any).
157+
158+
Once you're finished working on a branch (i.e. a new feature, bug fix), you can **merge** it back into the original branch by starting a **pull request** on GitHub [How do I do that?](TODO write this)
159+
160+
Oftentimes this original branch is your `main` or `master` branch (though `main` is the recommended and default GitHub name), which is your project's stable version.
161+
162+
## What is a Git clone?
163+
164+
`git clone` is a command that creates a copy or _clone_ of a repository from a hosting service (i.e. GitHub, GitLab) to your computer's local storage.
165+
166+
When you clone a repository, you’re downloading all the files, the commit history, and the current state of the project so that you can work on it locally. It’s like taking a snapshot of a project from the remote server (like GitHub) and bringing it into your workspace.
167+
168+
{: .highlight}
169+
Note that a cloned repository does **not** automatically update to reflect newly pushed commits to GitHub! To update and merge any changes, simply run `git pull` in your repostiory's root directory (i.e. `RobotathonESP32`)
170+
{: .callout-blue}
171+
172+
173+
## What is a Git fork?
174+
A repo fork is like making your own personal copy of someone else’s project. When you fork a repository, you’re creating a separate version of it in your GitHub account so that you can make changes without affecting the original project.
175+
176+
You might fork a repo to experiment, add new features, fix bugs, or contribute to an open-source project. It lets you work independently of the original repo while still having access to its code and history.
177+
178+
## What is the difference between a Git repo fork and clone?
179+
Forks are copies of a repo on GitHub (remote), while clones are repos stored on your computer (local).
180+
181+
## What is the SiLabs USB-UART driver for?

docs/_sections/_guide-checkpoints/design.md renamed to docs/_sections/_guide-checkpoints/chassis-design.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,29 @@
11
---
22
layout: default
3-
title: Design
3+
title: Chassis Design
44
nav_include: true
55
nav_order: 4
66
---
77

88
<img src="{{ '/_assets/images/my_image.png' | prepend: site.baseurl }}" alt="my_image.png :(">
9+
910
***replace with smth smth design***
1011

1112

1213
To pass this checkpoint, your design should meet the following requirements:
1314
* A drawn picture (does not have to be detailed) that shows where you plan to place each component
1415

1516
Component list: TODO update
16-
1 Battery pack
17-
1 Dual Motor Driver
18-
2 DC Motors
19-
1 Servo
20-
1 Caster Wheel
21-
1 Line Sensor
22-
1 Color Sensor
23-
1 IR Distance Sensor
24-
1 White LED (color sensor) TODO elaborate or link smth here
25-
1 ESP32 on breadboard
17+
* 1 Battery pack
18+
* 1 Dual Motor Driver
19+
* 2 DC Motors
20+
* 1 Servo
21+
* 1 Caster Wheel
22+
* 1 Line Sensor
23+
* 1 Color Sensor
24+
* 1 IR Distance Sensor
25+
* 1 White LED (color sensor) TODO elaborate or link smth here
26+
* 1 ESP32 on breadboard
2627

2728
Questions:
2829
* What materials are you going to use to build your robot chassis? (recommend TIW laser cut for main body and 3D print for other parts)

docs/_sections/_guide-primaries/getting-started/environment-setup/environment-setup.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,16 @@ has_children: true
66
has_grand_children: true
77
parent: Getting Started
88
nav_order: 3
9-
---
9+
---
10+
11+
The exact process to arrive at this goal depends on what OS your computer is running (Windows, macOS, etc.), so this article will be split into Windows and MacOS setup. If you happen to use another OS, then talk to a mentor for help.
12+
13+
The end goal of this section is to flash your ESP32 with an LED blink program. It will take you from having nothing installed to the full coding environment you'll need for the competition!
14+
15+
Important software to be installed:
16+
1. VS Code with ESP-IDF
17+
1. Git Bash
18+
1. SiLabs USB-UART bridge driver
19+
20+
For explanations on what each of these applications are, take a look at [the FAQ!](TODO WRITE THIS)
21+

docs/_sections/_guide-primaries/getting-started/environment-setup/windows-setup.md

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,12 @@
11
---
22
layout: default
3-
title: Windows
3+
title: Windows Setup
44
nav_include: true
55
parent: Environment Setup
66
grand_parent: Getting Started
77
nav_order: 1
88
---
99

10-
# Environment Setup
11-
12-
The end goal of this article is to flash your ESP32 with an LED blink program. It will take you from having nothing installed to the full coding environment you'll need for the competition!
13-
14-
Important software to be installed:
15-
1. VS Code with ESP-IDF
16-
1. Git Bash
17-
1. SiLabs USB-UART bridge driver
18-
19-
For explanations on what each of these applications are, take a look at [the FAQ!](TODO WRITE THIS)
20-
21-
The exact process to arrive at this goal depends on what OS your computer is running (Windows, macOS, etc.), so this article will be split into Windows and MacOS setup. If you happen to use another OS, then talk to a mentor for help.
22-
2310
## Windows Setup
2411

2512
{: .highlight}
@@ -39,7 +26,7 @@ GitHub is like a Google Drive for your Git repositories.
3926
Go to the [GitHub website](https://github.com/) and create an account if you do not have one already.
4027

4128
### __Fork RobotathonESP32 Repository__
42-
Forking a repository creates a copy that you control on your GitHub account. Teams will use our RobotathonESP32 as the template.
29+
Forking a repository creates a copy that you control on your GitHub account. Teams will use our RobotathonESP32 repo as the template.
4330

4431
{: .highlight}
4532
Note: only **one** person in each team has to fork the repository and invite their teammates to it on Github. **Everybody** that wants to code __including the person that forks__ has to clone the repo to their local computer storage!

0 commit comments

Comments
 (0)