From d308949806e037fc028b6ae16946e8d073851bb6 Mon Sep 17 00:00:00 2001 From: thenetworkgrinch Date: Wed, 12 Jun 2024 16:16:01 -0500 Subject: [PATCH] Fixed undefined PWMDutyCycleEncoder getter/setter --- swervelib/encoders/PWMDutyCycleEncoderSwerve.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/swervelib/encoders/PWMDutyCycleEncoderSwerve.java b/swervelib/encoders/PWMDutyCycleEncoderSwerve.java index 24e15d6..1b8bb6b 100644 --- a/swervelib/encoders/PWMDutyCycleEncoderSwerve.java +++ b/swervelib/encoders/PWMDutyCycleEncoderSwerve.java @@ -26,6 +26,10 @@ public class PWMDutyCycleEncoderSwerve extends SwerveAbsoluteEncoder * An {@link Alert} for if the encoder cannot report accurate velocities. */ private Alert inaccurateVelocities; + /** + * The Offset in degrees of the PWM absolute encoder. + */ + private double offset; /** * Constructor for the PWM duty cycle encoder. @@ -61,7 +65,7 @@ public class PWMDutyCycleEncoderSwerve extends SwerveAbsoluteEncoder @Override public double getAbsolutePosition() { - return (isInverted ? -1.0 : 1.0) * encoder.getAbsolutePosition() * 360; + return (isInverted ? -1.0 : 1.0) * ((encoder.get() * 360) - offset); } /** @@ -105,16 +109,11 @@ public class PWMDutyCycleEncoderSwerve extends SwerveAbsoluteEncoder // Do nothing } - /** - * Sets the offset of the Encoder in the WPILib Encoder Library. - * - * @param offset the offset the Absolute Encoder uses as the zero point. - * @return Always true due to no external device commands. - */ + @Override public boolean setAbsoluteEncoderOffset(double offset) { - encoder.setPositionOffset(offset); + this.offset = offset; return true; }