Shooting is working
This commit is contained in:
parent
65e25ee9e3
commit
a06b44edf7
|
|
@ -117,7 +117,7 @@ public final class Constants {
|
|||
|
||||
public static class HopperConstants {
|
||||
public static final int KICKER_MOTOR_ID = 9;
|
||||
public static final InvertedValue KICKER_MOTOR_DIRECTION = InvertedValue.CounterClockwise_Positive;
|
||||
public static final InvertedValue KICKER_MOTOR_DIRECTION = InvertedValue.Clockwise_Positive;
|
||||
|
||||
public static final int SPINDEXER_MOTOR_ID = 8;
|
||||
public static final InvertedValue SPINDEXER_MOTOR_DIRECTION = InvertedValue.CounterClockwise_Positive;
|
||||
|
|
|
|||
|
|
@ -70,6 +70,11 @@ public class RobotContainer {
|
|||
// m_driverController.x().onTrue(intakeSubsystem.killSpeedCommand());
|
||||
// m_driverController.a().onTrue(intakeSubsystem.startSpeedCommand());
|
||||
|
||||
|
||||
|
||||
m_driverController.b().whileTrue(turretSubsystem.setShooter(1500));
|
||||
m_driverController.x().whileTrue(turretSubsystem.setShooter(2000));
|
||||
m_driverController.y().whileTrue(turretSubsystem.setShooter(3000));
|
||||
m_driverController.a().whileTrue(new AutoShootCommandChassisTurret(driveSubsystem, hopperSubsystem, turretSubsystem));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public class AutoShootCommandChassisTurret extends Command{
|
|||
}
|
||||
});
|
||||
|
||||
turretSubsystem.setLauncher(2500);
|
||||
turretSubsystem.setLauncher(5500);
|
||||
hopperSubsystem.spindexerOn();
|
||||
cameraAutoCenterController.calculate(-100);
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import com.ctre.phoenix6.signals.InvertedValue;
|
|||
import com.revrobotics.PersistMode;
|
||||
import com.revrobotics.ResetMode;
|
||||
import com.revrobotics.spark.ClosedLoopSlot;
|
||||
import com.revrobotics.spark.FeedbackSensor;
|
||||
import com.revrobotics.spark.SparkClosedLoopController;
|
||||
import com.revrobotics.spark.SparkMax;
|
||||
import com.revrobotics.spark.SparkBase.ControlType;
|
||||
|
|
@ -33,6 +34,7 @@ import edu.wpi.first.units.measure.Angle;
|
|||
import edu.wpi.first.wpilibj.DigitalInput;
|
||||
import edu.wpi.first.wpilibj.Servo;
|
||||
import edu.wpi.first.wpilibj2.command.Command;
|
||||
import edu.wpi.first.wpilibj2.command.Commands;
|
||||
|
||||
public class TurretSubsystem extends TestableSubsystem {
|
||||
public enum TurretState {
|
||||
|
|
@ -81,8 +83,14 @@ public class TurretSubsystem extends TestableSubsystem {
|
|||
SparkMaxConfig config = new SparkMaxConfig()
|
||||
.apply((SparkMaxConfig) SparkMaxConfig.Presets.REV_NEO);
|
||||
config.inverted(Constants.ShooterConstants.LAUNCHER_MOTOR_INVERTED);
|
||||
config.closedLoop.p(1).i(0).d(0.1);
|
||||
config.closedLoop.allowedClosedLoopError(10, ClosedLoopSlot.kSlot0);
|
||||
config.voltageCompensation(10);
|
||||
config.closedLoop.p(0.0001).i(0).d(0.0); // I = 0.0000001
|
||||
config.closedLoop.feedForward.kS(0.2).kV(0.002).kA(0.00);
|
||||
// config.closedLoop.allowedClosedLoopError(10, ClosedLoopSlot.kSlot0);
|
||||
config.closedLoop.feedbackSensor(FeedbackSensor.kPrimaryEncoder);
|
||||
config.closedLoop.positionWrappingEnabled(false);
|
||||
// config.closedLoopRampRate(0.5);
|
||||
// config.smartCurrentLimit(5, 50);
|
||||
launcherMotor.configure(config, ResetMode.kResetSafeParameters, PersistMode.kPersistParameters);
|
||||
launcherControler = launcherMotor.getClosedLoopController();
|
||||
|
||||
|
|
@ -94,10 +102,13 @@ public class TurretSubsystem extends TestableSubsystem {
|
|||
turretGoingPos = false;
|
||||
}
|
||||
|
||||
public void setLauncher(double speed) {launcherControler.setSetpoint(speed, ControlType.kVelocity);}
|
||||
public void setLauncher(double speed) {
|
||||
launcherControler.setSetpoint(speed, ControlType.kVelocity, ClosedLoopSlot.kSlot0);
|
||||
// launcherMotor.set(speed/1000);
|
||||
}
|
||||
|
||||
public boolean isLauncherUpToSpeed() {
|
||||
return launcherControler.isAtSetpoint();
|
||||
return true;
|
||||
}
|
||||
|
||||
public void turretControl(double position)
|
||||
|
|
@ -117,6 +128,14 @@ public class TurretSubsystem extends TestableSubsystem {
|
|||
return this.runOnce(() -> setLauncher(-.5));
|
||||
}
|
||||
|
||||
public Command setShooter(int speedRPM){
|
||||
return Commands.runEnd(() -> {
|
||||
setLauncher(speedRPM);
|
||||
}, () -> {
|
||||
launcherMotor.stopMotor();
|
||||
}, this);
|
||||
}
|
||||
|
||||
public void startHoming()
|
||||
{
|
||||
//turretMotor.set(Constants.ShooterConstants.HOMING_SPEED);
|
||||
|
|
@ -164,7 +183,8 @@ public class TurretSubsystem extends TestableSubsystem {
|
|||
|
||||
if(LOGGING)
|
||||
{
|
||||
Logger.recordOutput("Launcher Speed (RPM)", launcherMotor.getEncoder().getVelocity());
|
||||
Logger.recordOutput("TurretSubsystem-Launcher Speed (RPM)", launcherMotor.getEncoder().getVelocity());
|
||||
Logger.recordOutput("TurretSubsystem-Launcher Volatge", launcherMotor.getOutputCurrent());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue