From 585f62d00131e9212f75c0f14f91be3472f3fb88 Mon Sep 17 00:00:00 2001
From: Adriana <16786568+Adrianamm@users.noreply.github.com>
Date: Sat, 7 Nov 2026 01:22:21 -0500
Subject: [PATCH 1/2] adds check ups
---
.../first/robot/mechanisms/Drivetrain.java | 2 +
.../java/first/robot/mechanisms/Feeder.java | 2 +
.../robot/mechanisms/IntakeLauncher.java | 2 +
.../first/robot/mechanisms/Drivetrain.java | 2 +
.../java/first/robot/mechanisms/Feeder.java | 3 +-
.../robot/mechanisms/IntakeLauncher.java | 3 +-
.../stage1b/command-based-kitbot-pt2.mdx | 24 +++++++++++
.../stage1/stage1b/command-based-kitbot.mdx | 40 +++++++++++++++++--
8 files changed, 73 insertions(+), 5 deletions(-)
diff --git a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Drivetrain.java b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Drivetrain.java
index c0d7cc24..e4275d80 100644
--- a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Drivetrain.java
+++ b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Drivetrain.java
@@ -21,6 +21,7 @@
import org.wpilib.hardware.imu.OnboardIMU;
import org.wpilib.hardware.imu.OnboardIMU.MountOrientation;
+// [CheckUpDrivetrain]
public class Drivetrain implements Mechanism {
private static final int leftLeaderID = 0, rightLeaderID = 2;
private final TalonFX leftLeader = new TalonFX(leftLeaderID, new CANBus(CANPort.CAN_S0));
@@ -76,3 +77,4 @@ public void periodic() {
}
}
}
+// [/CheckUpDrivetrain]
\ No newline at end of file
diff --git a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Feeder.java b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Feeder.java
index b3c39f5d..39e9e13c 100644
--- a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Feeder.java
+++ b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Feeder.java
@@ -13,6 +13,7 @@
import org.wpilib.framework.RobotBase;
import org.wpilib.hardware.bus.CANPort;
+// [CheckupFeeder]
public class Feeder implements Mechanism {
private final TalonFX motor = new TalonFX(5, new CANBus(CANPort.CAN_S0));
private final SingleFlywheelSim sim = SingleFlywheelSim.forFeeder(motor);
@@ -67,3 +68,4 @@ public void periodic() {
}
}
}
+// [/CheckupFeeder]
\ No newline at end of file
diff --git a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/IntakeLauncher.java b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/IntakeLauncher.java
index 3ffb476e..5c33aaf2 100644
--- a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/IntakeLauncher.java
+++ b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/IntakeLauncher.java
@@ -15,6 +15,7 @@
import org.wpilib.framework.RobotBase;
import org.wpilib.hardware.bus.CANPort;
+// [CheckupIntake]
public class IntakeLauncher implements Mechanism {
private final TalonFX motor = new TalonFX(4, new CANBus(CANPort.CAN_S0));
private final SingleFlywheelSim sim = SingleFlywheelSim.forIntakeLauncher(motor);
@@ -70,3 +71,4 @@ public void periodic() {
}
}
}
+// [/CheckupIntake]
\ No newline at end of file
diff --git a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Drivetrain.java b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Drivetrain.java
index 9ab48923..75fb0a54 100644
--- a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Drivetrain.java
+++ b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Drivetrain.java
@@ -20,6 +20,7 @@
import org.wpilib.hardware.imu.OnboardIMU;
import org.wpilib.hardware.imu.OnboardIMU.MountOrientation;
+// [CheckUpDrivetrain]
public class Drivetrain implements Mechanism {
private final SparkMax leftLeader = new SparkMax(CANPort.CAN_S0, 0, MotorType.kBrushless);
private final SparkMax leftFollower = new SparkMax(CANPort.CAN_S0, 1, MotorType.kBrushless);
@@ -79,3 +80,4 @@ public void periodic() {
}
}
}
+// [/CheckUpDrivetrain]
\ No newline at end of file
diff --git a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Feeder.java b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Feeder.java
index cf17fa39..7f1b54dd 100644
--- a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Feeder.java
+++ b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Feeder.java
@@ -12,7 +12,7 @@
import org.wpilib.command3.Mechanism;
import org.wpilib.framework.RobotBase;
import org.wpilib.hardware.bus.CANPort;
-
+// [CheckupFeeder]
public class Feeder implements Mechanism {
private final SparkMax motor = new SparkMax(CANPort.CAN_S0, 5, MotorType.kBrushless);
private final SingleFlywheelSim sim = SingleFlywheelSim.forFeeder(motor);
@@ -67,3 +67,4 @@ public void periodic() {
}
}
}
+// [/CheckupFeeder]
\ No newline at end of file
diff --git a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/IntakeLauncher.java b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/IntakeLauncher.java
index 1c8de3db..6bd7a2a1 100644
--- a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/IntakeLauncher.java
+++ b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/IntakeLauncher.java
@@ -14,7 +14,7 @@
import org.wpilib.command3.Mechanism;
import org.wpilib.framework.RobotBase;
import org.wpilib.hardware.bus.CANPort;
-
+// [CheckupIntake]
public class IntakeLauncher implements Mechanism {
private final SparkMax motor = new SparkMax(CANPort.CAN_S0, 4, MotorType.kBrushless);
private final SingleFlywheelSim sim = SingleFlywheelSim.forIntakeLauncher(motor);
@@ -70,3 +70,4 @@ public void periodic() {
}
}
}
+// [/CheckupIntake]
\ No newline at end of file
diff --git a/src/content/docs/learning-course/stage1/stage1b/command-based-kitbot-pt2.mdx b/src/content/docs/learning-course/stage1/stage1b/command-based-kitbot-pt2.mdx
index 83861f66..66e4f334 100644
--- a/src/content/docs/learning-course/stage1/stage1b/command-based-kitbot-pt2.mdx
+++ b/src/content/docs/learning-course/stage1/stage1b/command-based-kitbot-pt2.mdx
@@ -3,9 +3,13 @@ title: Exercise - Kitbot Rewrite, Pt. 2
description: Rewriting the kitbot code in stage 1A to command-based
codeRegionSources:
default: stage1/stage1b/snippets/src/main/java/sources/CommandBasedKitbotPt2.java
+ checkUpDrivetrainCTRE: stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Drivetrain.java
+ checkUpDrivetrainREV: stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Drivetrain.java
---
import Aside from '@components/Aside.astro';
+import { REV_CTRE_CHOOSER_KEY } from '@data/tabsSyncKeys.ts';
+import { TabItem, Tabs } from '@astrojs/starlight/components';
### What You'll Accomplish
@@ -91,6 +95,26 @@ Now that we have a `Drivetrain` class, we need to set it up to be used in our ro
command set in the constructor (`idle()`) will apply.
+### Check Up
+
+By now your Drivetrain mechanism should look like this and VS code should not be giving you any errors.
+
+
+
### Task 4: Create Auto Mode Files
We need to create two new files to define our autonomous OpModes.
diff --git a/src/content/docs/learning-course/stage1/stage1b/command-based-kitbot.mdx b/src/content/docs/learning-course/stage1/stage1b/command-based-kitbot.mdx
index ae16deb4..31f66629 100644
--- a/src/content/docs/learning-course/stage1/stage1b/command-based-kitbot.mdx
+++ b/src/content/docs/learning-course/stage1/stage1b/command-based-kitbot.mdx
@@ -3,6 +3,10 @@ title: Exercise - Kitbot Rewrite, Pt. 1
description: Rewriting the kitbot code in stage 1A to command-based
codeRegionSources:
default: stage1/stage1b/snippets/src/main/java/sources/CommandBasedKitbot.java
+ checkUpFeederCTRE: stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Feeder.java
+ checkUpFeederREV: stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Feeder.java
+ checkUpIntakeCTRE: stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/IntakeLauncher.java
+ checkUpIntakeREV: stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/IntakeLauncher.java
---
import Aside from '@components/Aside.astro';
@@ -42,7 +46,7 @@ Then, navigate to the `Robot` class under `src/main/java/first/robot`.
For commands to function, you must call `Scheduler.getDefault().run()` in
the robot class' `robotPeriodic()` method.
-```java #robotDef
+```java {default}#robotDef
```
@@ -64,7 +68,7 @@ The `Feeder` class should implement `Mechanism`.
+### Check Up
+
+By now your Feeder and IntakeLauncher mechanisms should look like this and VS code should not be giving you any errors.
+
+
+
+
+
### Task 5: Finish the teleop OpMode
In the constructor of the teleop OpMode (it should be in `MyTeleop.java`),
From 82d3fee0f59ef1bbc3a334afa52a43c0e46da5c7 Mon Sep 17 00:00:00 2001
From: Adriana <16786568+Adrianamm@users.noreply.github.com>
Date: Sat, 7 Nov 2026 01:30:11 -0500
Subject: [PATCH 2/2] spotless
---
.../ctre/src/main/java/first/robot/mechanisms/Drivetrain.java | 2 +-
.../ctre/src/main/java/first/robot/mechanisms/Feeder.java | 2 +-
.../src/main/java/first/robot/mechanisms/IntakeLauncher.java | 2 +-
.../rev/src/main/java/first/robot/mechanisms/Drivetrain.java | 2 +-
.../rev/src/main/java/first/robot/mechanisms/Feeder.java | 3 ++-
.../src/main/java/first/robot/mechanisms/IntakeLauncher.java | 3 ++-
6 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Drivetrain.java b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Drivetrain.java
index e4275d80..8bdf0228 100644
--- a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Drivetrain.java
+++ b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Drivetrain.java
@@ -77,4 +77,4 @@ public void periodic() {
}
}
}
-// [/CheckUpDrivetrain]
\ No newline at end of file
+// [/CheckUpDrivetrain]
diff --git a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Feeder.java b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Feeder.java
index 39e9e13c..b9330653 100644
--- a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Feeder.java
+++ b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/Feeder.java
@@ -68,4 +68,4 @@ public void periodic() {
}
}
}
-// [/CheckupFeeder]
\ No newline at end of file
+// [/CheckupFeeder]
diff --git a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/IntakeLauncher.java b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/IntakeLauncher.java
index 5c33aaf2..6162ce60 100644
--- a/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/IntakeLauncher.java
+++ b/examples/stage1/stage1b/solutions/ctre/src/main/java/first/robot/mechanisms/IntakeLauncher.java
@@ -71,4 +71,4 @@ public void periodic() {
}
}
}
-// [/CheckupIntake]
\ No newline at end of file
+// [/CheckupIntake]
diff --git a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Drivetrain.java b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Drivetrain.java
index 75fb0a54..f2e37f7a 100644
--- a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Drivetrain.java
+++ b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Drivetrain.java
@@ -80,4 +80,4 @@ public void periodic() {
}
}
}
-// [/CheckUpDrivetrain]
\ No newline at end of file
+// [/CheckUpDrivetrain]
diff --git a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Feeder.java b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Feeder.java
index 7f1b54dd..dff58572 100644
--- a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Feeder.java
+++ b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/Feeder.java
@@ -12,6 +12,7 @@
import org.wpilib.command3.Mechanism;
import org.wpilib.framework.RobotBase;
import org.wpilib.hardware.bus.CANPort;
+
// [CheckupFeeder]
public class Feeder implements Mechanism {
private final SparkMax motor = new SparkMax(CANPort.CAN_S0, 5, MotorType.kBrushless);
@@ -67,4 +68,4 @@ public void periodic() {
}
}
}
-// [/CheckupFeeder]
\ No newline at end of file
+// [/CheckupFeeder]
diff --git a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/IntakeLauncher.java b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/IntakeLauncher.java
index 6bd7a2a1..86ffae52 100644
--- a/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/IntakeLauncher.java
+++ b/examples/stage1/stage1b/solutions/rev/src/main/java/first/robot/mechanisms/IntakeLauncher.java
@@ -14,6 +14,7 @@
import org.wpilib.command3.Mechanism;
import org.wpilib.framework.RobotBase;
import org.wpilib.hardware.bus.CANPort;
+
// [CheckupIntake]
public class IntakeLauncher implements Mechanism {
private final SparkMax motor = new SparkMax(CANPort.CAN_S0, 4, MotorType.kBrushless);
@@ -70,4 +71,4 @@ public void periodic() {
}
}
}
-// [/CheckupIntake]
\ No newline at end of file
+// [/CheckupIntake]