Skip to content
Merged
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
14 changes: 13 additions & 1 deletion src/main/java/org/team2342/frc/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,17 @@ public static final class DriveConstants {
public static final double ODOMETRY_FREQUENCY = IS_CANFD ? 250.0 : 100.0;
}

public static final class KickerConstants {
public static final double RUN_VOLTAGE = 7.0;

public static final MotorConfig KICKER_CONFIG =
new MotorConfig()
.withMotorInverted(true)
.withSupplyCurrentLimit(30.0)
.withStatorCurrentLimit(40.0)
.withIdleMode(MotorConfig.IdleMode.BRAKE);
}

public static final class ConductorConstants {
public static final double TRENCH_BUFFER = 0.1;
}
Expand Down Expand Up @@ -295,7 +306,8 @@ public static final class CANConstants {

public static final int INDEXER_WHEEL_ID = 20;
public static final int INDEXER_BELT_ID = 21;
public static final int INDEXER_FEEDER_ID = 22;

public static final int KICKER_ID = 22;

public static final int TURRET_ID = 23;

Expand Down
28 changes: 13 additions & 15 deletions src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,38 +18,37 @@

public class Indexer extends SubsystemBase {
private final DumbMotorIO beltMotor;
private final DumbMotorIO feederMotor;
private final DumbMotorIOInputsAutoLogged wheelMotorInputs = new DumbMotorIOInputsAutoLogged();
private final DumbMotorIOInputsAutoLogged beltMotorInputs = new DumbMotorIOInputsAutoLogged();
private final DumbMotorIOInputsAutoLogged feederMotorInputs = new DumbMotorIOInputsAutoLogged();


private final Alert wheelMotorAlert =
new Alert("Indexer Wheel Motor is diconnected", AlertType.kError);
private final Alert beltMotorAlert =
new Alert("Indexer Belt Motor is diconnected", AlertType.kError);
private final Alert feederMotorAlert =
new Alert("Indexer Feeder Motor is diconnected", AlertType.kError);

public Indexer(DumbMotorIO beltMotor, DumbMotorIO feederMotor) {

public Indexer(DumbMotorIO wheelMotor, DumbMotorIO beltMotor) {
this.beltMotor = beltMotor;
this.feederMotor = feederMotor;
setName("Indexer");

setDefaultCommand(
run(
() -> {
beltMotor.runVoltage(0.0);
feederMotor.runVoltage(0.0);

}));
}

@Override
public void periodic() {
beltMotor.updateInputs(beltMotorInputs);
feederMotor.updateInputs(feederMotorInputs);


Logger.processInputs("Indexer/BeltMotor", beltMotorInputs);
Logger.processInputs("Indexer/FeederMotor", feederMotorInputs);


beltMotorAlert.set(!beltMotorInputs.connected);
feederMotorAlert.set(!feederMotorInputs.connected);


ExecutionLogger.log("Indexer");
}
Expand All @@ -63,16 +62,15 @@ public Command load() {

public Command feed() {
return run(() -> {
beltMotor.runVoltage(IndexerConstants.RUN_VOLTAGE);
feederMotor.runVoltage(IndexerConstants.FEEDER_VOLTAGE);
beltMotor.runTorqueCurrent(IndexerConstants.RUN_CURRENT);

})
.withName("Indexer Feed");
}

public Command out() {
return run(() -> {
beltMotor.runVoltage(-IndexerConstants.RUN_VOLTAGE);
feederMotor.runVoltage(-IndexerConstants.FEEDER_VOLTAGE);
})
.withName("Indexer Out");
}
Expand All @@ -81,7 +79,7 @@ public Command stop() {
return runOnce(
() -> {
beltMotor.runVoltage(0.0);
feederMotor.runVoltage(0.0);

})
.withName("Indexer Stop");
}
Expand Down
51 changes: 51 additions & 0 deletions src/main/java/org/team2342/frc/subsystems/kicker/Kicker.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package org.team2342.frc.subsystems.kicker;

import org.littletonrobotics.junction.Logger;
import org.team2342.frc.Constants.KickerConstants;
import org.team2342.lib.logging.ExecutionLogger;
import org.team2342.lib.motors.dumb.DumbMotorIO;
import org.team2342.lib.motors.dumb.DumbMotorIOInputsAutoLogged;

import edu.wpi.first.wpilibj.Alert;
import edu.wpi.first.wpilibj.Alert.AlertType;
import edu.wpi.first.wpilibj2.command.Command;
import edu.wpi.first.wpilibj2.command.SubsystemBase;

public class Kicker extends SubsystemBase{
private final DumbMotorIO kickerMotor;

private final DumbMotorIOInputsAutoLogged kickerMotorInputs = new DumbMotorIOInputsAutoLogged();
private final Alert kickerMotorAlert =
new Alert("Indexer Feeder Motor is diconnected", AlertType.kError);

public Kicker(DumbMotorIO kickerMotor) {
this.kickerMotor = kickerMotor;
setName("Shooter/Kicker");
setDefaultCommand(run(() -> kickerMotor.runVoltage(0.0)));
}

@Override
public void periodic() {
kickerMotor.updateInputs(kickerMotorInputs);

Logger.processInputs("Shooter/Kicker", kickerMotorInputs);

kickerMotorAlert.set(!kickerMotorInputs.connected);

ExecutionLogger.log("Shooter/Kicker");
}

public Command in() {
return run(() -> kickerMotor.runVoltage(KickerConstants.RUN_VOLTAGE)).withName("Kicker Motor Run");
}
public Command out() {
return run(() -> kickerMotor.runVoltage(-KickerConstants.RUN_VOLTAGE)).withName("Kicker Motor Run");
}
public Command stop() {
return runOnce(
() -> {
kickerMotor.runVoltage(0.0);
})
.withName("Kicker Stop");
}
}
Loading