<divclass="inheritance"title="Inheritance Tree"><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">java.lang.Object</a>
<divclass="type-signature"><spanclass="modifiers">public class </span><spanclass="element-name type-name-label">SwerveDriveTest</span>
<spanclass="extends-implements">extends <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></span></div>
<divclass="block">Class to perform tests on the swerve drive.</div>
<divclass="block">Tracks the rotations of an angular motor</div>
</div>
<divclass="col-first odd-row-color"><code>private static final edu.wpi.first.units.MutableMeasure<edu.wpi.first.units.Velocity<edu.wpi.first.units.Angle>></code></div>
<divclass="block">Tracks the distance travelled of a position motor</div>
</div>
<divclass="col-first even-row-color"><code>private static final edu.wpi.first.units.MutableMeasure<edu.wpi.first.units.Velocity<edu.wpi.first.units.Distance>></code></div>
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Supplier.html"title="class or interface in java.util.function"class="external-link">Supplier</a><<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Double.html"title="class or interface in java.lang"class="external-link">Double</a>> powerSupplied)</code></div>
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Supplier.html"title="class or interface in java.util.function"class="external-link">Supplier</a><<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Double.html"title="class or interface in java.lang"class="external-link">Double</a>> powerSupplied)</code></div>
<h3id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></h3>
<code><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()"title="class or interface in java.lang"class="external-link">clone</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)"title="class or interface in java.lang"class="external-link">equals</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()"title="class or interface in java.lang"class="external-link">finalize</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()"title="class or interface in java.lang"class="external-link">getClass</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()"title="class or interface in java.lang"class="external-link">hashCode</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()"title="class or interface in java.lang"class="external-link">notify</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()"title="class or interface in java.lang"class="external-link">notifyAll</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()"title="class or interface in java.lang"class="external-link">toString</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()"title="class or interface in java.lang"class="external-link">wait</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)"title="class or interface in java.lang"class="external-link">wait</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)"title="class or interface in java.lang"class="external-link">wait</a></code></div>
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">angleModules</span><wbr><spanclass="parameters">(<ahref="SwerveDrive.html"title="class in swervelib">SwerveDrive</a> swerveDrive,
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">powerDriveMotorsDutyCycle</span><wbr><spanclass="parameters">(<ahref="SwerveDrive.html"title="class in swervelib">SwerveDrive</a> swerveDrive,
double percentage)</span></div>
<divclass="block">Power the drive motors for the swerve drive to a set duty cycle percentage.</div>
<dlclass="notes">
<dt>Parameters:</dt>
<dd><code>swerveDrive</code> - <ahref="SwerveDrive.html"title="class in swervelib"><code>SwerveDrive</code></a> to control.</dd>
<dd><code>percentage</code> - Duty cycle percentage of voltage to send to drive motors.</dd>
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">powerAngleMotorsDutyCycle</span><wbr><spanclass="parameters">(<ahref="SwerveDrive.html"title="class in swervelib">SwerveDrive</a> swerveDrive,
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">powerDriveMotorsVoltage</span><wbr><spanclass="parameters">(<ahref="SwerveDrive.html"title="class in swervelib">SwerveDrive</a> swerveDrive,
double volts)</span></div>
<divclass="block">Power the drive motors for the swerve drive to a set voltage.</div>
<dlclass="notes">
<dt>Parameters:</dt>
<dd><code>swerveDrive</code> - <ahref="SwerveDrive.html"title="class in swervelib"><code>SwerveDrive</code></a> to control.</dd>
<dd><code>volts</code> - DutyCycle percentage of voltage to send to drive motors.</dd>
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">powerAngleMotorsVoltage</span><wbr><spanclass="parameters">(<ahref="SwerveDrive.html"title="class in swervelib">SwerveDrive</a> swerveDrive,
double volts)</span></div>
<divclass="block">Power the angle motors for the swerve drive to a set voltage.</div>
<dlclass="notes">
<dt>Parameters:</dt>
<dd><code>swerveDrive</code> - <ahref="SwerveDrive.html"title="class in swervelib"><code>SwerveDrive</code></a> to control.</dd>
<dd><code>volts</code> - Voltage to send to angle motors.</dd>
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">centerModules</span><wbr><spanclass="parameters">(<ahref="SwerveDrive.html"title="class in swervelib">SwerveDrive</a> swerveDrive)</span></div>
<divclass="block">Set the modules to center to 0.</div>
<dlclass="notes">
<dt>Parameters:</dt>
<dd><code>swerveDrive</code> - Swerve Drive to control.</dd>
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">double</span> <spanclass="element-name">findDriveMotorKV</span><wbr><spanclass="parameters">(<ahref="SwerveDrive.html"title="class in swervelib">SwerveDrive</a> swerveDrive,
double minMovement,
double testDelaySeconds,
double maxVolts)</span></div>
<divclass="block">Find the minimum amount of power required to move the swerve drive motors.</div>
<dlclass="notes">
<dt>Parameters:</dt>
<dd><code>swerveDrive</code> - <ahref="SwerveDrive.html"title="class in swervelib"><code>SwerveDrive</code></a> to control.</dd>
<dd><code>minMovement</code> - Minimum amount of movement to drive motors.</dd>
<dd><code>testDelaySeconds</code> - Time in seconds for the motor to move.</dd>
<dd><code>maxVolts</code> - The maximum voltage to send to drive motors.</dd>
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">double</span> <spanclass="element-name">findCouplingRatio</span><wbr><spanclass="parameters">(<ahref="SwerveDrive.html"title="class in swervelib">SwerveDrive</a> swerveDrive,
double volts,
boolean automatic)</span></div>
<divclass="block">Find the coupling ratio for all modules.</div>
<dlclass="notes">
<dt>Parameters:</dt>
<dd><code>swerveDrive</code> - <ahref="SwerveDrive.html"title="class in swervelib"><code>SwerveDrive</code></a> to operate with.</dd>
<dd><code>volts</code> - Voltage to send to angle motors to spin.</dd>
<dd><code>automatic</code> - Attempt to automatically spin the modules.</dd>
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">logDriveMotorDutyCycle</span><wbr><spanclass="parameters">(<ahref="SwerveModule.html"title="class in swervelib">SwerveModule</a> module,
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">logDriveMotorVoltage</span><wbr><spanclass="parameters">(<ahref="SwerveModule.html"title="class in swervelib">SwerveModule</a> module,
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">logDriveMotorActivity</span><wbr><spanclass="parameters">(<ahref="SwerveModule.html"title="class in swervelib">SwerveModule</a> module,
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Supplier.html"title="class or interface in java.util.function"class="external-link">Supplier</a><<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Double.html"title="class or interface in java.lang"class="external-link">Double</a>> powerSupplied)</span></div>
<divclass="block">Logs power, position and velocuty info form the drive motor to the SysIdRoutineLog</div>
<dlclass="notes">
<dt>Parameters:</dt>
<dd><code>module</code> - - the swerve module being logged</dd>
<dd><code>log</code> - - the logger</dd>
<dd><code>powerSupplied</code> - - a functional supplier of the power to be logged</dd>
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">logAngularMotorDutyCycle</span><wbr><spanclass="parameters">(<ahref="SwerveModule.html"title="class in swervelib">SwerveModule</a> module,
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">logAngularMotorVoltage</span><wbr><spanclass="parameters">(<ahref="SwerveModule.html"title="class in swervelib">SwerveModule</a> module,
<divclass="member-signature"><spanclass="modifiers">public static</span> <spanclass="return-type">void</span> <spanclass="element-name">logAngularMotorActivity</span><wbr><spanclass="parameters">(<ahref="SwerveModule.html"title="class in swervelib">SwerveModule</a> module,
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Supplier.html"title="class or interface in java.util.function"class="external-link">Supplier</a><<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Double.html"title="class or interface in java.lang"class="external-link">Double</a>> powerSupplied)</span></div>
<divclass="block">Logs info about the angle motor to the SysIdRoutineLog</div>
<dlclass="notes">
<dt>Parameters:</dt>
<dd><code>module</code> - - the swerve module being logged</dd>
<dd><code>log</code> - - the logger</dd>
<dd><code>powerSupplied</code> - - a functional supplier of the power to be logged</dd>