From 9f10675bc5bebb90f0e5b82b37f083ad6b849596 Mon Sep 17 00:00:00 2001 From: Adriana <16786568+Adrianamm@users.noreply.github.com> Date: Thu, 30 Jul 2026 23:26:36 -0400 Subject: [PATCH 1/6] added 1a prestage and fixed comma issues on 1b --- src/config/sidebarConfig.ts | 4 ++ .../docs/learning-course/stage0/operators.mdx | 2 +- .../stage1/stage1a/1a-vocabulary.mdx | 52 +++++++++++++++++++ .../stage1/stage1b/command-based-overview.mdx | 6 +-- 4 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx diff --git a/src/config/sidebarConfig.ts b/src/config/sidebarConfig.ts index bc56f1ed..0c703fe3 100644 --- a/src/config/sidebarConfig.ts +++ b/src/config/sidebarConfig.ts @@ -110,6 +110,10 @@ export const sidebarSections: Record = { label: 'Stage 1A Introduction', slug: 'learning-course/stage1/stage1a/stage-overview', }, + { + label: 'Stage 1A Vocabulary', + slug: 'learning-course/stage1/stage1a/1a-vocabulary', + }, // { // label: 'TBD', // slug: 'stage-1a-commands/the-command-body', diff --git a/src/content/docs/learning-course/stage0/operators.mdx b/src/content/docs/learning-course/stage0/operators.mdx index 56bc398c..ae1066b1 100644 --- a/src/content/docs/learning-course/stage0/operators.mdx +++ b/src/content/docs/learning-course/stage0/operators.mdx @@ -7,7 +7,7 @@ codeRegionSources: default: stage0/snippets/Operators.java --- -In Java, we use operators to change or compare the values of variables. +In Java we use operators to change or compare the values of variables. There four different types of operators are: - Arithmetic Operators diff --git a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx new file mode 100644 index 00000000..04a3cb52 --- /dev/null +++ b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx @@ -0,0 +1,52 @@ +--- +title: Stage 1A Vocabulary +description: An overview of important vocabulary that is used in Stage 1A +prev: ../stage-overview +next: false +--- + +Before programming your first robot, there are some electrical and hardware terms that are important to go over. + + + +## Drivetrain + +A drivetrain describes the mechanism used to make a robot drive. +In FRC, there are many different types of drivetrains. +The drivetrain that we will be programming in this stage is called a tank drive. + +For programming kitbot's drivetrain, we will be using the `DifferentialDrive` object which describes the drivetrain. +We will also be using the `ArcadeDrive` method which tells the motors to drive so that when using a controller (such as an xbox controller), +the joystick's y axis drives the robot forward and backwards, and the joystick's x axis controls the rotation. + +## Motor Controller + +Motor controllers are the electronic interfaces which control the speed and direction of the motor. +When writing code to control a motor, you are writing code to control the motor's motor controller. +In Stage 1a, you will use either SparkMax or TalonFX. + +### SparkMax + +A SparkMax is the motor controller that belongs to the REV ecosystem. +REV is a vendor that has electronic and hardware for FIRST teams. +SparkMax are used to control NEO motors. + +### TalonFX + +A TalonFX is the motor controller that belongs to the CTRE ecosystem. +CTRE is a vendor for FRC that specializes in electronics for FIRST teams. +It is used to control the Kraken motor. +Unlike the SparkMax, the TalonFX is built into the motor. + +## SystemCore + +SystemCore is the main process for robot code. +It can be thought of as the "brain" of the robot. + +## CAN + +CAN is Controller Area Network. +Typically using yellow and green cables, it is used to communicate with motor controllers. +For stage 1a, CAN is used to communicate with motor controllers. +A **CAN Bus** describes the type of connection. +A CAN bus starts at the SystemCore, connects all the motor controllers, and typically ends at the [Power Distribution Hub](https://docs.revrobotics.com/ion-control/pdh/overview). diff --git a/src/content/docs/learning-course/stage1/stage1b/command-based-overview.mdx b/src/content/docs/learning-course/stage1/stage1b/command-based-overview.mdx index b527129d..36b1a10a 100644 --- a/src/content/docs/learning-course/stage1/stage1b/command-based-overview.mdx +++ b/src/content/docs/learning-course/stage1/stage1b/command-based-overview.mdx @@ -15,8 +15,8 @@ set of instructions (execute this task, then this, and finally this). However, robots (and humans!) don't just execute a set of tasks and shut down. Imagine your daily routine. -When an alarm clock rings, you turn it off and tumble out of bed. -When your belly rumbles, you walk to the fridge and get a snack. +When an alarm clock rings, you turn it off, and tumble out of bed. +When your belly rumbles, you walk to the fridge, and get a snack. When the clock strikes 8 AM, you open the front door to leave for school. @@ -48,7 +48,7 @@ However, the structure of using `Command`s to represent behaviors misses an impo Think back to the human example: you’re walking to the fridge, but the clock hits 8 AM before you get there. You can't do both at once, since both actions require your arms and legs. -So, you stop and leave for school. +So you stop, and leave for school. Next, the robot. If the X and Y buttons are held, the shooter and intake motors should both run. From 9b0914bf579ae003ba6001bd7fb40b5f2a397a19 Mon Sep 17 00:00:00 2001 From: Adriana <16786568+Adrianamm@users.noreply.github.com> Date: Fri, 31 Jul 2026 16:13:31 -0400 Subject: [PATCH 2/6] Apply suggestions from code review Co-authored-by: Spaceman 11 <135277197+Spaceman113138@users.noreply.github.com> --- .../docs/learning-course/stage1/stage1a/1a-vocabulary.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx index 04a3cb52..30b1c836 100644 --- a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx +++ b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx @@ -29,7 +29,7 @@ In Stage 1a, you will use either SparkMax or TalonFX. A SparkMax is the motor controller that belongs to the REV ecosystem. REV is a vendor that has electronic and hardware for FIRST teams. -SparkMax are used to control NEO motors. +SparkMax are mainly used to control NEO motors but may also control brushed motors. ### TalonFX @@ -48,5 +48,5 @@ It can be thought of as the "brain" of the robot. CAN is Controller Area Network. Typically using yellow and green cables, it is used to communicate with motor controllers. For stage 1a, CAN is used to communicate with motor controllers. -A **CAN Bus** describes the type of connection. -A CAN bus starts at the SystemCore, connects all the motor controllers, and typically ends at the [Power Distribution Hub](https://docs.revrobotics.com/ion-control/pdh/overview). +A **CAN Bus** describes a chain of devices connected together by a single pair of CAN wires. +A CAN bus starts at the SystemCore, connects several devices, and typically ends at the [Power Distribution Hub](https://docs.revrobotics.com/ion-control/pdh/overview). From 496e1f67eb32b01f94aed88309d7a89eeb3d8a71 Mon Sep 17 00:00:00 2001 From: Adriana <16786568+Adrianamm@users.noreply.github.com> Date: Fri, 31 Jul 2026 16:25:04 -0400 Subject: [PATCH 3/6] updated with suggestions --- .../stage1/stage1a/1a-vocabulary.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx index 30b1c836..9bbe68e1 100644 --- a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx +++ b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx @@ -23,11 +23,11 @@ the joystick's y axis drives the robot forward and backwards, and the joystick's Motor controllers are the electronic interfaces which control the speed and direction of the motor. When writing code to control a motor, you are writing code to control the motor's motor controller. -In Stage 1a, you will use either SparkMax or TalonFX. +In Stage 1a, you will use either SPARKMAX or TalonFX. -### SparkMax +### SPARKMAX -A SparkMax is the motor controller that belongs to the REV ecosystem. +A SPARKMAX is the motor controller that belongs to the REV ecosystem. REV is a vendor that has electronic and hardware for FIRST teams. SparkMax are mainly used to control NEO motors but may also control brushed motors. @@ -35,12 +35,12 @@ SparkMax are mainly used to control NEO motors but may also control brushed moto A TalonFX is the motor controller that belongs to the CTRE ecosystem. CTRE is a vendor for FRC that specializes in electronics for FIRST teams. -It is used to control the Kraken motor. -Unlike the SparkMax, the TalonFX is built into the motor. +It is used to control motors such as a Kraken motor. +Unlike the SPARKMAX, the TalonFX is built into the motor. -## SystemCore +## Systemcore -SystemCore is the main process for robot code. +Systemcore is the main processor for robot code. It can be thought of as the "brain" of the robot. ## CAN From 06eb7859058b649140ffb3f252e70c0ad3ca5a72 Mon Sep 17 00:00:00 2001 From: Adriana <16786568+Adrianamm@users.noreply.github.com> Date: Fri, 31 Jul 2026 16:28:31 -0400 Subject: [PATCH 4/6] SPARK MAX --- .../docs/learning-course/stage1/stage1a/1a-vocabulary.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx index 9bbe68e1..1f02e243 100644 --- a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx +++ b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx @@ -23,11 +23,11 @@ the joystick's y axis drives the robot forward and backwards, and the joystick's Motor controllers are the electronic interfaces which control the speed and direction of the motor. When writing code to control a motor, you are writing code to control the motor's motor controller. -In Stage 1a, you will use either SPARKMAX or TalonFX. +In Stage 1a, you will use either SPARK MAX or TalonFX. -### SPARKMAX +### SPARK MAX -A SPARKMAX is the motor controller that belongs to the REV ecosystem. +A SPARK MAX is the motor controller that belongs to the REV ecosystem. REV is a vendor that has electronic and hardware for FIRST teams. SparkMax are mainly used to control NEO motors but may also control brushed motors. @@ -36,7 +36,7 @@ SparkMax are mainly used to control NEO motors but may also control brushed moto A TalonFX is the motor controller that belongs to the CTRE ecosystem. CTRE is a vendor for FRC that specializes in electronics for FIRST teams. It is used to control motors such as a Kraken motor. -Unlike the SPARKMAX, the TalonFX is built into the motor. +Unlike the SPARK MAX, the TalonFX is built into the motor. ## Systemcore From 4f399bb8ea75c751ecb278bdd864a4dae7fc5fd0 Mon Sep 17 00:00:00 2001 From: Adriana <16786568+Adrianamm@users.noreply.github.com> Date: Sun, 2 Aug 2026 21:58:36 -0400 Subject: [PATCH 5/6] Applied suggestions Co-authored-by: Zach Harel --- .../learning-course/stage1/stage1a/1a-vocabulary.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx index 1f02e243..1152a3f5 100644 --- a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx +++ b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx @@ -23,13 +23,13 @@ the joystick's y axis drives the robot forward and backwards, and the joystick's Motor controllers are the electronic interfaces which control the speed and direction of the motor. When writing code to control a motor, you are writing code to control the motor's motor controller. -In Stage 1a, you will use either SPARK MAX or TalonFX. +In Stage 1a, you will use either the SPARK MAX or the TalonFX. ### SPARK MAX A SPARK MAX is the motor controller that belongs to the REV ecosystem. REV is a vendor that has electronic and hardware for FIRST teams. -SparkMax are mainly used to control NEO motors but may also control brushed motors. +SPARK MAXes are mainly used to control NEO motors, but may also control brushless motors from other vendors, or even brushed motors. ### TalonFX @@ -45,8 +45,8 @@ It can be thought of as the "brain" of the robot. ## CAN -CAN is Controller Area Network. -Typically using yellow and green cables, it is used to communicate with motor controllers. +CAN stands for Controller Area Network, and is used to communicate with motor controllers and other devices on the robot. +CAN communication typically uses twisted pairs of yellow and green cables. For stage 1a, CAN is used to communicate with motor controllers. A **CAN Bus** describes a chain of devices connected together by a single pair of CAN wires. -A CAN bus starts at the SystemCore, connects several devices, and typically ends at the [Power Distribution Hub](https://docs.revrobotics.com/ion-control/pdh/overview). +A CAN bus starts at the Systemcore, connects with any number of devices, and typically ends at the [Power Distribution Hub](https://docs.revrobotics.com/ion-control/pdh/overview). From b6f867c951678533fb7aea6e6e04021bbca2f737 Mon Sep 17 00:00:00 2001 From: Adriana <16786568+Adrianamm@users.noreply.github.com> Date: Sun, 2 Aug 2026 22:18:14 -0400 Subject: [PATCH 6/6] updated with suggestions --- .../docs/learning-course/stage1/stage1a/1a-vocabulary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx index 1152a3f5..e6c6b496 100644 --- a/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx +++ b/src/content/docs/learning-course/stage1/stage1a/1a-vocabulary.mdx @@ -33,7 +33,7 @@ SPARK MAXes are mainly used to control NEO motors, but may also control brushles ### TalonFX -A TalonFX is the motor controller that belongs to the CTRE ecosystem. +The TalonFX is the primary motor controller used for the CTRE ecosystem. CTRE is a vendor for FRC that specializes in electronics for FIRST teams. It is used to control motors such as a Kraken motor. Unlike the SPARK MAX, the TalonFX is built into the motor.