Class SparkMaxEncoderSwerve

java.lang.Object
swervelib.encoders.SwerveAbsoluteEncoder
swervelib.encoders.SparkMaxEncoderSwerve

public class SparkMaxEncoderSwerve extends SwerveAbsoluteEncoder
SparkMax absolute encoder, attached through the data port.
  • Field Details

    • encoder

      public com.revrobotics.AbsoluteEncoder encoder
      The AbsoluteEncoder representing the duty cycle encoder attached to the SparkMax.
    • failureConfiguring

      private Alert failureConfiguring
      An Alert for if there is a failure configuring the encoder.
    • offsetFailure

      private Alert offsetFailure
      An Alert for if there is a failure configuring the encoder offset.
  • Constructor Details

    • SparkMaxEncoderSwerve

      public SparkMaxEncoderSwerve(SwerveMotor motor, int conversionFactor)
      Create the SparkMaxEncoderSwerve object as a duty cycle from the CANSparkMax motor.
      Parameters:
      motor - Motor to create the encoder from.
      conversionFactor - The conversion factor to set if the output is not from 0 to 360.
  • Method Details

    • configureSparkMax

      private void configureSparkMax(Supplier<com.revrobotics.REVLibError> config)
      Run the configuration until it succeeds or times out.
      Parameters:
      config - Lambda supplier returning the error state.
    • factoryDefault

      public void factoryDefault()
      Reset the encoder to factory defaults.
      Specified by:
      factoryDefault in class SwerveAbsoluteEncoder
    • clearStickyFaults

      public void clearStickyFaults()
      Clear sticky faults on the encoder.
      Specified by:
      clearStickyFaults in class SwerveAbsoluteEncoder
    • configure

      public void configure(boolean inverted)
      Configure the absolute encoder to read from [0, 360) per second.
      Specified by:
      configure in class SwerveAbsoluteEncoder
      Parameters:
      inverted - Whether the encoder is inverted.
    • getAbsolutePosition

      public double getAbsolutePosition()
      Get the absolute position of the encoder.
      Specified by:
      getAbsolutePosition in class SwerveAbsoluteEncoder
      Returns:
      Absolute position in degrees from [0, 360).
    • getAbsoluteEncoder

      public Object getAbsoluteEncoder()
      Get the instantiated absolute encoder Object.
      Specified by:
      getAbsoluteEncoder in class SwerveAbsoluteEncoder
      Returns:
      Absolute encoder object.
    • setAbsoluteEncoderOffset

      public boolean setAbsoluteEncoderOffset(double offset)
      Sets the Absolute Encoder Offset inside of the SparkMax's Memory.
      Specified by:
      setAbsoluteEncoderOffset in class SwerveAbsoluteEncoder
      Parameters:
      offset - the offset the Absolute Encoder uses as the zero point.
      Returns:
      if setting Absolute Encoder Offset was successful or not.
    • getVelocity

      public double getVelocity()
      Get the velocity in degrees/sec.
      Specified by:
      getVelocity in class SwerveAbsoluteEncoder
      Returns:
      velocity in degrees/sec.