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..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 @@ -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] 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..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 @@ -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] 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..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 @@ -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] 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..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 @@ -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] 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..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 @@ -13,6 +13,7 @@ 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 +68,4 @@ public void periodic() { } } } +// [/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 1c8de3db..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 @@ -15,6 +15,7 @@ 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 +71,4 @@ public void periodic() { } } } +// [/CheckupIntake] 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`),