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
Copy file name to clipboardExpand all lines: docs/contributing/intro.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,8 @@
1
1
There are always going to be improvements, fixes, and updates that can be made to our training material. It's up to team members to make these changes. Detailed in this section is how you can help with these efforts.
2
2
3
+
If you have edited the website, please put the date and your name here:
4
+
>Last Updated: March 28, 2026 by Logan Hunt
5
+
3
6
## Setup
4
7
There are two ways to set up your development environment to work on this website, both of which can give you auto-reload of your local changes.
Hi. Welcome to the programming training docs for Deep Blue Robotics.
3
+
Hello. Welcome to the programming training docs for Deep Blue Robotics.
4
4
5
5
Before you get started, let me just say this: We are moving at a significantly faster pace than any computer science course offered at the school, and it's okay to get stuck or not know something. The Programming team veterans are here to help, please ask us questions! This is pretty difficult stuff, but I guarantee that it will be worth it and that we'll make it through together.
6
6
7
7
Alright, let's get started.
8
+
***
9
+
>**xkcd #806: Tech Support
10
+
>
11
+
>
-[List of people's github's usernames, Driver station serial numbers, etc](https://docs.google.com/document/d/1D_4Fbr4ktwU9jl2Mkpw2Kpv0Q4v-NhCO2m5agvL5TfY/edit?usp=sharing)
21
+
-[List of people's github's usernames, Driverstation serial numbers, etc](https://docs.google.com/document/d/1D_4Fbr4ktwU9jl2Mkpw2Kpv0Q4v-NhCO2m5agvL5TfY/edit?usp=sharing)
Copy file name to clipboardExpand all lines: docs/section-0/java.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,17 +25,19 @@ Week 3:
25
25
26
26
## Other Notes
27
27
28
-
For Inheritance and Polymorphism, a concept they do not cover are interfaces which you may encounter. Read about them [here](https://www.w3schools.com/java/java_interface.asp).
28
+
Every year, our training curriculum may change, so there may be some information here that you won't use or information you will need to use but isn't here. Just ask a programming veteran for help and they'll assist you.
29
+
30
+
For Inheritance and Polymorphism, a concept they do not cover are interfaces which you may encounter, you can read about them [here](https://www.w3schools.com/java/java_interface.asp).
29
31
30
32
They also do not cover enums. Read more about them [here](https://www.w3schools.com/java/java_enums.asp). One thing they don't mention is that you can actually assign values to your enums such as:
31
33
32
34
```
33
-
public static enum TemperatureLimit {
35
+
public static enum MotorConfig {
34
36
NEO(70), NEO_550(40);
35
37
36
38
public final int limit;
37
39
38
-
private TemperatureLimit(int limit) {
40
+
private MotorConfig(int limit) {
39
41
this.limit = limit;
40
42
}
41
43
}
@@ -56,4 +58,4 @@ I highly suggest to look at the website or tutorials online if you don't underst
56
58
If you still don't get it, you can always ask a programming veteran for help!
57
59
58
60
!!! Unfinished
59
-
If you see this, tell a programming veteran to add exercises
61
+
If you see this, ask a programming veteran to complete it.
Copy file name to clipboardExpand all lines: docs/section-1/version-control.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,12 +5,12 @@ So you know how to write Java code, and you know the basics of how our robot cod
5
5
Once you're done, we'll do some exercises to see if you've got it.
6
6
7
7
!!! note
8
-
We'll be using [VS Code's built-in version control tools in this tutorial](https://code.visualstudio.com/docs/editor/versioncontrol), but there are many other good tools too, including [Github Desktop](https://desktop.github.com/), [Gitkraken](https://www.gitkraken.com/git-client), and of course, the ol' command line. You don't need to know how to use the command line for FRC, but it's a useful, if not essential, skill if you want to go beyond.
8
+
We'll be using VS Code's built-in version control tools in [this tutorial](https://code.visualstudio.com/docs/editor/versioncontrol), but there are many other good tools too, including [Github Desktop](https://desktop.github.com/), [Gitkraken](https://www.gitkraken.com/git-client), and of course, the ol' command line. You don't need to know how to use the command line for FRC, but it's a useful, if not essential, skill if you want to go beyond.
9
9
10
10
Navigate to this [google doc](https://docs.google.com/document/d/1D_4Fbr4ktwU9jl2Mkpw2Kpv0Q4v-NhCO2m5agvL5TfY/edit) and add your gitHub username to the list.
11
11
12
12
## Practice
13
-
VS Code is the text editor we will be using to write and run our code, and should have been installed with the WPILib suite during setup. Open up VS Code and follow the "Cloning a repository" section of [the VS Code git tutorial](https://code.visualstudio.com/docs/editor/versioncontrol#_cloning-a-repository) to clone [this repo](https://github.com/DeepBlueRobotics/training/).
13
+
VS Code is the text editor we will be using to write and run our code, and should have been installed with the WPILib suite during setup. Open up VS Code and follow the "Cloning a repository" section of the [VS Code git tutorial](https://code.visualstudio.com/docs/editor/versioncontrol#_cloning-a-repository) to clone [this repository](https://github.com/DeepBlueRobotics/training/).
14
14
15
15
Have it? I hope so too.
16
16
@@ -19,20 +19,20 @@ Make a new branch, whether by VS Code or Github Desktop or anything else, and ti
19
19
Go find every single file with the name `intro.md`, and paste your name somewhere over it. Or all over it. Horribly deface that file with your name.
20
20
Think of this as a "ritual" of public defacement in order to initiate your learning of Github.
21
21
22
-
Now stage and commit your changes with the message `add [your name]`, and then push your changes to make the branch public. Refer to the [Git tutorial](https://guides.github.com/introduction/git-handbook/) and [VS Code tutorial](https://code.visualstudio.com/docs/editor/versioncontrol) if needed.
22
+
Now stage and commit your changes with the message `added [your name] to intro files`, and then push your changes to make the branch public. Refer to the [Git tutorial](https://guides.github.com/introduction/git-handbook/) and [VS Code tutorial](https://code.visualstudio.com/docs/editor/versioncontrol) if needed.
23
23
24
24
Great! You now have a crimes done to the training website under your name!
25
25
But in order to let us know you did it, go to github and create a "Pull Request" from your branch to the `master` branch. It should look a bit like this:
26
26
`base: master <- compare: willsbranch`
27
27
28
28
!!! question
29
-
Why and what is a Pull Request?
30
-
A PR (our shorthand for Pull Request) is used to ask for approval to copy the changes of the `compare` branch onto the `base` branch. This is very useful when we want to review people's code before they update the master branch and break the robot, or when a person spends multiple worksessions working on a specific thing and don't want to leave unfinished code on the master branch.
29
+
What is a Pull Request?
30
+
A pull request (also called a PR) is used to ask for approval to copy the changes of the `compare` branch onto the `base` branch. This is very useful when we want to review people's code before they update the master branch and break the robot, or when a person spends multiple worksessions working on a specific thing and don't want to leave unfinished code on the master branch.
31
31
32
32
Finish that PR, and we'll delete your branch to clean it up in a few years.
33
33
34
34
!!! note
35
35
If you look at the tutorial above, they mention the "Git: Clone" command from the Command Palette (⇧⌘P). However, it's good practice to use "Git: Clone(Recursive)" instead of just "Git(Clone)" because cloning the repo recursively also clones all the defined submodules in the repo as well.
36
36
37
37
!!! tip
38
-
By convention, commit names are in simple present tense. Things like `add name` or `fix these bugs` or `update readme`. You are expected to write descriptive commit messages that follow this convention.
38
+
By convention, commit names are in simple present tense. Things like `add name` or `fix these bugs` or `update readme`.
Copy file name to clipboardExpand all lines: docs/section-2/electronics.md
+13-16Lines changed: 13 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Electronics
2
2
3
-
We have significant overlap with SenAct training. If you want more details on SenAct components you can go through [their Electronics presentation](https://docs.google.com/presentation/d/1Y2GSd2B3aV2_6J5xKNS-_xWRiGW_daArdgr4zasUuno/edit#slide=id.g253cb92c37_0_37). Here, we will cover the parts relevant to programming.
3
+
We have significant overlap with senac training. If you want more details on senac components you can go through [their Electronics presentation](https://docs.google.com/presentation/d/1Y2GSd2B3aV2_6J5xKNS-_xWRiGW_daArdgr4zasUuno/edit#slide=id.g253cb92c37_0_37). Here, we will cover the parts relevant to programming.
4
4
5
5
### Operator Console and Communication
6
6
- We use a computer, joysticks, xbox controllers, etc
@@ -12,7 +12,7 @@ We have significant overlap with SenAct training. If you want more details on Se
12
12
- Can plug sensors and add-ons onto it
13
13
- Can add micro-controllers such as a Raspberry Pi to connect to other devices
14
14
-
15
-
- The radio is what we use to communicate between the robot and the driver station computer.
15
+
- The radio is what we use to communicate between the robot and the driverstation computer.
16
16
- Connects to the DS Computer via Wifi, Ethernet, or USB
17
17
-
18
18
- The Power Distribution Panel (PDP) / Power Distribution Hub (PDH) gives power to the electrical components.
@@ -23,31 +23,28 @@ We have significant overlap with SenAct training. If you want more details on Se
23
23
- Different types of motors have different power and respective motor controllers
24
24
- Gears and planetary gearboxes can be used to make the motor turn with more torque or turn faster
25
25
- The motors we use are:
26
-
- CIM
27
-
- Biggest
28
-
- Most powerful
29
-
- Used for drivetrains and other subsystems which require a lot of torque
30
-
- Mini CIMs
31
-
- Medium size
32
-
- BAG
33
-
- Smallest
34
26
- NEO
27
+
- We almost exclusively use these
28
+
- Versatile
35
29
- Encoders are built into these
36
-
- Comparable to CIMs
37
30
- Used for drivetrains and other subsystems which require a lot of torque
31
+
- NEO Vortex
32
+
- Very similar to normal NEOs
33
+
- Motor controller attaches directly to the motor instead of using cables
38
34
- NEO 550
35
+
- We usually don't use these
39
36
- Small
40
37
- Used for subsystems other than drivetrains
41
-
- The typically motor controllers we use are:
42
-
-CANSparkMaxes
43
-
-Talon SRXs
38
+
- The motor controllers we typically use are:
39
+
-SparkMaxes
40
+
-SparkFlexes
44
41
45
-

42
+

46
43
47
44
### Sensors
48
45
- Encoders
49
46
- Attached to motor or built into motor
50
-
- Record how much a motor has spun
47
+
- Record how much a motor has spun or its position
0 commit comments