From 0b6cf55dc06b676cb4a641e119cc40a790a930fb Mon Sep 17 00:00:00 2001 From: OnDYCLaptop Date: Tue, 19 May 2026 15:37:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=89=8B=E6=9F=84=E7=9A=84?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E6=BC=94=E7=A4=BA=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/frc/robot/RobotContainer.java | 22 ++++++++++--------- .../frc/robot/controls/IntakerControls.java | 8 ++++++- .../frc/robot/controls/ShooterControls.java | 2 +- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index 312cac9..079f8dd 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -36,9 +36,9 @@ public class RobotContainer { /* 手柄 */ /* ====================== */ - // 使用2个 Xbox 手柄(端口 0,1) + // Demo mode uses one Xbox controller on port 0. private final CommandXboxController controllerlower = new CommandXboxController(0); - private final CommandXboxController controllerupper = new CommandXboxController(1); + private final CommandXboxController controllerupper = controllerlower; /* ====================== */ /* 子系统 */ @@ -124,6 +124,8 @@ public class RobotContainer { // Disabled 时进入 idle(防止模块乱动) RobotModeTriggers.disabled().whileTrue(driveControls.idleCommand()); + if (!Constants.DemoMode.ENABLED) { + //左保险:按住刹车 controllerlower.leftBumper() @@ -139,13 +141,7 @@ public class RobotContainer { controllerlower.back().onTrue(drivetrain.runOnce(drivetrain::seedFieldCentric)); // Start:强行使用metaTag2全场定位 - if (Constants.DemoMode.ENABLED) { - controllerlower.start() - .onTrue(Commands.runOnce(driveControls::emergencyStop) - .andThen(robotStatusManager.setStatusCommand(RobotStatus.Stopped))) - .onFalse(robotStatusManager.setStatusCommand(RobotStatus.AllTelop)); - } else { - controllerlower.start().whileTrue(drivetrain.run(drivetrain::forceUsingLimelightmt2)); + controllerlower.start().whileTrue(drivetrain.run(drivetrain::forceUsingLimelightmt2)); controllerlower.a().whileTrue(drivetrain.run(()->{drivetrain.forceUsingLimelightmt2WithllName(Constants.Limelight.LIMELIGHT_NAME_Shooter); System.out.println("Try using shooter for metatag2"); @@ -188,7 +184,13 @@ public class RobotContainer { controllerupper.povUp().onTrue(Commands.runOnce(() -> shooterControls.adjustBackboardRateOffset(100))); controllerupper.povDown().onTrue(Commands.runOnce(() -> shooterControls.adjustBackboardRateOffset(-100))); controllerupper.back().onTrue(Commands.runOnce(() -> shooterControls.resetOffsets())); - controllerupper.start().onTrue(shooterControls.resetBackboardCommand()); + if (Constants.DemoMode.ENABLED) { + controllerupper.rightTrigger() + .onTrue(robotStatusManager.setStatusCommand(RobotStatus.AutoAimming)) + .onFalse(robotStatusManager.setStatusCommand(RobotStatus.AllTelop)); + } else { + controllerupper.start().onTrue(shooterControls.resetBackboardCommand()); + } } diff --git a/src/main/java/frc/robot/controls/IntakerControls.java b/src/main/java/frc/robot/controls/IntakerControls.java index 0937c78..c3084e7 100644 --- a/src/main/java/frc/robot/controls/IntakerControls.java +++ b/src/main/java/frc/robot/controls/IntakerControls.java @@ -81,6 +81,12 @@ public class IntakerControls { IntakerSubsystem.setIntakerGetterSpeed(getterspeed); + boolean demoModeEnabled = Constants.DemoMode.ENABLED; + if (demoModeEnabled) { + IntakerSubsystem.stopIntakerotater(); + return; + } + if(controller.getLeftY() < -0.5){ IntakerSubsystem.IntakerUpNonStop(); } else if(controller.getLeftY() > 0.5){ @@ -93,4 +99,4 @@ public class IntakerControls { public Command resetIntakerRotaterEncoderCommand(IntakerSubsystem intakerSubsystem) { return Commands.runOnce(intakerSubsystem::zeroEncoder, intakerSubsystem); } -} \ No newline at end of file +} diff --git a/src/main/java/frc/robot/controls/ShooterControls.java b/src/main/java/frc/robot/controls/ShooterControls.java index ac98a70..fb0cd04 100644 --- a/src/main/java/frc/robot/controls/ShooterControls.java +++ b/src/main/java/frc/robot/controls/ShooterControls.java @@ -48,7 +48,7 @@ public class ShooterControls { shooterSubsystem.outputBackboard(); } shooterSubsystem.setFlywheelSpeedByRPS(0); - if(controller.a().getAsBoolean()) { shooterSubsystem.setConveyorSpeedByRPS(Constants.Shooter.conveyorSpeed);} + if(!Constants.DemoMode.ENABLED && controller.a().getAsBoolean()) { shooterSubsystem.setConveyorSpeedByRPS(Constants.Shooter.conveyorSpeed);} else{shooterSubsystem.setConveyorSpeedByRPS(0);} break; case PassingBall: