From cd7e781aa35bc401c771c21d91c420799c1d95b0 Mon Sep 17 00:00:00 2001 From: YetAnotherNotHacking Date: Thu, 21 May 2026 13:14:53 -0600 Subject: [PATCH 1/8] up the feeder motor speed since we swapped the intake and feeder motors --- .../firstinspires/ftc/teamcode/constants/ShooterConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/ShooterConstants.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/ShooterConstants.java index d3be760..fd72202 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/ShooterConstants.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/ShooterConstants.java @@ -19,7 +19,7 @@ public class ShooterConstants { public static double CYCLE_B_TARGET_RPM = 4300.0; public static double FEEDER_MANUAL_POWER = 1.00; - public static double FEEDER_INDEX_POWER = 0.15; + public static double FEEDER_INDEX_POWER = 0.8; public static double FEEDER_ALPHA_STOP_THRESHOLD = 450.0; public static double SHOOTER_TRIGGER_DEADBAND = 0.02; From 377f1f7cc869df61b4c69a570efef053ffd2df2e Mon Sep 17 00:00:00 2001 From: YetAnotherNotHacking Date: Thu, 21 May 2026 13:52:36 -0600 Subject: [PATCH 2/8] only scale the intake speed when we are actually intaking the balls --- .../ftc/teamcode/autonomous/opmodes/BlueBack12.java | 4 ++-- .../ftc/teamcode/autonomous/opmodes/BlueBack9.java | 2 +- .../ftc/teamcode/autonomous/opmodes/BlueFront6.java | 2 +- .../ftc/teamcode/autonomous/opmodes/BlueFront9.java | 4 ++-- .../ftc/teamcode/autonomous/opmodes/RedBack12.java | 4 ++-- .../ftc/teamcode/autonomous/opmodes/RedBack9.java | 2 +- .../ftc/teamcode/autonomous/opmodes/RedFront6.java | 2 +- .../ftc/teamcode/autonomous/opmodes/RedFront9.java | 6 +++--- .../ftc/teamcode/constants/AutonomousConstants.java | 2 +- .../ftc/teamcode/constants/AutonomousPoints.java | 8 ++++---- .../ftc/teamcode/constants/ShooterConstants.java | 2 +- 11 files changed, 19 insertions(+), 19 deletions(-) diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java index 7efd5fa..4cc187c 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java @@ -39,7 +39,7 @@ protected void runAutonomous() { } // 5. move to intake position 1 for back row intake - controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_CLOSE_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_CLOSE_1); // 6. move to intake position 2 for back row intake controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_CLOSE_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); @@ -49,7 +49,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 8. move to intake position 1 for middle row intake - controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_MIDDLE_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_MIDDLE_1); // 9. move to intake position 2 for middle row intake controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_MIDDLE_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java index a126490..b88dcc6 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java @@ -39,7 +39,7 @@ protected void runAutonomous() { } // 5. move to intake position 1 for back row intake - controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_CLOSE_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_CLOSE_1); // 6. move to intake position 2 for back row intake controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_CLOSE_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java index 294900f..319d4ca 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java @@ -30,7 +30,7 @@ protected void runAutonomous() { controller.runIntakeForward(); // 3. move to intake position 1 for far row intake - controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_FAR_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_FAR_1); // 4. move to intake position 2 for far row intake controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_FAR_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java index c44870b..1f4ad4e 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java @@ -30,7 +30,7 @@ protected void runAutonomous() { controller.runIntakeForward(); // 3. move to intake position 1 for far row intake - controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_FAR_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_FAR_1); // 4. move to intake position 2 for far row intake controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_FAR_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); @@ -42,7 +42,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 7. move to intake position 1 for middle row intake - controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_MID_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_MID_1); // 8. move to intake position 2 for middle row intake controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_MID_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java index 5ffdf43..bf3ec47 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java @@ -38,7 +38,7 @@ protected void runAutonomous() { } // 5. move to intake position 1 for back row intake - controller.pathTo(AutonomousPoints.Red.Back.INTAKE_CLOSE_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Red.Back.INTAKE_CLOSE_1); // 6. move to intake position 2 for back row intake controller.pathTo(AutonomousPoints.Red.Back.INTAKE_CLOSE_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); @@ -48,7 +48,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 8. move to intake position 1 for middle row intake - controller.pathTo(AutonomousPoints.Red.Back.INTAKE_MIDDLE_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Red.Back.INTAKE_MIDDLE_1); // 9. move to intake position 2 for middle row intake controller.pathTo(AutonomousPoints.Red.Back.INTAKE_MIDDLE_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java index 4ed5092..01757f4 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java @@ -38,7 +38,7 @@ protected void runAutonomous() { } // 5. move to intake position 1 for back row intake - controller.pathTo(AutonomousPoints.Red.Back.INTAKE_CLOSE_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Red.Back.INTAKE_CLOSE_1); // 6. move to intake position 2 for back row intake controller.pathTo(AutonomousPoints.Red.Back.INTAKE_CLOSE_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java index 9d27373..c452af2 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java @@ -29,7 +29,7 @@ protected void runAutonomous() { controller.runIntakeForward(); // 3. move to intake position 1 for far row intake - controller.pathTo(AutonomousPoints.Red.Front.INTAKE_FAR_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Red.Front.INTAKE_FAR_1); // 4. move to intake position 2 for far row intake controller.pathTo(AutonomousPoints.Red.Front.INTAKE_FAR_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java index adb1352..6d27776 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java @@ -29,8 +29,8 @@ protected void runAutonomous() { controller.runIntakeForward(); // 3. move to intake position 1 for far row intake - controller.pathTo(AutonomousPoints.Red.Front.INTAKE_FAR_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); - + controller.pathTo(AutonomousPoints.Red.Front.INTAKE_FAR_1); + // 4. move to intake position 2 for far row intake controller.pathTo(AutonomousPoints.Red.Front.INTAKE_FAR_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); @@ -41,7 +41,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 7. move to intake position 1 for middle row intake - controller.pathTo(AutonomousPoints.Red.Front.INTAKE_MID_1, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); + controller.pathTo(AutonomousPoints.Red.Front.INTAKE_MID_1); // 8. move to intake position 2 for middle row intake controller.pathTo(AutonomousPoints.Red.Front.INTAKE_MID_2, AutonomousConstants.INTAKE_PATH_SPEED_SCALING); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousConstants.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousConstants.java index 5a09ed8..d16292f 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousConstants.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousConstants.java @@ -20,7 +20,7 @@ public final class AutonomousConstants { public static double INTAKE_REVERSE_SPEED = 0.5; // Pathing speed scaling for close/back-row intake moves - public static double INTAKE_PATH_SPEED_SCALING = 0.30; + public static double INTAKE_PATH_SPEED_SCALING = 0.21; // Feeder timings/speeds during autonomous public static double FEEDER_SPEED = 1.0; diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousPoints.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousPoints.java index db69d75..dd12547 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousPoints.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousPoints.java @@ -19,10 +19,10 @@ public static final class Back { public static final class Front { public static final Pose SHOOT = new Pose(-49.65, -1.28, Math.toRadians(-83.59)); - public static final Pose INTAKE_FAR_1 = new Pose(-40.99, -17.66, Math.toRadians(142.06)); - public static final Pose INTAKE_FAR_2 = new Pose(-22.61, -33.93, Math.toRadians(140.47)); - public static final Pose INTAKE_MID_1 = new Pose(-54.56, -34.25, Math.toRadians(140.66)); - public static final Pose INTAKE_MID_2 = new Pose(-38.80, -53.29, Math.toRadians(139.87)); + public static final Pose INTAKE_FAR_1 = new Pose(-42.82, -14.32, Math.toRadians(142.06)); + public static final Pose INTAKE_FAR_2 = new Pose(-20.43, -31.04, Math.toRadians(140.47)); + public static final Pose INTAKE_MID_1 = new Pose(-56.74, -31.18, Math.toRadians(140.66)); + public static final Pose INTAKE_MID_2 = new Pose(-35.18, -49.58, Math.toRadians(139.87)); public static final Pose PARK_FAR = new Pose(-31.36, 17.58, Math.toRadians(-41.80)); } } diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/ShooterConstants.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/ShooterConstants.java index fd72202..b49b6b4 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/ShooterConstants.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/ShooterConstants.java @@ -19,7 +19,7 @@ public class ShooterConstants { public static double CYCLE_B_TARGET_RPM = 4300.0; public static double FEEDER_MANUAL_POWER = 1.00; - public static double FEEDER_INDEX_POWER = 0.8; + public static double FEEDER_INDEX_POWER = 0.5; public static double FEEDER_ALPHA_STOP_THRESHOLD = 450.0; public static double SHOOTER_TRIGGER_DEADBAND = 0.02; From efce39625243d4a2270cb018719dbf2486af76de Mon Sep 17 00:00:00 2001 From: YetAnotherNotHacking Date: Thu, 21 May 2026 13:53:46 -0600 Subject: [PATCH 3/8] remove continous intake patch --- .../ftc/teamcode/autonomous/BaseAutoOpMode.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/BaseAutoOpMode.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/BaseAutoOpMode.java index 295645b..bd58426 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/BaseAutoOpMode.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/BaseAutoOpMode.java @@ -20,8 +20,10 @@ public void runOpMode() throws InterruptedException { } // Start the intake forward immediately at autonomous start - robot.intake.runFromTrigger(AutonomousConstants.INTAKE_FORWARD_SPEED); - + // robot.intake.runFromTrigger(AutonomousConstants.INTAKE_FORWARD_SPEED); + // note: only uncomment if the breif reversals is breaking something + // so that means dont uncomment it bc they werk + // Wait 800 ms to let the Pinpoint calibrate on reset sleep(1200); From 40ec83bd2ce848112cf555f7583070d74cc4734e Mon Sep 17 00:00:00 2001 From: YetAnotherNotHacking Date: Thu, 21 May 2026 14:10:21 -0600 Subject: [PATCH 4/8] reimplement the old enable intake functinoality --- .../firstinspires/ftc/teamcode/autonomous/BaseAutoOpMode.java | 2 +- .../org/firstinspires/ftc/teamcode/autonomous/Controller.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/BaseAutoOpMode.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/BaseAutoOpMode.java index bd58426..dfeedec 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/BaseAutoOpMode.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/BaseAutoOpMode.java @@ -23,7 +23,7 @@ public void runOpMode() throws InterruptedException { // robot.intake.runFromTrigger(AutonomousConstants.INTAKE_FORWARD_SPEED); // note: only uncomment if the breif reversals is breaking something // so that means dont uncomment it bc they werk - + // Wait 800 ms to let the Pinpoint calibrate on reset sleep(1200); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/Controller.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/Controller.java index 6ea9fa6..e8b956c 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/Controller.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/Controller.java @@ -55,6 +55,10 @@ public void startShooter(double rpm) { */ public void enableIntake() { robot.intake.runFromTrigger(AutonomousConstants.INTAKE_FORWARD_SPEED); + sleep(AutonomousConstants.SHOOT_FORWARD_CYCLE_MS); + robot.intake.reverse(AutonomousConstants.INTAKE_REVERSE_SPEED); + sleep(AutonomousConstants.SHOOT_REVERSE_CYCLE_MS); + robot.intake.runFromTrigger(AutonomousConstants.INTAKE_FORWARD_SPEED); } public void runIntakeForward() { From 2d6a77f7c6fc9e4711b375863380a2a194b8ba05 Mon Sep 17 00:00:00 2001 From: YetAnotherNotHacking Date: Thu, 21 May 2026 14:10:36 -0600 Subject: [PATCH 5/8] switch back to enable intake in the opmodes --- .../ftc/teamcode/autonomous/opmodes/BlueBack12.java | 2 +- .../ftc/teamcode/autonomous/opmodes/BlueBack6.java | 2 +- .../ftc/teamcode/autonomous/opmodes/BlueBack9.java | 2 +- .../ftc/teamcode/autonomous/opmodes/BlueFront6.java | 2 +- .../ftc/teamcode/autonomous/opmodes/BlueFront9.java | 2 +- .../ftc/teamcode/autonomous/opmodes/RedBack12.java | 2 +- .../firstinspires/ftc/teamcode/autonomous/opmodes/RedBack6.java | 2 +- .../firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java | 2 +- .../ftc/teamcode/autonomous/opmodes/RedFront6.java | 2 +- .../ftc/teamcode/autonomous/opmodes/RedFront9.java | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java index 4cc187c..9fb68ad 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java @@ -27,7 +27,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.PRELOAD_SHOOT_TIME); // Engage intake (for rest of auton) - controller.runIntakeForward(); + controller.enableIntake(); if (!AutonomousConstants.SKIP_HUMAN_INTAKE) { // 3. move to human player ball intake position diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack6.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack6.java index 36b09b4..219c12d 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack6.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack6.java @@ -27,7 +27,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.PRELOAD_SHOOT_TIME); // Engage intake (for rest of auton) - controller.runIntakeForward(); + controller.enableIntake(); if (!AutonomousConstants.SKIP_HUMAN_INTAKE) { // 3. move to human player ball intake position diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java index b88dcc6..d50802f 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java @@ -27,7 +27,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.PRELOAD_SHOOT_TIME); // Engage intake (for rest of auton) - controller.runIntakeForward(); + controller.enableIntake(); if (!AutonomousConstants.SKIP_HUMAN_INTAKE) { // 3. move to human player ball intake position diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java index 319d4ca..79397ad 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java @@ -27,7 +27,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.PRELOAD_SHOOT_TIME); // Engage intake (for rest of auton) - controller.runIntakeForward(); + controller.enableIntake(); // 3. move to intake position 1 for far row intake controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_FAR_1); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java index 1f4ad4e..182f535 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java @@ -27,7 +27,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.PRELOAD_SHOOT_TIME); // Engage intake (for rest of auton) - controller.runIntakeForward(); + controller.enableIntake(); // 3. move to intake position 1 for far row intake controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_FAR_1); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java index bf3ec47..63cd65a 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java @@ -26,7 +26,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.PRELOAD_SHOOT_TIME); // Engage intake (for rest of auton) - controller.runIntakeForward(); + controller.enableIntake(); if (!AutonomousConstants.SKIP_HUMAN_INTAKE) { // 3. move to human player ball intake position diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack6.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack6.java index ac59826..6d3e32f 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack6.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack6.java @@ -27,7 +27,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.PRELOAD_SHOOT_TIME); // Engage intake (for rest of auton) - controller.runIntakeForward(); + controller.enableIntake(); if (!AutonomousConstants.SKIP_HUMAN_INTAKE) { // 3. move to human player ball intake position diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java index 01757f4..d3f25e1 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java @@ -26,7 +26,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.PRELOAD_SHOOT_TIME); // Engage intake (for rest of auton) - controller.runIntakeForward(); + controller.enableIntake(); if (!AutonomousConstants.SKIP_HUMAN_INTAKE) { // 3. move to human player ball intake position diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java index c452af2..1eab4eb 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java @@ -26,7 +26,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.PRELOAD_SHOOT_TIME); // Engage intake (for rest of auton) - controller.runIntakeForward(); + controller.enableIntake(); // 3. move to intake position 1 for far row intake controller.pathTo(AutonomousPoints.Red.Front.INTAKE_FAR_1); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java index 6d27776..5502afb 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java @@ -26,7 +26,7 @@ protected void runAutonomous() { controller.shoot(AutonomousConstants.PRELOAD_SHOOT_TIME); // Engage intake (for rest of auton) - controller.runIntakeForward(); + controller.enableIntake(); // 3. move to intake position 1 for far row intake controller.pathTo(AutonomousPoints.Red.Front.INTAKE_FAR_1); From da78f842cc6ec2d1f6c0d66e18f1bfa319b4f1fc Mon Sep 17 00:00:00 2001 From: YetAnotherNotHacking Date: Thu, 21 May 2026 14:13:23 -0600 Subject: [PATCH 6/8] slow down the intake a tiny bit --- .../ftc/teamcode/constants/AutonomousConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousConstants.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousConstants.java index d16292f..8928730 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousConstants.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/constants/AutonomousConstants.java @@ -16,7 +16,7 @@ public final class AutonomousConstants { public static long SHOOT_FORWARD_CYCLE_MS = 1000; public static long SHOOT_REVERSE_CYCLE_MS = 200; - public static double INTAKE_FORWARD_SPEED = 1.0; + public static double INTAKE_FORWARD_SPEED = 0.9; public static double INTAKE_REVERSE_SPEED = 0.5; // Pathing speed scaling for close/back-row intake moves From 40a4830a5236cc387412ef4076cab8918d338cc6 Mon Sep 17 00:00:00 2001 From: YetAnotherNotHacking Date: Thu, 21 May 2026 23:30:10 -0600 Subject: [PATCH 7/8] intake auto unjamming api support --- .../ftc/teamcode/autonomous/Controller.java | 68 ++++++++++++++++--- 1 file changed, 60 insertions(+), 8 deletions(-) diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/Controller.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/Controller.java index e8b956c..19c78bb 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/Controller.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/Controller.java @@ -19,6 +19,9 @@ public class Controller { private Follower follower; private RevColorSensorV3 colorShootSensor; private boolean isShooting = false; + private volatile boolean isIntakeCycling = false; + private volatile boolean intakePaused = false; + private Thread intakeCycleThread = null; public Controller(LinearOpMode opMode, RobotContainer robot) { this.opMode = opMode; @@ -51,14 +54,40 @@ public void startShooter(double rpm) { } /** - * Turns on the intake to the default forward speed. + * Starts a background thread that continuously cycles the intake: + * - Forward at INTAKE_FORWARD_SPEED for SHOOT_FORWARD_CYCLE_MS + * - Reverse at INTAKE_REVERSE_SPEED for SHOOT_REVERSE_CYCLE_MS (jam clearing) + * The cycle repeats for the entire opmode. Call disableIntake() to stop it. + * While paused (via pauseIntakeCycling()), only the forward phase runs. */ public void enableIntake() { - robot.intake.runFromTrigger(AutonomousConstants.INTAKE_FORWARD_SPEED); - sleep(AutonomousConstants.SHOOT_FORWARD_CYCLE_MS); - robot.intake.reverse(AutonomousConstants.INTAKE_REVERSE_SPEED); - sleep(AutonomousConstants.SHOOT_REVERSE_CYCLE_MS); - robot.intake.runFromTrigger(AutonomousConstants.INTAKE_FORWARD_SPEED); + if (!opMode.opModeIsActive() || isIntakeCycling) return; + + isIntakeCycling = true; + intakeCycleThread = new Thread(() -> { + while (isIntakeCycling && opMode.opModeIsActive()) { + // Phase 1: run forward + robot.intake.runFromTrigger(AutonomousConstants.INTAKE_FORWARD_SPEED); + long forwardEnd = System.currentTimeMillis() + AutonomousConstants.SHOOT_FORWARD_CYCLE_MS; + while (isIntakeCycling && opMode.opModeIsActive() && System.currentTimeMillis() < forwardEnd) { + try { Thread.sleep(10); } catch (InterruptedException e) { return; } + } + + if (!isIntakeCycling || !opMode.opModeIsActive()) break; + + // Phase 2: briefly reverse to clear jams — skipped while paused + if (!intakePaused) { + robot.intake.reverse(AutonomousConstants.INTAKE_REVERSE_SPEED); + long reverseEnd = System.currentTimeMillis() + AutonomousConstants.SHOOT_REVERSE_CYCLE_MS; + while (isIntakeCycling && opMode.opModeIsActive() && System.currentTimeMillis() < reverseEnd) { + try { Thread.sleep(10); } catch (InterruptedException e) { return; } + } + } + } + robot.intake.stop(); + }); + intakeCycleThread.setDaemon(true); + intakeCycleThread.start(); } public void runIntakeForward() { @@ -70,9 +99,33 @@ public void runIntakeReverse() { } public void disableIntake() { + isIntakeCycling = false; + if (intakeCycleThread != null) { + intakeCycleThread.interrupt(); + try { intakeCycleThread.join(500); } catch (InterruptedException ignored) {} + intakeCycleThread = null; + } robot.intake.stop(); } + /** + * Pauses the reverse (jam-clearing) phase of the intake cycle. + * The intake will run forward-only until resumeIntakeCycling() is called. + * Use this while driving over intake positions so the intake stays engaged. + */ + public void pauseIntakeCycling() { + intakePaused = true; + // Immediately drive forward so there is no gap at the moment of pause + robot.intake.runFromTrigger(AutonomousConstants.INTAKE_FORWARD_SPEED); + } + + /** + * Resumes the full forward→reverse jam-clearing cycle. + */ + public void resumeIntakeCycling() { + intakePaused = false; + } + /** * Drives to a point and blocks until the robot is near the target or opmode stops. */ @@ -152,8 +205,7 @@ public void shoot(long durationMs) { public void update() { follower.update(); - // Always ensure the intake is running forward during autonomous - robot.intake.runFromTrigger(AutonomousConstants.INTAKE_FORWARD_SPEED); + // Intake is managed by the background cycling thread when enableIntake() is active if (!isShooting) { double feederPower; From b3731364491856d8ed6279d54f1ad02fb5b1d7b9 Mon Sep 17 00:00:00 2001 From: YetAnotherNotHacking Date: Thu, 21 May 2026 23:30:24 -0600 Subject: [PATCH 8/8] pause intake reversing when we are actually intaking --- .../ftc/teamcode/autonomous/opmodes/BlueBack12.java | 4 ++++ .../ftc/teamcode/autonomous/opmodes/BlueBack9.java | 2 ++ .../ftc/teamcode/autonomous/opmodes/BlueFront6.java | 2 ++ .../ftc/teamcode/autonomous/opmodes/BlueFront9.java | 4 ++++ .../ftc/teamcode/autonomous/opmodes/RedBack12.java | 4 ++++ .../ftc/teamcode/autonomous/opmodes/RedBack9.java | 2 ++ .../ftc/teamcode/autonomous/opmodes/RedFront6.java | 2 ++ .../ftc/teamcode/autonomous/opmodes/RedFront9.java | 4 ++++ 8 files changed, 24 insertions(+) diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java index 9fb68ad..b3ce371 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack12.java @@ -39,6 +39,7 @@ protected void runAutonomous() { } // 5. move to intake position 1 for back row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_CLOSE_1); // 6. move to intake position 2 for back row intake @@ -46,9 +47,11 @@ protected void runAutonomous() { // 7. shoot balls controller.pathTo(AutonomousPoints.Blue.Back.SHOOT); + controller.resumeIntakeCycling(); controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 8. move to intake position 1 for middle row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_MIDDLE_1); // 9. move to intake position 2 for middle row intake @@ -56,6 +59,7 @@ protected void runAutonomous() { // 10. shoot balls controller.pathTo(AutonomousPoints.Blue.Back.SHOOT); + controller.resumeIntakeCycling(); controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 11. park back position diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java index d50802f..b869267 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueBack9.java @@ -39,6 +39,7 @@ protected void runAutonomous() { } // 5. move to intake position 1 for back row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Blue.Back.INTAKE_CLOSE_1); // 6. move to intake position 2 for back row intake @@ -46,6 +47,7 @@ protected void runAutonomous() { // 7. shoot balls controller.pathTo(AutonomousPoints.Blue.Back.SHOOT); + controller.resumeIntakeCycling(); controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 8. park back position diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java index 79397ad..ac4ca82 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront6.java @@ -30,6 +30,7 @@ protected void runAutonomous() { controller.enableIntake(); // 3. move to intake position 1 for far row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_FAR_1); // 4. move to intake position 2 for far row intake @@ -37,6 +38,7 @@ protected void runAutonomous() { // 5. move to shoot position controller.pathTo(AutonomousPoints.Blue.Front.SHOOT); + controller.resumeIntakeCycling(); // 6. shoot balls controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java index 182f535..3a1909a 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/BlueFront9.java @@ -30,6 +30,7 @@ protected void runAutonomous() { controller.enableIntake(); // 3. move to intake position 1 for far row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_FAR_1); // 4. move to intake position 2 for far row intake @@ -37,11 +38,13 @@ protected void runAutonomous() { // 5. move to shoot position controller.pathTo(AutonomousPoints.Blue.Front.SHOOT); + controller.resumeIntakeCycling(); // 6. shoot balls controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 7. move to intake position 1 for middle row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Blue.Front.INTAKE_MID_1); // 8. move to intake position 2 for middle row intake @@ -49,6 +52,7 @@ protected void runAutonomous() { // 9. move to shoot position controller.pathTo(AutonomousPoints.Blue.Front.SHOOT); + controller.resumeIntakeCycling(); // 10. shoot balls controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java index 63cd65a..a125c45 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack12.java @@ -38,6 +38,7 @@ protected void runAutonomous() { } // 5. move to intake position 1 for back row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Red.Back.INTAKE_CLOSE_1); // 6. move to intake position 2 for back row intake @@ -45,9 +46,11 @@ protected void runAutonomous() { // 7. shoot balls controller.pathTo(AutonomousPoints.Red.Back.SHOOT); + controller.resumeIntakeCycling(); controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 8. move to intake position 1 for middle row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Red.Back.INTAKE_MIDDLE_1); // 9. move to intake position 2 for middle row intake @@ -55,6 +58,7 @@ protected void runAutonomous() { // 10. shoot balls controller.pathTo(AutonomousPoints.Red.Back.SHOOT); + controller.resumeIntakeCycling(); controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 11. park back position diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java index d3f25e1..f47830a 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedBack9.java @@ -38,6 +38,7 @@ protected void runAutonomous() { } // 5. move to intake position 1 for back row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Red.Back.INTAKE_CLOSE_1); // 6. move to intake position 2 for back row intake @@ -45,6 +46,7 @@ protected void runAutonomous() { // 7. shoot balls controller.pathTo(AutonomousPoints.Red.Back.SHOOT); + controller.resumeIntakeCycling(); controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 8. park back position diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java index 1eab4eb..afc3801 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront6.java @@ -29,6 +29,7 @@ protected void runAutonomous() { controller.enableIntake(); // 3. move to intake position 1 for far row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Red.Front.INTAKE_FAR_1); // 4. move to intake position 2 for far row intake @@ -36,6 +37,7 @@ protected void runAutonomous() { // 5. move to shoot position controller.pathTo(AutonomousPoints.Red.Front.SHOOT); + controller.resumeIntakeCycling(); // 6. shoot balls controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java index 5502afb..06b5724 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/autonomous/opmodes/RedFront9.java @@ -29,6 +29,7 @@ protected void runAutonomous() { controller.enableIntake(); // 3. move to intake position 1 for far row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Red.Front.INTAKE_FAR_1); // 4. move to intake position 2 for far row intake @@ -36,11 +37,13 @@ protected void runAutonomous() { // 5. move to shoot position controller.pathTo(AutonomousPoints.Red.Front.SHOOT); + controller.resumeIntakeCycling(); // 6. shoot balls controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME); // 7. move to intake position 1 for middle row intake + controller.pauseIntakeCycling(); controller.pathTo(AutonomousPoints.Red.Front.INTAKE_MID_1); // 8. move to intake position 2 for middle row intake @@ -48,6 +51,7 @@ protected void runAutonomous() { // 9. move to shoot position controller.pathTo(AutonomousPoints.Red.Front.SHOOT); + controller.resumeIntakeCycling(); // 10. shoot balls controller.shoot(AutonomousConstants.CYCLE_SHOOT_TIME);