diff --git a/wpilibcExamples/src/main/cpp/examples/SwerveControllerCommand/cpp/RobotContainer.cpp b/wpilibcExamples/src/main/cpp/examples/SwerveControllerCommand/cpp/RobotContainer.cpp index 52b25b9cb73..2da1d94cfdb 100644 --- a/wpilibcExamples/src/main/cpp/examples/SwerveControllerCommand/cpp/RobotContainer.cpp +++ b/wpilibcExamples/src/main/cpp/examples/SwerveControllerCommand/cpp/RobotContainer.cpp @@ -35,9 +35,13 @@ RobotContainer::RobotContainer() { m_drive.SetDefaultCommand(frc2::RunCommand( [this] { m_drive.Drive( - units::meters_per_second_t{m_driverController.GetLeftY()}, - units::meters_per_second_t{m_driverController.GetLeftX()}, - units::radians_per_second_t{m_driverController.GetRightX()}, false); + // Multiply by max speed to map the joystick unitless inputs to + // actual units. This will map the [-1, 1] to [max speed backwards, + // max speed forwards], converting them to actual units. + m_driverController.GetLeftY() * AutoConstants::kMaxSpeed, + m_driverController.GetLeftX() * AutoConstants::kMaxSpeed, + m_driverController.GetRightX() * AutoConstants::kMaxAngularSpeed, + false); }, {&m_drive})); } diff --git a/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/swervecontrollercommand/RobotContainer.java b/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/swervecontrollercommand/RobotContainer.java index 4884a5d76fd..cf0ff8c5efe 100644 --- a/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/swervecontrollercommand/RobotContainer.java +++ b/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/swervecontrollercommand/RobotContainer.java @@ -15,6 +15,7 @@ import edu.wpi.first.wpilibj.XboxController; import edu.wpi.first.wpilibj.examples.swervecontrollercommand.Constants.AutoConstants; import edu.wpi.first.wpilibj.examples.swervecontrollercommand.Constants.DriveConstants; +import edu.wpi.first.wpilibj.examples.swervecontrollercommand.Constants.ModuleConstants; import edu.wpi.first.wpilibj.examples.swervecontrollercommand.Constants.OIConstants; import edu.wpi.first.wpilibj.examples.swervecontrollercommand.subsystems.DriveSubsystem; import edu.wpi.first.wpilibj2.command.Command; @@ -48,9 +49,13 @@ public RobotContainer() { new RunCommand( () -> m_robotDrive.drive( - m_driverController.getLeftY(), - m_driverController.getLeftX(), - m_driverController.getRightX(), + // Multiply by max speed to map the joystick unitless inputs to actual units. + // This will map the [-1, 1] to [max speed backwards, max speed forwards], + // converting them to actual units. + m_driverController.getLeftY() * DriveConstants.kMaxSpeedMetersPerSecond, + m_driverController.getLeftX() * DriveConstants.kMaxSpeedMetersPerSecond, + m_driverController.getRightX() + * ModuleConstants.kMaxModuleAngularSpeedRadiansPerSecond, false), m_robotDrive)); }