mirror of
https://github.com/Team4388/2022NoWayHome.git
synced 2026-06-09 08:48:07 -06:00
configured input
This commit is contained in:
@@ -114,9 +114,13 @@ public final class Constants {
|
||||
public static final class HooksConstants {
|
||||
public static final int LEFT_HOOK_ID = -1;
|
||||
public static final int RIGHT_HOOK_ID = -1;
|
||||
public static final int LEFT_LIMIT_ID = -1;
|
||||
public static final int RIGHT_LIMIT_ID = -1;
|
||||
|
||||
public static final double OPEN_POSITION = 0;
|
||||
public static final double CLOSE_POSITION = 0;
|
||||
|
||||
public static final double CALIBRATION_SPEED = 0;
|
||||
}
|
||||
/**
|
||||
* The OIConstants class contains the ID for the XBox controllers
|
||||
|
||||
@@ -45,7 +45,7 @@ public class RobotContainer {
|
||||
|
||||
private final Climber m_robotClimber = new Climber(m_robotMap.shoulder, m_robotMap.elbow, m_robotMap.gyro, false);
|
||||
|
||||
//private final Hooks m_hooks = new Hooks(m_robotMap.leftHook, m_robotMap.rightHook);
|
||||
private final Hooks m_hooks = new Hooks(m_robotMap.leftHook, m_robotMap.rightHook, m_robotMap.leftHookLimit, m_robotMap.rightHookLimit);
|
||||
|
||||
/* Controllers */
|
||||
private final XboxController m_driverXbox = new XboxController(OIConstants.XBOX_DRIVER_ID);
|
||||
@@ -87,9 +87,9 @@ public class RobotContainer {
|
||||
.whenPressed(() -> m_robotLED.setPattern(LEDPatterns.LAVA_RAINBOW))
|
||||
.whenReleased(() -> m_robotLED.setPattern(LEDConstants.DEFAULT_PATTERN));
|
||||
|
||||
// new JoystickButton(getOperatorJoystick(), XboxController.Y_BUTTON)
|
||||
// .whenPressed(() -> m_hooks.setOpen(true))
|
||||
// .whenReleased(() -> m_hooks.setOpen(false));
|
||||
new JoystickButton(getOperatorJoystick(), XboxController.Y_BUTTON)
|
||||
.whenPressed(() -> m_hooks.setOpen(true))
|
||||
.whenReleased(() -> m_hooks.setOpen(false));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,10 +4,15 @@
|
||||
|
||||
package frc4388.robot;
|
||||
|
||||
import com.ctre.phoenix.motorcontrol.LimitSwitchNormal;
|
||||
import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX;
|
||||
import com.ctre.phoenix.sensors.CANCoder;
|
||||
import com.ctre.phoenix.sensors.WPI_PigeonIMU;
|
||||
import com.revrobotics.CANSparkMax;
|
||||
import com.revrobotics.CANSparkMaxLowLevel.MotorType;
|
||||
|
||||
import edu.wpi.first.wpilibj.CAN;
|
||||
import edu.wpi.first.wpilibj.DigitalInput;
|
||||
import edu.wpi.first.wpilibj.Servo;
|
||||
import edu.wpi.first.wpilibj.motorcontrol.Spark;
|
||||
import frc4388.robot.Constants.ClimberConstants;
|
||||
@@ -102,6 +107,9 @@ public class RobotMap {
|
||||
public final WPI_PigeonIMU gyro = null;//new WPI_PigeonIMU(ClimberConstants.GYRO_ID); // TODO
|
||||
|
||||
/* Hooks Subsystem */
|
||||
//public final Servo leftHook = new Servo(HooksConstants.LEFT_HOOK_ID);
|
||||
//public final Servo rightHook = new Servo(HooksConstants.RIGHT_HOOK_ID);
|
||||
public final CANSparkMax leftHook = new CANSparkMax(HooksConstants.LEFT_HOOK_ID, MotorType.kBrushless);
|
||||
public final CANSparkMax rightHook = new CANSparkMax(HooksConstants.RIGHT_HOOK_ID, MotorType.kBrushless);
|
||||
|
||||
public final DigitalInput leftHookLimit = new DigitalInput(HooksConstants.LEFT_LIMIT_ID);
|
||||
public final DigitalInput rightHookLimit = new DigitalInput(HooksConstants.RIGHT_LIMIT_ID);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package frc4388.robot.subsystems;
|
||||
import com.ctre.phoenix.motorcontrol.LimitSwitchNormal;
|
||||
import com.revrobotics.CANSparkMax;
|
||||
|
||||
import edu.wpi.first.wpilibj.DigitalInput;
|
||||
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
||||
import frc4388.robot.Constants.HooksConstants;
|
||||
|
||||
@@ -10,23 +11,25 @@ public class Hooks extends SubsystemBase {
|
||||
private CANSparkMax m_leftHook;
|
||||
private CANSparkMax m_rightHook;
|
||||
|
||||
private LimitSwitchNormal m_limitSwitch;
|
||||
private DigitalInput m_leftLimitSwitch;
|
||||
private DigitalInput m_rightLimitSwitch;
|
||||
|
||||
private double m_leftOffset;
|
||||
private double m_rightOffset;
|
||||
|
||||
private boolean m_open;
|
||||
|
||||
public Hooks(CANSparkMax leftHook, CANSparkMax rightHook, LimitSwitchNormal limitSwitch) {
|
||||
public Hooks(CANSparkMax leftHook, CANSparkMax rightHook, DigitalInput leftLimitSwitch, DigitalInput rightLimitSwitch) {
|
||||
m_leftHook = leftHook;
|
||||
m_rightHook = rightHook;
|
||||
|
||||
m_limitSwitch = limitSwitch;
|
||||
m_leftLimitSwitch = leftLimitSwitch;
|
||||
m_rightLimitSwitch = rightLimitSwitch;
|
||||
|
||||
m_open = false;
|
||||
|
||||
m_leftHook.set(.1);
|
||||
m_rightHook.set(.1);
|
||||
m_leftHook.set(HooksConstants.CALIBRATION_SPEED);
|
||||
m_rightHook.set(HooksConstants.CALIBRATION_SPEED);
|
||||
}
|
||||
|
||||
public void setOpen(boolean open) {
|
||||
@@ -47,9 +50,10 @@ public class Hooks extends SubsystemBase {
|
||||
|
||||
@Override
|
||||
public void periodic() {
|
||||
if(m_limitSwitch.compareTo(LimitSwitchNormal.NormallyClosed) == 1) {
|
||||
if(m_leftLimitSwitch.get())
|
||||
m_leftOffset = m_leftHook.getEncoder().getPosition();
|
||||
m_leftOffset = m_leftHook.getEncoder().getPosition();
|
||||
}
|
||||
|
||||
if(m_rightLimitSwitch.get())
|
||||
m_rightOffset = m_rightHook.getEncoder().getPosition();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user