From a7863f153ba363fe39f357f8c2e767e99bcfb888 Mon Sep 17 00:00:00 2001 From: aarav18 Date: Sat, 11 Jan 2020 11:51:21 -0700 Subject: [PATCH] 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. */