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]