From a7863f153ba363fe39f357f8c2e767e99bcfb888 Mon Sep 17 00:00:00 2001 From: aarav18 Date: Sat, 11 Jan 2020 11:51:21 -0700 Subject: [PATCH 1/2] Configure Normal Mode for Drive - Brake when auto and teleop - Coast when disabled --- src/main/java/frc4388/robot/Robot.java | 6 ++++++ src/main/java/frc4388/robot/RobotContainer.java | 6 ++++++ src/main/java/frc4388/robot/subsystems/Drive.java | 7 +++++++ 3 files changed, 19 insertions(+) diff --git a/src/main/java/frc4388/robot/Robot.java b/src/main/java/frc4388/robot/Robot.java index 7735364..8c15e6a 100644 --- a/src/main/java/frc4388/robot/Robot.java +++ b/src/main/java/frc4388/robot/Robot.java @@ -7,6 +7,8 @@ package frc4388.robot; +import com.ctre.phoenix.motorcontrol.NeutralMode; + import edu.wpi.first.wpilibj.TimedRobot; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.CommandScheduler; @@ -58,6 +60,7 @@ public class Robot extends TimedRobot { */ @Override public void disabledInit() { + m_robotContainer.setDriveNeutralMode(NeutralMode.Coast); } @Override @@ -71,6 +74,7 @@ public class Robot extends TimedRobot { public void autonomousInit() { m_autonomousCommand = m_robotContainer.getAutonomousCommand(); + m_robotContainer.setDriveNeutralMode(NeutralMode.Brake); /* * String autoSelected = SmartDashboard.getString("Auto Selector", * "Default"); switch(autoSelected) { case "My Auto": autonomousCommand @@ -93,6 +97,8 @@ public class Robot extends TimedRobot { @Override public void teleopInit() { + m_robotContainer.setDriveNeutralMode(NeutralMode.Brake); + // This makes sure that the autonomous stops running when // teleop starts running. If you want the autonomous to // continue until interrupted by another command, remove diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index 1aaaddc..06b85f2 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -7,6 +7,8 @@ package frc4388.robot; +import com.ctre.phoenix.motorcontrol.NeutralMode; + import edu.wpi.first.wpilibj.Joystick; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.InstantCommand; @@ -69,6 +71,10 @@ public class RobotContainer { .whenReleased(() -> m_robotLED.setPattern(LEDConstants.DEFAULT_PATTERN)); } + public void setDriveNeutralMode(NeutralMode mode) { + m_robotDrive.setDriveTrainNeutralMode(mode); + } + /** * Use this to pass the autonomous command to the main {@link Robot} class. * diff --git a/src/main/java/frc4388/robot/subsystems/Drive.java b/src/main/java/frc4388/robot/subsystems/Drive.java index c5640e1..c50f5c0 100644 --- a/src/main/java/frc4388/robot/subsystems/Drive.java +++ b/src/main/java/frc4388/robot/subsystems/Drive.java @@ -73,6 +73,13 @@ public class Drive extends SubsystemBase { } } + public void setDriveTrainNeutralMode(NeutralMode mode) { + m_leftFrontMotor.setNeutralMode(mode); + m_rightFrontMotor.setNeutralMode(mode); + m_leftFrontMotor.setNeutralMode(mode); + m_rightFrontMotor.setNeutralMode(mode); + } + /** * Add your docs here. */ From d4f55b93d612ce41a103c99d5bd407d0ecc54460 Mon Sep 17 00:00:00 2001 From: Aarav Date: Sat, 11 Jan 2020 13:00:14 -0700 Subject: [PATCH 2/2] Added Java Docs for Method --- src/main/java/frc4388/robot/RobotContainer.java | 6 +++++- src/main/java/frc4388/robot/subsystems/Drive.java | 9 +++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index 06b85f2..ad837e9 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -70,7 +70,11 @@ public class RobotContainer { .whenPressed(() -> m_robotLED.setPattern(LEDPatterns.LAVA_RAINBOW)) .whenReleased(() -> m_robotLED.setPattern(LEDConstants.DEFAULT_PATTERN)); } - + + /** + * Sets Motors to a NeutralMode. + * @param mode NeutralMode to set motors to + */ public void setDriveNeutralMode(NeutralMode mode) { m_robotDrive.setDriveTrainNeutralMode(mode); } diff --git a/src/main/java/frc4388/robot/subsystems/Drive.java b/src/main/java/frc4388/robot/subsystems/Drive.java index c50f5c0..8109d46 100644 --- a/src/main/java/frc4388/robot/subsystems/Drive.java +++ b/src/main/java/frc4388/robot/subsystems/Drive.java @@ -50,10 +50,7 @@ public class Drive extends SubsystemBase { m_rightBackMotor.follow(m_rightFrontMotor); /* set neutral mode */ - m_leftFrontMotor.setNeutralMode(NeutralMode.Brake); - m_rightFrontMotor.setNeutralMode(NeutralMode.Brake); - m_leftFrontMotor.setNeutralMode(NeutralMode.Brake); - m_rightFrontMotor.setNeutralMode(NeutralMode.Brake); + setDriveTrainNeutralMode(NeutralMode.Brake); /* flip input so forward becomes back, etc */ m_leftFrontMotor.setInverted(false); @@ -73,6 +70,10 @@ public class Drive extends SubsystemBase { } } + /** + * Sets Motors to a NeutralMode. + * @param mode NeutralMode to set motors to + */ public void setDriveTrainNeutralMode(NeutralMode mode) { m_leftFrontMotor.setNeutralMode(mode); m_rightFrontMotor.setNeutralMode(mode);