Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion src/main/java/frc/robot/RobotContainer.java
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,10 @@ public RobotContainer() {
public void stop() {
drive.stop();
superstructure.stop();
conveyor.disableBrake();
climb.disableBrake();
arm.disableBrake();
drive.disableBrake();
}

public void updateSubsystems() {
Expand All @@ -168,7 +172,10 @@ public void updateSubsystems() {

public void updateUserInput() {
Logger.recordOutput("Odometry/Gyro", drive.getGyroYaw().getDegrees());

conveyor.enableBrake();
climb.enableBrake();
arm.enableBrake();
drive.enableBrake();
/*
* Driver input w/ superstructure
*/
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/frc/robot/Superstructure.java
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ public void periodic() {
intake.setStopped();
conveyor.setStopped();
shooter.setStopped();
conveyor.disableBrake();
climb.disableBrake();
arm.disableBrake();
// arm.setStopped();
break;
case RESET:
Expand All @@ -136,6 +139,9 @@ public void periodic() {
* arm.setpositon(HOME) -- > HOME setpoint
*/
climb.setStopped();
conveyor.enableBrake();
climb.enableBrake();
arm.enableBrake();
if (conveyor.hasNote()) {
if (arm.getState() == ArmStates.AT_SETPOINT
&& shooter.getState() == ShooterStates.AT_SETPOINT) {
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/frc/robot/subsystems/climb/Climb.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import edu.wpi.first.wpilibj2.command.SubsystemBase;
import org.littletonrobotics.junction.Logger;

import com.ctre.phoenix6.signals.NeutralModeValue;

public class Climb extends SubsystemBase {
private ClimbIO io;
private ClimbIOInputsAutoLogged inputs = new ClimbIOInputsAutoLogged();
Expand Down Expand Up @@ -72,4 +74,14 @@ public void resetRotationCount() {
public void setStopped() {
io.stop();
}

/** Disables brake mode */
public void disableBrake() {
io.setMotorMode(NeutralModeValue.Coast);
}

/** Enables brake mode */
public void enableBrake() {
io.setMotorMode(NeutralModeValue.Brake);
}
}
5 changes: 5 additions & 0 deletions src/main/java/frc/robot/subsystems/climb/ClimbIO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import org.littletonrobotics.junction.AutoLog;

import com.ctre.phoenix6.signals.NeutralModeValue;

public interface ClimbIO {
@AutoLog
public class ClimbIOInputs {
Expand All @@ -24,4 +26,7 @@ public class ClimbIOInputs {
public void stopLeader();

public void stopFollower();

/** Changes motors to the given mode */
public default void setMotorMode(NeutralModeValue mode) {}
}
6 changes: 6 additions & 0 deletions src/main/java/frc/robot/subsystems/climb/ClimbIOTalonFX.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,12 @@ public void setVoltage(double voltage) {
}
}

@Override
public void setMotorMode(NeutralModeValue mode) {
leader.setNeutralMode(mode);
follower.setNeutralMode(mode);
}

public void stop() {
leader.stopMotor();
follower.stopMotor();
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/frc/robot/subsystems/conveyor/Conveyor.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import edu.wpi.first.wpilibj2.command.SubsystemBase;
import org.littletonrobotics.junction.Logger;
import com.ctre.phoenix6.signals.NeutralModeValue;

/**
* Nemesis Conveyor for 2024
Expand Down Expand Up @@ -128,6 +129,16 @@ public boolean detectedShooterSide() {
public boolean hasNote() {
return inputs.hasNote;
}

/** Disables brake mode */
public void disableBrake() {
io.setMotorMode(NeutralModeValue.Coast);
}

/** Enables brake mode */
public void enableBrake() {
io.setMotorMode(NeutralModeValue.Brake);
}
}

/**
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/frc/robot/subsystems/conveyor/ConveyorIO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import org.littletonrobotics.junction.AutoLog;

import com.ctre.phoenix6.signals.NeutralModeValue;

/**
* @author Ian Keller
*/
Expand Down Expand Up @@ -37,4 +39,7 @@ public default void runPower(double power) {}
public default void runPower(double feederPower, double diverterPower) {}

public default void stop() {}

/** Changes motors to the given mode */
public default void setMotorMode(NeutralModeValue mode) {}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package frc.robot.subsystems.conveyor;

import com.ctre.phoenix.motorcontrol.NeutralMode;
import com.ctre.phoenix6.BaseStatusSignal;
import com.ctre.phoenix6.StatusSignal;
import com.ctre.phoenix6.configs.TalonFXConfiguration;
Expand Down Expand Up @@ -89,6 +90,12 @@ public void runPower(double feederPower, double diverterPower) {
diverterMotor.set(diverterPower);
}

@Override
public void setMotorMode(NeutralModeValue mode) {
feederMotor.setNeutralMode(mode);
diverterMotor.setNeutralMode(mode);
}

/**
* Checks if there is something detected by the shooter side prox sensor
*
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/frc/robot/subsystems/drive/Drive.java
Original file line number Diff line number Diff line change
Expand Up @@ -351,4 +351,16 @@ public ChassisSpeeds getCurrentChassisSpeeds() {

return currentSpeeds;
}

public void enableBrake() {
for (Module m: modules) {
m.setBrakeMode(true);
}
}

public void disableBrake() {
for (Module m: modules) {
m.setBrakeMode(false);
}
}
}
12 changes: 12 additions & 0 deletions src/main/java/frc/robot/subsystems/elevatorarm/Arm.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package frc.robot.subsystems.elevatorarm;

import com.ctre.phoenix6.controls.DutyCycleOut;
import com.ctre.phoenix6.signals.NeutralModeValue;

import edu.wpi.first.wpilibj2.command.SubsystemBase;
import frc.robot.Constants.ArmConstants;
import frc.robot.util.HelperFn;
Expand Down Expand Up @@ -138,4 +140,14 @@ public double getAbsolutePosition() {
public ArmStates getState() {
return state;
}

/** Disables brake mode */
public void disableBrake() {
arm.setMotorMode(NeutralModeValue.Coast);
}

/** Enables brake mode */
public void enableBrake() {
arm.setMotorMode(NeutralModeValue.Brake);
}
}
5 changes: 5 additions & 0 deletions src/main/java/frc/robot/subsystems/elevatorarm/ArmIO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import org.littletonrobotics.junction.AutoLog;

import com.ctre.phoenix6.signals.NeutralModeValue;

public interface ArmIO {
@AutoLog
public static class ArmIOInputs {
Expand Down Expand Up @@ -30,4 +32,7 @@ public default void enableBrakeMode(boolean enable) {}

/** Updates tunable numbers */
public default void updateTunableNumbers() {}

/** Changes motors to the given mode */
public default void setMotorMode(NeutralModeValue mode) {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,11 @@ public void setPower(DutyCycleOut power) {
arm.setControl(power);
}

@Override
public void setMotorMode(NeutralModeValue mode) {
arm.setNeutralMode(mode);
}

// private static double CANCoderSensorUnitsToDegrees(double sensorUnits) {
// return sensorUnits * (360.0) / 4096.0;
// }
Expand Down