diff --git a/lib/build.gradle b/lib/build.gradle index f2f6623f..0b729b52 100644 --- a/lib/build.gradle +++ b/lib/build.gradle @@ -25,7 +25,7 @@ tasks.withType(JavaCompile) { options.compilerArgs.add '-XDstringConcat=inline' } -version = '1.3.0-alpha.1' +version = '2.0.0-alpha.1' repositories { // Use Maven Central for resolving dependencies. diff --git a/lib/src/main/java/com/team2813/lib2813/control/Motor.java b/lib/src/main/java/com/team2813/lib2813/control/Motor.java index 23059f26..6c92ed0b 100644 --- a/lib/src/main/java/com/team2813/lib2813/control/Motor.java +++ b/lib/src/main/java/com/team2813/lib2813/control/Motor.java @@ -1,5 +1,7 @@ package com.team2813.lib2813.control; +import edu.wpi.first.units.measure.Current; + public interface Motor { // motor control @@ -19,4 +21,12 @@ public interface Motor { * @param feedForward The feedForward to apply to the motor */ void set(ControlMode mode, double demand, double feedForward); + + /** + * Gets the current that is being applied onto the motor + * + * @since 2.0.0 + * @return The current applied current + */ + Current getAppliedCurrent(); } diff --git a/lib/src/main/java/com/team2813/lib2813/control/motors/SparkMaxWrapper.java b/lib/src/main/java/com/team2813/lib2813/control/motors/SparkMaxWrapper.java index 57cda619..4ddc5b00 100644 --- a/lib/src/main/java/com/team2813/lib2813/control/motors/SparkMaxWrapper.java +++ b/lib/src/main/java/com/team2813/lib2813/control/motors/SparkMaxWrapper.java @@ -16,6 +16,7 @@ import edu.wpi.first.units.Units; import edu.wpi.first.units.measure.Angle; import edu.wpi.first.units.measure.AngularVelocity; +import edu.wpi.first.units.measure.Current; import java.util.ArrayList; import java.util.List; @@ -75,6 +76,11 @@ public Angle getPositionMeasure() { return Units.Rotations.of(encoder.getPosition()); } + @Override + public Current getAppliedCurrent() { + return Units.Amps.of(motor.getOutputCurrent()); + } + @Override public void setPosition(double position) { encoder.setPosition(position); diff --git a/lib/src/main/java/com/team2813/lib2813/control/motors/TalonFXWrapper.java b/lib/src/main/java/com/team2813/lib2813/control/motors/TalonFXWrapper.java index d459c32d..49f05a12 100644 --- a/lib/src/main/java/com/team2813/lib2813/control/motors/TalonFXWrapper.java +++ b/lib/src/main/java/com/team2813/lib2813/control/motors/TalonFXWrapper.java @@ -17,6 +17,7 @@ import edu.wpi.first.units.Units; import edu.wpi.first.units.measure.Angle; import edu.wpi.first.units.measure.AngularVelocity; +import edu.wpi.first.units.measure.Current; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -132,6 +133,11 @@ public Angle getPositionMeasure() { return Units.Rotations.of(motor.getPosition().getValueAsDouble()); } + @Override + public Current getAppliedCurrent() { + return motor.getStatorCurrent().getValue(); + } + @Override public void setPosition(double position) { motor.setPosition(position); diff --git a/lib/src/main/java/com/team2813/lib2813/preferences/PersistedConfiguration.java b/lib/src/main/java/com/team2813/lib2813/preferences/PersistedConfiguration.java index 03ea7fbf..e7e6573f 100644 --- a/lib/src/main/java/com/team2813/lib2813/preferences/PersistedConfiguration.java +++ b/lib/src/main/java/com/team2813/lib2813/preferences/PersistedConfiguration.java @@ -92,7 +92,7 @@ * constructor; see Custom * Constructor in Java Records for details. * - * @since 1.3.0 + * @since 2.0.0 */ public final class PersistedConfiguration { // The below package-scope fields are for the self-tests. diff --git a/lib/src/main/java/com/team2813/lib2813/preferences/PreferencesInjector.java b/lib/src/main/java/com/team2813/lib2813/preferences/PreferencesInjector.java index 26c715f2..4132a11b 100644 --- a/lib/src/main/java/com/team2813/lib2813/preferences/PreferencesInjector.java +++ b/lib/src/main/java/com/team2813/lib2813/preferences/PreferencesInjector.java @@ -38,7 +38,7 @@ * * @deprecated Use {@link PersistedConfiguration} */ -@Deprecated(since = "1.3.0", forRemoval = true) +@Deprecated(since = "2.0.0", forRemoval = true) public class PreferencesInjector { private static final char PATH_SEPARATOR = '.';