You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ensure their portable vscode installation is located in a path without spaces
12
12
Document instance where they have spaces in name
13
13
- 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)
16
15
17
16
## What is the difference between cloning using HTTPS and SSH?
18
17
HTTPS (Hypertext Transfer Protocol Secure) and SSH (Secure Shell) are both data transfer protocols used in networking
19
18
20
19
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).
21
20
TODO elaborate more
22
21
23
-
## How do I navigate the bash terminal for Robotathon?
24
-
25
22
## How do I find out what my controller’s Bluetooth address is?
26
23
1. Plug in your ESP32 and flash it with the starter code in your forked repository if you haven't already
27
24
1. Open the serial monitor
@@ -44,7 +41,8 @@ There is a maximum storage of 4 Bluetooth addresses in the allow-list. Simply re
44
41
If this fails, then try [hard resetting your ESP32’s flash memory](https://randomnerdtutorials.com/esp32-erase-flash-memory/)
45
42
46
43
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)
48
46
49
47
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.
50
48
@@ -65,13 +63,119 @@ If that fails, close VS Code and reopen it.
65
63
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).
66
64
67
65
## How to calibrate the QTR line sensor?
66
+
TODO write this or link somewhere
68
67
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.
71
70
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)
72
72
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.
74
75
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.
76
77
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`
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).
Copy file name to clipboardExpand all lines: docs/_sections/_guide-primaries/getting-started/environment-setup/environment-setup.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,4 +6,16 @@ has_children: true
6
6
has_grand_children: true
7
7
parent: Getting Started
8
8
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)
Copy file name to clipboardExpand all lines: docs/_sections/_guide-primaries/getting-started/environment-setup/windows-setup.md
+2-15Lines changed: 2 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,25 +1,12 @@
1
1
---
2
2
layout: default
3
-
title: Windows
3
+
title: Windows Setup
4
4
nav_include: true
5
5
parent: Environment Setup
6
6
grand_parent: Getting Started
7
7
nav_order: 1
8
8
---
9
9
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
-
23
10
## Windows Setup
24
11
25
12
{: .highlight}
@@ -39,7 +26,7 @@ GitHub is like a Google Drive for your Git repositories.
39
26
Go to the [GitHub website](https://github.com/) and create an account if you do not have one already.
40
27
41
28
### __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.
43
30
44
31
{: .highlight}
45
32
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