Skip to content

Commit

Permalink
coralScorer works with ls. ls added to coralscorerspark
Browse files Browse the repository at this point in the history
  • Loading branch information
Team2486 committed Feb 1, 2025
1 parent 8bd2b22 commit 332d1be
Show file tree
Hide file tree
Showing 7 changed files with 110 additions and 49 deletions.
18 changes: 18 additions & 0 deletions src/main/java/frc/robot/RobotContainer.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,10 @@
import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine;
import frc.robot.Constants.AprilTagConstants.AprilTagLayoutType;
import frc.robot.Constants.OperatorConstants;
import frc.robot.commands.CoralScorerCommand;
import frc.robot.commands.DriveCommands;
import frc.robot.subsystems.CoralScorer.CoralScorer;
import frc.robot.subsystems.CoralScorer.CoralScorerIOSpark;
import frc.robot.subsystems.accelerometer.Accelerometer;
import frc.robot.subsystems.drive.Drive;
import frc.robot.subsystems.flywheel_example.Flywheel;
Expand Down Expand Up @@ -74,6 +77,8 @@ public class RobotContainer {
private final Drive m_drivebase;

private final Flywheel m_flywheel;

private final CoralScorer m_CoralScorer = new CoralScorer(new CoralScorerIOSpark());
// These are "Virtual Subsystems" that report information but have no motors
private final Accelerometer m_accel;
private final Vision m_vision;
Expand Down Expand Up @@ -243,6 +248,19 @@ private void configureBindings() {
() -> turnStickX.value()),
m_drivebase));

m_CoralScorer.setDefaultCommand(
Commands.run(
() ->
m_CoralScorer.runVolts(
driverController.getRightTriggerAxis() - driverController.getLeftTriggerAxis()),
m_CoralScorer));
driverController
.x()
.whileTrue(
new CoralScorerCommand(
m_CoralScorer,
driverController.getRightTriggerAxis() - driverController.getLeftTriggerAxis()));

// Press A button -> BRAKE
driverController
.a()
Expand Down
30 changes: 30 additions & 0 deletions src/main/java/frc/robot/commands/CoralScorerCommand.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package frc.robot.commands;

import edu.wpi.first.wpilibj2.command.Command;
import frc.robot.subsystems.CoralScorer.CoralScorer;

public class CoralScorerCommand extends Command {

private final CoralScorer haberdashery;

private final double volts;

public CoralScorerCommand(CoralScorer haberdashery, double volts) {
this.haberdashery = haberdashery;
this.volts = volts;
addRequirements(haberdashery);
}

@Override
public void initialize() {}

@Override
public void execute() {
haberdashery.runVoltsWithLS(volts);
}

@Override
public void end(boolean interupted) {
haberdashery.stop();
}
}
28 changes: 26 additions & 2 deletions src/main/java/frc/robot/subsystems/CoralScorer/CoralScorer.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
package frc.robot.subsystems.CoralScorer;

public class CoralScorer {

import frc.robot.util.RBSISubsystem;

public class CoralScorer extends RBSISubsystem {

private final CoralScorerIO io;

public CoralScorer(CoralScorerIO io) {
this.io = io;
}

/** Stop in open loop. */
public void stop() {
io.stop();
}

public void runVolts(double volts) {
io.setVolts(3 * volts);
}

public void runVoltsWithLS(double volts) {
if (io.getLightStop() == false) {
io.setVolts(3 * volts);
} else {
io.setVolts(-1.5 + (3 * volts));
}
}
}
28 changes: 7 additions & 21 deletions src/main/java/frc/robot/subsystems/CoralScorer/CoralScorerIO.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,35 +14,21 @@
// GNU General Public License for more details.
package frc.robot.subsystems.CoralScorer;

import java.util.function.BooleanSupplier;
import org.littletonrobotics.junction.AutoLog;

public interface CoralScorerIO {

// IMPORTANT: Include here all devices that are part of this mechanism!
public final int[] powerPorts = {};

@AutoLog
public static class CoralScorerIOInputs {
public double positionRad = 0.0;
public double velocityRadPerSec = 0.0;
public double appliedVolts = 0.0;
public double[] currentAmps = new double[] {};
}
public static class IntakeIOInputs {}

/** Updates the set of loggable inputs. */
public default void updateInputs(CoralScorerIOInputs inputs) {}
public default void lightStop(BooleanSupplier lightStop) {}

/** Run open loop at the specified voltage. */
public default void setVoltage(double volts) {}
public default void setVolts(double volts) {}

/** Run closed loop at the specified velocity. */
public default void setVelocity(double velocityRadPerSec, double ffVolts) {}
public default boolean getLightStop() {
return false;
}

/** Stop in open loop. */
public default void stop() {}

public default void moveXInches(double inches) {}

/** Set velocity PID constants. */
public default void configurePID(double kP, double kI, double kD) {}
}
Original file line number Diff line number Diff line change
@@ -1,25 +1,35 @@
package frc.robot.subsystems.CoralScorer;

import com.revrobotics.spark.SparkMax;
import com.revrobotics.spark.SparkBase;
import com.revrobotics.spark.SparkClosedLoopController;
import com.revrobotics.spark.SparkLowLevel.MotorType;
import com.revrobotics.spark.config.SparkMaxConfig;
import com.revrobotics.spark.SparkMax;
import edu.wpi.first.wpilibj.DigitalInput;
import java.util.function.BooleanSupplier;

public class CoralScorerIOSpark implements CoralScorerIO {
private SparkMax motor = new SparkMax(0, MotorType.kBrushless);
private SparkMaxConfig config = new SparkMaxConfig();
private SparkClosedLoopController m_pidController;

public CoralScorerIOSpark() {
config.encoder.positionConversionFactor(1000);
config.
}
@Override
public void moveXInches(double inches) {
motor.configure(config, null, null);
motor.getEncoder().getPosition();
m_pidController.setReference(inches, SparkBase.ControlType.kSmartMotion);
}

public CoralScorerIOSpark() {}

private final SparkMax coralMotor = new SparkMax(16, MotorType.kBrushless);

private final DigitalInput lightStop = new DigitalInput(1);

@Override
public void setVolts(double volts) {
coralMotor.setVoltage(volts);
}

@Override
public void lightStop(BooleanSupplier lightStop) {
if (lightStop.getAsBoolean()) {}
}

@Override
public boolean getLightStop() {
return lightStop.get();
}

@Override
public void stop() {
coralMotor.stopMotor();
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package frc.robot.subsystems.CoralScorer;

public class CoralSocrerIOTalonFX {

}
public class CoralSocrerIOTalonFX {}
5 changes: 0 additions & 5 deletions src/main/java/frc/robot/subsystems/CoralScorerIO.java

This file was deleted.

0 comments on commit 332d1be

Please sign in to comment.