<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="inheritance"><ahref="SwerveMotor.html"title="class in swervelib.motors">swervelib.motors.SwerveMotor</a>
<h3id="fields-inherited-from-class-swervelib.motors.SwerveMotor">Fields inherited from class swervelib.motors.<ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></h3>
<divclass="block">Initialize the <ahref="SwerveMotor.html"title="class in swervelib.motors"><code>SwerveMotor</code></a> as a <code>CANSparkMax</code> connected to a Brushless Motor.</div>
<divclass="block">Configure the factory defaults.</div>
</div>
<divclass="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><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></code></div>
<divclass="block">Set the voltage compensation for the swerve module motor.</div>
</div>
</div>
</div>
</div>
<divclass="inherited-list">
<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="block">Initialize the <ahref="SwerveMotor.html"title="class in swervelib.motors"><code>SwerveMotor</code></a> as a <code>CANSparkMax</code> connected to a Brushless Motor.</div>
<dlclass="notes">
<dt>Parameters:</dt>
<dd><code>id</code> - CAN ID of the SparkMax.</dd>
<dd><code>isDriveMotor</code> - Is the motor being initialized a drive motor?</dd>
<dd><code>encoderType</code> - <code>SparkMaxRelativeEncoder.Type</code> of encoder to use for the <code>CANSparkMax</code> device.</dd>
<dd><code>countsPerRevolution</code> - The number of encoder pulses for the <code>SparkMaxRelativeEncoder.Type</code> encoder per revolution.</dd>
<dd><code>useDataPortQuadEncoder</code> - Use the encoder attached to the data port of the spark max for a quadrature encoder.</dd>
<divclass="block">Set the voltage compensation for the swerve module motor.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#setVoltageCompensation(double)">setVoltageCompensation</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>nominalVoltage</code> - Nominal voltage for operation to output to.</dd>
<divclass="block">Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with
voltage compensation. This is useful to protect the motor from current spikes.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#setCurrentLimit(int)">setCurrentLimit</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>currentLimit</code> - Current limit in AMPS at free speed.</dd>
<divclass="block">Set the maximum rate the open/closed loop output can change by.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#setLoopRampRate(double)">setLoopRampRate</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>rampRate</code> - Time in seconds to go from 0 to full throttle.</dd>
</dl>
</section>
</li>
<li>
<sectionclass="detail"id="getMotor()">
<h3>getMotor</h3>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><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> <spanclass="element-name">getMotor</span>()</div>
<divclass="block">Get the motor object from the module.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#getMotor()">getMotor</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<divclass="block">Queries whether the absolute encoder is directly attached to the motor controller.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#isAttachedAbsoluteEncoder()">isAttachedAbsoluteEncoder</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<divclass="block">Configure the factory defaults.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#factoryDefaults()">factoryDefaults</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<divclass="block">Clear the sticky faults on the motor controller.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#clearStickyFaults()">clearStickyFaults</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></span> <spanclass="element-name">setAbsoluteEncoder</span><wbr><spanclass="parameters">(<ahref="../encoders/SwerveAbsoluteEncoder.html"title="class in swervelib.encoders">SwerveAbsoluteEncoder</a> encoder)</span></div>
<divclass="block">Set the absolute encoder to be a compatible absolute encoder.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#setAbsoluteEncoder(swervelib.encoders.SwerveAbsoluteEncoder)">setAbsoluteEncoder</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>encoder</code> - The encoder to use.</dd>
<dt>Returns:</dt>
<dd>The <ahref="SwerveMotor.html"title="class in swervelib.motors"><code>SwerveMotor</code></a> for easy instantiation.</dd>
<divclass="block">Configure the integrated encoder for the swerve module. Sets the conversion factors for position and velocity.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#configureIntegratedEncoder(double)">configureIntegratedEncoder</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>positionConversionFactor</code> - The conversion factor to apply.</dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">configurePIDF</span><wbr><spanclass="parameters">(<ahref="../parser/PIDFConfig.html"title="class in swervelib.parser">PIDFConfig</a> config)</span></div>
<divclass="block">Configure the PIDF values for the closed loop controller.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#configurePIDF(swervelib.parser.PIDFConfig)">configurePIDF</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>config</code> - Configuration class holding the PIDF values.</dd>
<divclass="block">Configure the PID wrapping for the position closed loop controller.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#configurePIDWrapping(double,double)">configurePIDWrapping</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dd><code><ahref="SwerveMotor.html#setMotorBrake(boolean)">setMotorBrake</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>isBrakeMode</code> - Set the brake mode.</dd>
<divclass="block">Set the motor to be inverted.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#setInverted(boolean)">setInverted</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>inverted</code> - State of inversion.</dd>
<divclass="block">Save the configurations from flash to EEPROM.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#burnFlash()">burnFlash</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<divclass="block">Set the percentage output.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#set(double)">set</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>percentOutput</code> - percent out for the motor controller.</dd>
<divclass="block">Set the closed loop PID controller reference point.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#setReference(double,double)">setReference</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>setpoint</code> - Setpoint in MPS or Angle in degrees.</dd>
<dd><code>feedforward</code> - Feedforward in volt-meter-per-second or kV.</dd>
<divclass="block">Set the closed loop PID controller reference point.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#setReference(double,double,double)">setReference</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<dt>Parameters:</dt>
<dd><code>setpoint</code> - Setpoint in meters per second or angle in degrees.</dd>
<dd><code>feedforward</code> - Feedforward in volt-meter-per-second or kV.</dd>
<dd><code>position</code> - Only used on the angle motor, the position of the motor in degrees.</dd>
<divclass="block">Get the velocity of the integrated encoder.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#getVelocity()">getVelocity</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<divclass="block">Get the position of the integrated encoder.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#getPosition()">getPosition</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>
<divclass="block">Set the integrated encoder position.</div>
<dlclass="notes">
<dt>Specified by:</dt>
<dd><code><ahref="SwerveMotor.html#setPosition(double)">setPosition</a></code> in class <code><ahref="SwerveMotor.html"title="class in swervelib.motors">SwerveMotor</a></code></dd>