Skip to content
This repository was archived by the owner on Jun 22, 2024. It is now read-only.

Latest commit

 

History

History
74 lines (53 loc) · 1.49 KB

File metadata and controls

74 lines (53 loc) · 1.49 KB

CANBUS: rio

Shooter: 2 NEOs controlled by SparkMAX Feeder: 1 775pro controlled by TalonSRX

Class Members

// Hardware
private CANSparkMax m_master;
private CANSparkMax m_slave;
private CANSparkMax m_feeder;
private DigitalInput m_beamBreaker;

// Constants
private double kP, kI, kD, kIz, kFF, kMaxOutput, kMinOutput, maxRPM;

// Interpolation
InterpolatingTreeMap<InterpolatingDouble, InterpolatingDouble> map = new InterpolatingTreeMap<InterpolatingDouble, InterpolatingDouble>();

// State and Instances
private static ShooterSubsystem m_instance;
private ShooterState m_shootState;
private FeederState m_feederState;

// PID Controller - not used
private SparkPIDController m_masterPIDController;
private SparkPIDController m_slavePIDController;

States

public enum ShooterState {
    /* open-loop */
    OPEN_LOOP,

    /* stopped */
    CLOSED,

    /* amp voltage */
    AMP,

    /* speaker long voltage (not tunable) */
    SPEAKER_LONG,

    /* speaker short a.k.a tunable voltage */
    SPEAKER_SHORT,

    /* interpolated voltage from lookup */
    LOOKUP,

    /* source intake */
    INTAKE_FROM_SOURCE,
  }

  public enum FeederState {
    /* feed to shooter */
    LET_HIM_COOK,

    /* eject */
    UPSI,

    /* stop feeder */
    STOP_WAIT_A_SEC,

    OPEN,

    /* feeder from intake */
    INTAKECEPTION,
  }