diff --git a/src/main/deploy/elastic-layout.json b/src/main/deploy/elastic-layout.json index ea19618..85fd3d4 100644 --- a/src/main/deploy/elastic-layout.json +++ b/src/main/deploy/elastic-layout.json @@ -55,6 +55,19 @@ "red_start_time": 15, "yellow_start_time": 30 } + }, + { + "title": "Speed cap", + "x": 0.0, + "y": 384.0, + "width": 512.0, + "height": 256.0, + "type": "Large Text Display", + "properties": { + "topic": "/SmartDashboard/Speed cap", + "period": 0.06, + "data_type": "double" + } } ] } diff --git a/src/main/java/raidzero/robot/RobotContainer.java b/src/main/java/raidzero/robot/RobotContainer.java index d2390b1..1bfdad3 100644 --- a/src/main/java/raidzero/robot/RobotContainer.java +++ b/src/main/java/raidzero/robot/RobotContainer.java @@ -134,8 +134,14 @@ private void configureBindings() { arm.moveWithDelay(Constants.TelescopingArm.Positions.INTAKE_POS_M_BLUE) ); - joystick.rightBumper().onTrue(new InstantCommand(() -> swerve.setSpeedModifier(1.0))); - joystick.leftBumper().onTrue(new InstantCommand(() -> swerve.setSpeedModifier(0.67))); + joystick.rightBumper().onTrue( + new InstantCommand(() -> swerve.setSpeedModifier(1.0)) + .andThen(new InstantCommand(() -> armStrip.setStrobeInterval(0.15))) + ); + joystick.leftBumper().onTrue( + new InstantCommand(() -> swerve.setSpeedModifier(0.67)) + .andThen(new InstantCommand(() -> armStrip.setStrobeInterval(0.50))) + ); // * Operator controls operator.button(Constants.Bindings.TOP_LEFT).onTrue(new InstantCommand(() -> arm.decreaseIntakeYOffset(0.01), arm)); diff --git a/src/main/java/raidzero/robot/subsystems/LEDStrip/ArmStrip.java b/src/main/java/raidzero/robot/subsystems/LEDStrip/ArmStrip.java index f9d14d4..548ff28 100644 --- a/src/main/java/raidzero/robot/subsystems/LEDStrip/ArmStrip.java +++ b/src/main/java/raidzero/robot/subsystems/LEDStrip/ArmStrip.java @@ -352,6 +352,15 @@ public void matchEndAnimation() { candle.animate(new RainbowAnimation(255, 0.75, -1)); } + /** + * Sets the strobe interval + * + * @param interval The interval in seconds + */ + public void setStrobeInterval(double interval) { + strobeInterval = interval; + } + /** * Sets the LED to red, green, blue in alternating sequence */ diff --git a/src/main/java/raidzero/robot/subsystems/drivetrain/Swerve.java b/src/main/java/raidzero/robot/subsystems/drivetrain/Swerve.java index fdbbba2..9bb1b55 100644 --- a/src/main/java/raidzero/robot/subsystems/drivetrain/Swerve.java +++ b/src/main/java/raidzero/robot/subsystems/drivetrain/Swerve.java @@ -440,7 +440,7 @@ public void periodic() { botpose.set(this.getState().Pose); field.setRobotPose(this.getState().Pose); - SmartDashboard.putNumber("Bot Speed", speedModifier * 100.0); + SmartDashboard.putNumber("Speed cap", speedModifier * 100.0); } /**