Skip to content

Commit

Permalink
switch feeder from duty cycle to voltage control
Browse files Browse the repository at this point in the history
  • Loading branch information
mpatankar6 committed Mar 8, 2024
1 parent 34ec308 commit 9a185ec
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 16 deletions.
10 changes: 5 additions & 5 deletions src/main/java/frc/robot/feeder/Feeder.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public void periodic() {
}

public Command idle() {
return this.run(() -> m_io.setRollerSpeedDutyCycle(0.0));
return this.run(() -> m_io.setRollerSpeedVolts(0.0));
}

public Command stop() {
Expand All @@ -39,23 +39,23 @@ public Command stop() {

public Command shoot() {
return Commands.parallel(
this.run(() -> m_io.setRollerSpeedDutyCycle(-0.5)),
this.run(() -> m_io.setRollerSpeedVolts(-6.0)),
Commands.waitUntil(hasNote.negate()).andThen(NoteVisualizer.shoot()));
}

public Command feed() {
return this.run(() -> m_io.setRollerSpeedDutyCycle(-0.35));
return this.run(() -> m_io.setRollerSpeedVolts(-4.2));
}

public Command spit() {
return this.run(() -> m_io.setRollerSpeedDutyCycle(1.0));
return this.run(() -> m_io.setRollerSpeedVolts(12.0));
}

public Command enterCoast() {
return this.startEnd(() -> m_io.setBrakeMode(false), () -> m_io.setBrakeMode(true));
}

public Command pullBack() {
return this.run(() -> m_io.setRollerSpeedDutyCycle(0.25));
return this.run(() -> m_io.setRollerSpeedVolts(3.0));
}
}
2 changes: 1 addition & 1 deletion src/main/java/frc/robot/feeder/FeederIO.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public static class FeederIOInputs {

public default void updateInputs(FeederIOInputs inputs) {}

public default void setRollerSpeedDutyCycle(double dutyCycle) {}
public default void setRollerSpeedVolts(double volts) {}

public default void setBrakeMode(boolean enableBrakeMode) {}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/frc/robot/feeder/FeederIOSim.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public void updateInputs(FeederIOInputs inputs) {
}

@Override
public void setRollerSpeedDutyCycle(double dutyCycle) {
m_appliedVoltage = MathUtil.clamp(dutyCycle * 12.0, -12.0, 12.0);
public void setRollerSpeedVolts(double volts) {
m_appliedVoltage = MathUtil.clamp(volts, -12.0, 12.0);
}
}
11 changes: 3 additions & 8 deletions src/main/java/frc/robot/feeder/FeederIOTalonFX.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import com.ctre.phoenix6.StatusCode;
import com.ctre.phoenix6.StatusSignal;
import com.ctre.phoenix6.configs.TalonFXConfiguration;
import com.ctre.phoenix6.controls.DutyCycleOut;
import com.ctre.phoenix6.hardware.TalonFX;
import com.ctre.phoenix6.signals.NeutralModeValue;
import edu.wpi.first.wpilibj.DigitalInput;
Expand All @@ -14,8 +13,6 @@ public class FeederIOTalonFX implements FeederIO {
private final TalonFX m_feederMotor;
private final DigitalInput m_topNoteSensor;

private final DutyCycleOut m_feederControl;

private final StatusSignal<Double> m_rollerPositionSignal,
m_rollerVelocitySignal,
m_rollerAppliedVoltageSignal,
Expand All @@ -39,8 +36,6 @@ public FeederIOTalonFX() {
BaseStatusSignal.setUpdateFrequencyForAll(
50.0, m_rollerVelocitySignal, m_rollerAppliedVoltageSignal, m_rollerCurrentSignal);
m_feederMotor.optimizeBusUtilization();

m_feederControl = new DutyCycleOut(0, false, false, false, false).withUpdateFreqHz(0.0);
}

@Override
Expand All @@ -61,8 +56,8 @@ public void updateInputs(FeederIOInputs inputs) {
}

@Override
public void setRollerSpeedDutyCycle(double volts) {
m_feederMotor.setControl(m_feederControl.withOutput(volts));
public void setRollerSpeedVolts(double volts) {
m_feederMotor.setVoltage(volts);
}

public void setBrakeMode(boolean enableBrakeMode) {
Expand All @@ -73,6 +68,6 @@ public void setBrakeMode(boolean enableBrakeMode) {

@Override
public void stopRoller() {
m_feederMotor.setControl(m_feederControl.withOutput(0.0));
m_feederMotor.setVoltage(0.0);
}
}

0 comments on commit 9a185ec

Please sign in to comment.