mirror of
https://github.com/Team4388/RiseOfRidgebotics2020.git
synced 2026-06-09 08:48:01 -06:00
86 lines
2.7 KiB
Java
86 lines
2.7 KiB
Java
/*----------------------------------------------------------------------------*/
|
|
/* Copyright (c) 2019 FIRST. All Rights Reserved. */
|
|
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
|
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
|
/* the project. */
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
package frc4388.robot.subsystems;
|
|
|
|
import com.revrobotics.CANDigitalInput;
|
|
import com.revrobotics.CANDigitalInput.LimitSwitchPolarity;
|
|
import com.revrobotics.CANSparkMax;
|
|
import com.revrobotics.CANSparkMax.IdleMode;
|
|
import com.revrobotics.CANSparkMaxLowLevel.MotorType;
|
|
|
|
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
|
import frc4388.robot.Constants.IntakeConstants;
|
|
|
|
|
|
|
|
public class Intake extends SubsystemBase {
|
|
CANSparkMax m_intakeMotor = new CANSparkMax(IntakeConstants.INTAKE_SPARK_ID, MotorType.kBrushless);
|
|
CANSparkMax m_extenderMotor = new CANSparkMax(IntakeConstants.EXTENDER_SPARK_ID, MotorType.kBrushless);
|
|
CANDigitalInput m_extenderForwardLimit;
|
|
CANDigitalInput m_extenderReverseLimit;
|
|
public boolean isExtended = false;
|
|
|
|
/**
|
|
* Creates a new Intake.
|
|
*/
|
|
public Intake() {
|
|
|
|
|
|
m_intakeMotor.restoreFactoryDefaults();
|
|
m_extenderMotor.restoreFactoryDefaults();
|
|
|
|
m_intakeMotor.setIdleMode(IdleMode.kCoast);
|
|
m_extenderMotor.setIdleMode(IdleMode.kBrake);
|
|
m_intakeMotor.setInverted(false);
|
|
m_extenderMotor.setInverted(true);
|
|
|
|
m_extenderForwardLimit = m_extenderMotor.getForwardLimitSwitch(LimitSwitchPolarity.kNormallyOpen);
|
|
m_extenderReverseLimit = m_extenderMotor.getReverseLimitSwitch(LimitSwitchPolarity.kNormallyClosed);
|
|
m_extenderForwardLimit.enableLimitSwitch(true);
|
|
m_extenderReverseLimit.enableLimitSwitch(true);
|
|
}
|
|
|
|
@Override
|
|
public void periodic() {
|
|
// This method will be called once per scheduler run
|
|
}
|
|
|
|
/**
|
|
* Runs intake motor
|
|
* @param input the percent output to run motor at
|
|
*/
|
|
public void runIntake(double input) {
|
|
m_intakeMotor.set(input);
|
|
}
|
|
|
|
public void runExtender(double input){
|
|
m_extenderMotor.set(input);
|
|
}
|
|
/**
|
|
* Runs extender motor
|
|
* @param input the percent output to run motor at
|
|
*/
|
|
/*public void runExtender(double input) {
|
|
if (m_extenderForwardLimit.get()) {
|
|
isExtended = true;
|
|
}
|
|
else if (m_extenderReverseLimit.get()) {
|
|
isExtended = false;
|
|
}
|
|
else{
|
|
m_extenderMotor.set(-input);
|
|
}
|
|
|
|
if (isExtended == false) {
|
|
m_extenderMotor.set(input);
|
|
}
|
|
if (isExtended == true) {
|
|
m_extenderMotor.set(-input);
|
|
}
|
|
}*/
|
|
} |