import frc.robot.subsystems.hood.HoodConstants;
import frc.robot.subsystems.shooter.Shooter;
import frc.robot.subsystems.spindexer.Spindexer;
-import frc.robot.subsystems.turret.ShotInterpolation;
+import frc.robot.constants.ShotInterpolation;
import frc.robot.subsystems.turret.Turret;
import frc.robot.subsystems.turret.TurretConstants;
import frc.robot.util.ShooterPhysics;
+package frc.robot.subsystems.Intake;
+
+import org.littletonrobotics.junction.AutoLog;
+
+public interface IntakeIO {
+ @AutoLog
+ public static class IntakeIOInputs{
+ public static double leftPosition = 0.0;
+ public static double rightPosition = 0.0;
+ public static double leftCurrent = 0.0;
+ public static double rightCurrent = 0.0;
+ }
+
+ public void updateInputs();
+}
import frc.robot.constants.IdConstants;
public class Hood extends SubsystemBase implements HoodIO{
- private TalonFX motor = new TalonFX(IdConstants.HOOD_ID, Constants.SUBSYSTEM_CANIVORE_CAN);
+ private TalonFX motor = new TalonFX(IdConstants.HOOD_ID, Constants.CANIVORE_SUB);
private final LinearFilter setpointFilter = LinearFilter.singlePoleIIR(0.02, 0.02);
public class Shooter extends SubsystemBase implements ShooterIO {
- private TalonFX shooterMotorLeft = new TalonFX(IdConstants.SHOOTER_LEFT_ID, Constants.SUBSYSTEM_CANIVORE_CAN);
- private TalonFX shooterMotorRight = new TalonFX(IdConstants.SHOOTER_RIGHT_ID, Constants.SUBSYSTEM_CANIVORE_CAN);
+ private TalonFX shooterMotorLeft = new TalonFX(IdConstants.SHOOTER_LEFT_ID, Constants.CANIVORE_SUB);
+ private TalonFX shooterMotorRight = new TalonFX(IdConstants.SHOOTER_RIGHT_ID, Constants.CANIVORE_SUB);
// Goal Velocity / Double theCircumfrence
private double shooterTargetSpeed = 0;
+++ /dev/null
-package frc.robot.subsystems.turret;
-
-import edu.wpi.first.math.interpolation.InterpolatingDoubleTreeMap;
-import edu.wpi.first.math.util.Units;
-
-public class ShotInterpolation {
- public static final InterpolatingDoubleTreeMap timeOfFlightMap = new InterpolatingDoubleTreeMap();
- public static final InterpolatingDoubleTreeMap shooterPowerMap = new InterpolatingDoubleTreeMap();
- public static final InterpolatingDoubleTreeMap hoodAngleMap = new InterpolatingDoubleTreeMap();
-
- public static final InterpolatingDoubleTreeMap exitVelocityMap = new InterpolatingDoubleTreeMap();
-
- static{
- timeOfFlightMap.put(0.0, 0.67);
- timeOfFlightMap.put(1.0, 0.67);
-
- shooterPowerMap.put(0.0, 1.0);
- shooterPowerMap.put(1.0, 1.0);
-
- hoodAngleMap.put(0.0, Units.degreesToRadians(90));
- hoodAngleMap.put(1.0, Units.degreesToRadians(90));
-
- //TODO: find actual values from video motion
- exitVelocityMap.put(1.0, 2.0);
- exitVelocityMap.put(2.0, 4.0);
- }
-}
/* ---------------- Hardware ---------------- */
- private final TalonFX motor = new TalonFX(IdConstants.TURRET_MOTOR_ID, Constants.SUBSYSTEM_CANIVORE_CAN);
- private final CANcoder encoderLeft = new CANcoder(IdConstants.TURRET_ENCODER_LEFT_ID, Constants.SUBSYSTEM_CANIVORE_CAN);
- private final CANcoder encoderRight = new CANcoder(IdConstants.TURRET_ENCODER_RIGHT_ID, Constants.SUBSYSTEM_CANIVORE_CAN);
+ private final TalonFX motor = new TalonFX(IdConstants.TURRET_MOTOR_ID, Constants.CANIVORE_SUB);
+ private final CANcoder encoderLeft = new CANcoder(IdConstants.TURRET_ENCODER_LEFT_ID, Constants.CANIVORE_SUB);
+ private final CANcoder encoderRight = new CANcoder(IdConstants.TURRET_ENCODER_RIGHT_ID, Constants.CANIVORE_SUB);
private TalonFXSimState simState;
private SingleJointedArmSim turretSim;