README updated

This commit is contained in:
thenetworkgrinch
2023-01-29 21:18:52 -06:00
parent 1ebb040393
commit 87b6b249dd
108 changed files with 4093 additions and 0 deletions

View File

@@ -0,0 +1,472 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>SwerveDrive.SwerveModuleConfig</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveDrive.SwerveModuleConfig";
}
}
catch(err) {
}
//-->
var data = {"i0":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve</a></div>
<h2 title="Class SwerveDrive.SwerveModuleConfig" class="title">Class SwerveDrive.SwerveModuleConfig&lt;DriveMotorType extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;SteeringMotorType extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;AbsoluteEncoder extends com.ctre.phoenix.sensors.CANCoder&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.SwerveDrive.SwerveModuleConfig&lt;DriveMotorType,&#8203;SteeringMotorType,&#8203;AbsoluteEncoder&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>DriveMotorType</code> - The motor type for the drive motor on the swerve moduule.</dd>
<dd><code>SteeringMotorType</code> - The motor type for the steering motor on the module.</dd>
<dd><code>AbsoluteEncoder</code> - The absolute encoder type.</dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="SwerveDrive.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveDrive</a></dd>
</dl>
<hr>
<pre>public static class <span class="typeNameLabel">SwerveDrive.SwerveModuleConfig&lt;DriveMotorType extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;SteeringMotorType extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;AbsoluteEncoder extends com.ctre.phoenix.sensors.CANCoder&gt;</span>
extends java.lang.Object</pre>
<div class="block">Helper class for easier swerve module creation</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleOffset">angleOffset</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">DriveMotorType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#drive">drive</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">AbsoluteEncoder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#encoder">encoder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loc">loc</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">SteeringMotorType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#steering">steering</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(DriveMotorType,SteeringMotorType,AbsoluteEncoder,double,frc.robot.subsystems.swervedrive.swerve.SwerveModule.SwerveModuleLocation)">SwerveModuleConfig</a></span>&#8203;(<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">DriveMotorType</a>&nbsp;driveMotor,
<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">SteeringMotorType</a>&nbsp;steerMotor,
<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">AbsoluteEncoder</a>&nbsp;encoderSteering,
double&nbsp;offset,
<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a>&nbsp;location)</code></th>
<td class="colLast">
<div class="block">Swerve Module configuration class to define the motor CAN IDs and absolute encoder offset of a swerve module.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="SwerveModule.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveModule</a>&lt;<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">DriveMotorType</a>,&#8203;<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">SteeringMotorType</a>,&#8203;<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">AbsoluteEncoder</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createModule(double,double,double,double,double,double,double,double,boolean,boolean)">createModule</a></span>&#8203;(double&nbsp;driveGearRatio,
double&nbsp;steerGearRatio,
double&nbsp;wheelDiameterMeters,
double&nbsp;wheelBaseMeters,
double&nbsp;driveTrainWidthMeters,
double&nbsp;steeringMotorFreeSpeedRPM,
double&nbsp;maxSpeedMPS,
double&nbsp;maxDriveAcceleration,
boolean&nbsp;steeringInverted,
boolean&nbsp;drivingInverted)</code></th>
<td class="colLast">
<div class="block">Create the swerve module from the configuration.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="drive">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>drive</h4>
<pre>public&nbsp;<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">DriveMotorType</a> extends edu.wpi.first.wpilibj.motorcontrol.MotorController drive</pre>
</li>
</ul>
<a id="steering">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>steering</h4>
<pre>public&nbsp;<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">SteeringMotorType</a> extends edu.wpi.first.wpilibj.motorcontrol.MotorController steering</pre>
</li>
</ul>
<a id="encoder">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encoder</h4>
<pre>public&nbsp;<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">AbsoluteEncoder</a> extends com.ctre.phoenix.sensors.CANCoder encoder</pre>
</li>
</ul>
<a id="angleOffset">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>angleOffset</h4>
<pre>public&nbsp;double angleOffset</pre>
</li>
</ul>
<a id="loc">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>loc</h4>
<pre>public&nbsp;<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a> loc</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(edu.wpi.first.wpilibj.motorcontrol.MotorController,edu.wpi.first.wpilibj.motorcontrol.MotorController,com.ctre.phoenix.sensors.CANCoder,double,frc.robot.subsystems.swervedrive.swerve.SwerveModule.SwerveModuleLocation)">
<!-- -->
</a><a id="&lt;init&gt;(DriveMotorType,SteeringMotorType,AbsoluteEncoder,double,frc.robot.subsystems.swervedrive.swerve.SwerveModule.SwerveModuleLocation)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SwerveModuleConfig</h4>
<pre>public&nbsp;SwerveModuleConfig&#8203;(<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">DriveMotorType</a>&nbsp;driveMotor,
<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">SteeringMotorType</a>&nbsp;steerMotor,
<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">AbsoluteEncoder</a>&nbsp;encoderSteering,
double&nbsp;offset,
<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a>&nbsp;location)</pre>
<div class="block">Swerve Module configuration class to define the motor CAN IDs and absolute encoder offset of a swerve module.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>driveMotor</code> - Drive motor for the swerve module.</dd>
<dd><code>steerMotor</code> - Steer motor for the swerve module.</dd>
<dd><code>encoderSteering</code> - CANCoder for the steering motor on the swerve module.</dd>
<dd><code>offset</code> - Absolute encoder offset.</dd>
<dd><code>location</code> - Swerve Moduule location on the chassis.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="createModule(double,double,double,double,double,double,double,double,boolean,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createModule</h4>
<pre class="methodSignature">public&nbsp;<a href="SwerveModule.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveModule</a>&lt;<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">DriveMotorType</a>,&#8203;<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">SteeringMotorType</a>,&#8203;<a href="SwerveDrive.SwerveModuleConfig.html" title="type parameter in SwerveDrive.SwerveModuleConfig">AbsoluteEncoder</a>&gt;&nbsp;createModule&#8203;(double&nbsp;driveGearRatio,
double&nbsp;steerGearRatio,
double&nbsp;wheelDiameterMeters,
double&nbsp;wheelBaseMeters,
double&nbsp;driveTrainWidthMeters,
double&nbsp;steeringMotorFreeSpeedRPM,
double&nbsp;maxSpeedMPS,
double&nbsp;maxDriveAcceleration,
boolean&nbsp;steeringInverted,
boolean&nbsp;drivingInverted)</pre>
<div class="block">Create the swerve module from the configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>driveGearRatio</code> - Drive gear ratio in form of (rotation:1 AKA rotations/1) to get the encoder
ticks per rotation.</dd>
<dd><code>steerGearRatio</code> - Steering motor gear ratio (usually 12.8:1 for MK4 in form of rotations:1 or
rotations/1), only applied if using Neo's.</dd>
<dd><code>wheelDiameterMeters</code> - The wheel diameter of the swerve drive module in meters.</dd>
<dd><code>wheelBaseMeters</code> - The Distance between front and back wheels of the robot in meters.</dd>
<dd><code>driveTrainWidthMeters</code> - The Distance between centers of right and left wheels in meters.</dd>
<dd><code>steeringMotorFreeSpeedRPM</code> - The RPM free speed of the steering motor.</dd>
<dd><code>maxSpeedMPS</code> - The maximum drive speed in meters per second.</dd>
<dd><code>maxDriveAcceleration</code> - The maximum drive acceleration in meters^2 per second.</dd>
<dd><code>steeringInverted</code> - The steering motor is inverted.</dd>
<dd><code>drivingInverted</code> - The driving motor is inverted.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The Swerve Module.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,527 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>SwerveEncoder</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveEncoder";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":9,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve</a></div>
<h2 title="Class SwerveEncoder" class="title">Class SwerveEncoder&lt;AbsoluteEncoderType&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.SwerveEncoder&lt;AbsoluteEncoderType&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="encoders/CTRECANCoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders">CTRECANCoder</a></code>, <code><a href="encoders/PWMAnalogEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders">PWMAnalogEncoder</a></code>, <code><a href="encoders/PWMDutyCycleEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders">PWMDutyCycleEncoder</a></code>, <code><a href="encoders/REVAbsoluteEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders">REVAbsoluteEncoder</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">SwerveEncoder&lt;AbsoluteEncoderType&gt;</span>
extends java.lang.Object</pre>
<div class="block">Swerve Encoder class definition for common interfaces.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="SwerveEncoder.html" title="type parameter in SwerveEncoder">AbsoluteEncoderType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_encoder">m_encoder</a></span></code></th>
<td class="colLast">
<div class="block">The encoder can be directly referenced for configuration purposes of onboard PIDs.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">SwerveEncoder</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure()">configure</a></span>()</code></th>
<td class="colLast">
<div class="block">Configure the absolute encoder if possible.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#factoryDefault()">factoryDefault</a></span>()</code></th>
<td class="colLast">
<div class="block">Reset encoder to factory default settings, if possible.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static &lt;AbsoluteEncoderType&gt;<br><a href="SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;?&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fromEncoder(AbsoluteEncoderType)">fromEncoder</a></span>&#8203;(AbsoluteEncoderType&nbsp;encoder)</code></th>
<td class="colLast">
<div class="block">Get the SwerveEncoder class from the given encoder types</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAbsolutePosition()">getAbsolutePosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the absolute position in degrees.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract com.ctre.phoenix.sensors.MagnetFieldStrength</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMagnetFieldStrength()">getMagnetFieldStrength</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the magnetic field strength, if available.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVelocity()">getVelocity</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the velocity of the absolute encoder in degrees per second.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reachable()">reachable</a></span>()</code></th>
<td class="colLast">
<div class="block">Is the encoder reachable?</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInverted(boolean)">setInverted</a></span>&#8203;(boolean&nbsp;isInverted)</code></th>
<td class="colLast">
<div class="block">Configure the sensor direction</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffset(double)">setOffset</a></span>&#8203;(double&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Configure the magnetic offset for the AbsoluteEncoder.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="m_encoder">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>m_encoder</h4>
<pre>public&nbsp;<a href="SwerveEncoder.html" title="type parameter in SwerveEncoder">AbsoluteEncoderType</a> m_encoder</pre>
<div class="block">The encoder can be directly referenced for configuration purposes of onboard PIDs.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SwerveEncoder</h4>
<pre>public&nbsp;SwerveEncoder()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="fromEncoder(java.lang.Object)">
<!-- -->
</a><a id="fromEncoder(AbsoluteEncoderType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fromEncoder</h4>
<pre class="methodSignature">public static&nbsp;&lt;AbsoluteEncoderType&gt;&nbsp;<a href="SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;?&gt;&nbsp;fromEncoder&#8203;(AbsoluteEncoderType&nbsp;encoder)</pre>
<div class="block">Get the SwerveEncoder class from the given encoder types</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>AbsoluteEncoderType</code> - One of DutyCycleEncoder, AnalogEncoder, AbsoluteEncoder, and CANCoder</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encoder</code> - Encoder</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SwerveEncoder subclass</dd>
</dl>
</li>
</ul>
<a id="configure()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configure</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;configure()</pre>
<div class="block">Configure the absolute encoder if possible.</div>
</li>
</ul>
<a id="factoryDefault()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>factoryDefault</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;factoryDefault()</pre>
<div class="block">Reset encoder to factory default settings, if possible.</div>
</li>
</ul>
<a id="getMagnetFieldStrength()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMagnetFieldStrength</h4>
<pre class="methodSignature">public abstract&nbsp;com.ctre.phoenix.sensors.MagnetFieldStrength&nbsp;getMagnetFieldStrength()</pre>
<div class="block">Get the magnetic field strength, if available.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>CTRE MagneticFieldStrength Enum.</dd>
</dl>
</li>
</ul>
<a id="getAbsolutePosition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAbsolutePosition</h4>
<pre class="methodSignature">public abstract&nbsp;double&nbsp;getAbsolutePosition()</pre>
<div class="block">Get the absolute position in degrees.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Absolute position (0, 360]</dd>
</dl>
</li>
</ul>
<a id="getVelocity()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVelocity</h4>
<pre class="methodSignature">public abstract&nbsp;double&nbsp;getVelocity()</pre>
<div class="block">Get the velocity of the absolute encoder in degrees per second.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Velocity in degrees per second.</dd>
</dl>
</li>
</ul>
<a id="setOffset(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOffset</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;setOffset&#8203;(double&nbsp;offset)</pre>
<div class="block">Configure the magnetic offset for the AbsoluteEncoder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - Offset in degrees.</dd>
</dl>
</li>
</ul>
<a id="reachable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reachable</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;reachable()</pre>
<div class="block">Is the encoder reachable?</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if reachable, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="setInverted(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setInverted</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;setInverted&#8203;(boolean&nbsp;isInverted)</pre>
<div class="block">Configure the sensor direction</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isInverted</code> - Inverted or not.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,449 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>SwerveModule.SwerveModuleLocation</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveModule.SwerveModuleLocation";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve</a></div>
<h2 title="Enum SwerveModule.SwerveModuleLocation" class="title">Enum SwerveModule.SwerveModuleLocation</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a>&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.SwerveModule.SwerveModuleLocation</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code>, <code>java.lang.Comparable&lt;<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a>&gt;</code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="SwerveModule.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveModule</a>&lt;<a href="SwerveModule.html" title="type parameter in SwerveModule">DriveMotorType</a> extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;<a href="SwerveModule.html" title="type parameter in SwerveModule">AngleMotorType</a> extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;<a href="SwerveModule.html" title="type parameter in SwerveModule">AbsoluteEncoderType</a>&gt;</dd>
</dl>
<hr>
<pre>public static enum <span class="typeNameLabel">SwerveModule.SwerveModuleLocation</span>
extends java.lang.Enum&lt;<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a>&gt;</pre>
<div class="block">Swerve Module location on the robot.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum Constant</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#BackLeft">BackLeft</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#BackRight">BackRight</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#FrontLeft">FrontLeft</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#FrontRight">FrontRight</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">SwerveModuleLocation</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a id="FrontLeft">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FrontLeft</h4>
<pre>public static final&nbsp;<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a> FrontLeft</pre>
</li>
</ul>
<a id="BackLeft">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BackLeft</h4>
<pre>public static final&nbsp;<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a> BackLeft</pre>
</li>
</ul>
<a id="FrontRight">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FrontRight</h4>
<pre>public static final&nbsp;<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a> FrontRight</pre>
</li>
</ul>
<a id="BackRight">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BackRight</h4>
<pre>public static final&nbsp;<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a> BackRight</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SwerveModuleLocation</h4>
<pre>private&nbsp;SwerveModuleLocation()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="values()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (SwerveModule.SwerveModuleLocation c : SwerveModule.SwerveModuleLocation.values())
&nbsp; System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a id="valueOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a>&nbsp;valueOf&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,461 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>SwerveModule.Verbosity</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveModule.Verbosity";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve</a></div>
<h2 title="Enum SwerveModule.Verbosity" class="title">Enum SwerveModule.Verbosity</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a>&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.SwerveModule.Verbosity</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code>, <code>java.lang.Comparable&lt;<a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a>&gt;</code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="SwerveModule.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveModule</a>&lt;<a href="SwerveModule.html" title="type parameter in SwerveModule">DriveMotorType</a> extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;<a href="SwerveModule.html" title="type parameter in SwerveModule">AngleMotorType</a> extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;<a href="SwerveModule.html" title="type parameter in SwerveModule">AbsoluteEncoderType</a>&gt;</dd>
</dl>
<hr>
<pre>public static enum <span class="typeNameLabel">SwerveModule.Verbosity</span>
extends java.lang.Enum&lt;<a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a>&gt;</pre>
<div class="block">Verbosity levels for data publishing,</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum Constant</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#HIGH">HIGH</a></span></code></th>
<td class="colLast">
<div class="block">Extensively use the CAN bus to fetch data and report back.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#LOW">LOW</a></span></code></th>
<td class="colLast">
<div class="block">The bare minimum and not utilize the CAN bus when reporting data.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#NORMAL">NORMAL</a></span></code></th>
<td class="colLast">
<div class="block">Utilize the CAN bus minimally.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#SETUP">SETUP</a></span></code></th>
<td class="colLast">
<div class="block">Creates every field for the module.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Verbosity</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a id="LOW">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOW</h4>
<pre>public static final&nbsp;<a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a> LOW</pre>
<div class="block">The bare minimum and not utilize the CAN bus when reporting data. Only posts data from attributes.</div>
</li>
</ul>
<a id="NORMAL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NORMAL</h4>
<pre>public static final&nbsp;<a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a> NORMAL</pre>
<div class="block">Utilize the CAN bus minimally.</div>
</li>
</ul>
<a id="HIGH">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HIGH</h4>
<pre>public static final&nbsp;<a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a> HIGH</pre>
<div class="block">Extensively use the CAN bus to fetch data and report back.</div>
</li>
</ul>
<a id="SETUP">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SETUP</h4>
<pre>public static final&nbsp;<a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a> SETUP</pre>
<div class="block">Creates every field for the module.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Verbosity</h4>
<pre>private&nbsp;Verbosity()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="values()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (SwerveModule.Verbosity c : SwerveModule.Verbosity.values())
&nbsp; System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a id="valueOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a>&nbsp;valueOf&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,423 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>SwerveMotor.ModuleMotorType</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveMotor.ModuleMotorType";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve</a></div>
<h2 title="Enum SwerveMotor.ModuleMotorType" class="title">Enum SwerveMotor.ModuleMotorType</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code>, <code>java.lang.Comparable&lt;<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>&gt;</code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></dd>
</dl>
<hr>
<pre>public static enum <span class="typeNameLabel">SwerveMotor.ModuleMotorType</span>
extends java.lang.Enum&lt;<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>&gt;</pre>
<div class="block">Motor type for the swerve drive module</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum Constant</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#DRIVE">DRIVE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#TURNING">TURNING</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">ModuleMotorType</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a id="DRIVE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DRIVE</h4>
<pre>public static final&nbsp;<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a> DRIVE</pre>
</li>
</ul>
<a id="TURNING">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TURNING</h4>
<pre>public static final&nbsp;<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a> TURNING</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ModuleMotorType</h4>
<pre>private&nbsp;ModuleMotorType()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="values()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (SwerveMotor.ModuleMotorType c : SwerveMotor.ModuleMotorType.values())
&nbsp; System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a id="valueOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>&nbsp;valueOf&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,883 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>SwerveMotor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveMotor";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve</a></div>
<h2 title="Class SwerveMotor" class="title">Class SwerveMotor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.SwerveMotor</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="motors/CTRESwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor</a></code>, <code><a href="motors/REVSwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">SwerveMotor</span>
extends java.lang.Object</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a></span></code></th>
<td class="colLast">
<div class="block">Motor type for the swerve drive module</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#kD">kD</a></span></code></th>
<td class="colLast">
<div class="block">PIDF Values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#kF">kF</a></span></code></th>
<td class="colLast">
<div class="block">PIDF Values.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#kI">kI</a></span></code></th>
<td class="colLast">
<div class="block">PIDF Values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#kIZ">kIZ</a></span></code></th>
<td class="colLast">
<div class="block">PIDF Values.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#kP">kP</a></span></code></th>
<td class="colLast">
<div class="block">PIDF Values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_motorType">m_motorType</a></span></code></th>
<td class="colLast">
<div class="block">Module motor type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#target">target</a></span></code></th>
<td class="colLast">
<div class="block">Target value for PID.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">SwerveMotor</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static &lt;MotorType extends edu.wpi.first.wpilibj.motorcontrol.MotorController&gt;<br><a href="SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fromMotor(MotorType,frc.robot.subsystems.swervedrive.swerve.SwerveEncoder,frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType,double,double,double,double)">fromMotor</a></span>&#8203;(MotorType&nbsp;motor,
<a href="SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;?&gt;&nbsp;absoluteEncoder,
<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>&nbsp;type,
double&nbsp;gearRatio,
double&nbsp;wheelDiameter,
double&nbsp;freeSpeedRPM,
double&nbsp;powerLimit)</code></th>
<td class="colLast">
<div class="block">Constructor for Swerve Motor, expecting CANSparkMax or TalonFX.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get()">get</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current value of the encoder corresponding to the PID.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAmps()">getAmps</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current output.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPosition()">getPosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current value of the encoder.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#optimizeCANFrames()">optimizeCANFrames</a></span>()</code></th>
<td class="colLast">
<div class="block">Optimize the CAN status frames to reduce utilization.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reachable()">reachable</a></span>()</code></th>
<td class="colLast">
<div class="block">Check that the link is good on the swerve module and CAN bus is able to retrieve data.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remoteIntegratedEncoder()">remoteIntegratedEncoder</a></span>()</code></th>
<td class="colLast">
<div class="block">Check if the absolute encoder is used inplace of the integrated encoder.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#saveConfig()">saveConfig</a></span>()</code></th>
<td class="colLast">
<div class="block">Save configuration data to the motor controller so it is persistent on reboot.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(double)">set</a></span>&#8203;(double&nbsp;speed)</code></th>
<td class="colLast">
<div class="block">Set the speed of the drive motor from -1 to 1.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setConversionFactor(double)">setConversionFactor</a></span>&#8203;(double&nbsp;conversionFactor)</code></th>
<td class="colLast">
<div class="block">Configures the conversion factor based upon which motor.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCurrentLimit(int)">setCurrentLimit</a></span>&#8203;(int&nbsp;currentLimit)</code></th>
<td class="colLast">
<div class="block">Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with
voltage compensation.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEncoder(double)">setEncoder</a></span>&#8203;(double&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Set the encoder value.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInverted(boolean)">setInverted</a></span>&#8203;(boolean&nbsp;inverted)</code></th>
<td class="colLast">
<div class="block">Invert the motor.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPIDF(double,double,double,double,double)">setPIDF</a></span>&#8203;(double&nbsp;P,
double&nbsp;I,
double&nbsp;D,
double&nbsp;F,
double&nbsp;integralZone)</code></th>
<td class="colLast">
<div class="block">Set the PIDF coefficients for the closed loop PID onboard the SparkMax.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPIDOutputRange(double,double)">setPIDOutputRange</a></span>&#8203;(double&nbsp;min,
double&nbsp;max)</code></th>
<td class="colLast">
<div class="block">Configure the maximum power (-1 to 1) the PID can output.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTarget(double,double)">setTarget</a></span>&#8203;(double&nbsp;target,
double&nbsp;feedforward)</code></th>
<td class="colLast">
<div class="block">Set the target for the PID loop.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVoltageCompensation(double)">setVoltageCompensation</a></span>&#8203;(double&nbsp;nominalVoltage)</code></th>
<td class="colLast">
<div class="block">Set the voltage compensation for the swerve module motor.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
<td class="colLast">
<div class="block">Stop the motor by sending 0 volts to it.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="m_motorType">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_motorType</h4>
<pre>public&nbsp;<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a> m_motorType</pre>
<div class="block">Module motor type.</div>
</li>
</ul>
<a id="kP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>kP</h4>
<pre>public&nbsp;double kP</pre>
<div class="block">PIDF Values.</div>
</li>
</ul>
<a id="kI">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>kI</h4>
<pre>public&nbsp;double kI</pre>
<div class="block">PIDF Values.</div>
</li>
</ul>
<a id="kD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>kD</h4>
<pre>public&nbsp;double kD</pre>
<div class="block">PIDF Values.</div>
</li>
</ul>
<a id="kF">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>kF</h4>
<pre>public&nbsp;double kF</pre>
<div class="block">PIDF Values.</div>
</li>
</ul>
<a id="kIZ">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>kIZ</h4>
<pre>public&nbsp;double kIZ</pre>
<div class="block">PIDF Values.</div>
</li>
</ul>
<a id="target">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>target</h4>
<pre>public&nbsp;double target</pre>
<div class="block">Target value for PID.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SwerveMotor</h4>
<pre>public&nbsp;SwerveMotor()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="fromMotor(edu.wpi.first.wpilibj.motorcontrol.MotorController,frc.robot.subsystems.swervedrive.swerve.SwerveEncoder,frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType,double,double,double,double)">
<!-- -->
</a><a id="fromMotor(MotorType,frc.robot.subsystems.swervedrive.swerve.SwerveEncoder,frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType,double,double,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fromMotor</h4>
<pre class="methodSignature">public static&nbsp;&lt;MotorType extends edu.wpi.first.wpilibj.motorcontrol.MotorController&gt;&nbsp;<a href="SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a>&nbsp;fromMotor&#8203;(MotorType&nbsp;motor,
<a href="SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;?&gt;&nbsp;absoluteEncoder,
<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>&nbsp;type,
double&nbsp;gearRatio,
double&nbsp;wheelDiameter,
double&nbsp;freeSpeedRPM,
double&nbsp;powerLimit)</pre>
<div class="block">Constructor for Swerve Motor, expecting CANSparkMax or TalonFX. Clears sticky faults and restores factory
defaults.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>MotorType</code> - Motor type to use.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>motor</code> - Motor controller.</dd>
<dd><code>absoluteEncoder</code> - The absolute encoder used for the module, if the motor is a turning motor and the encoder is
compatible it will set the encoder as the remote integrated encoder and does not need
periodic synchronization.</dd>
<dd><code>type</code> - Swerve module motor type.</dd>
<dd><code>gearRatio</code> - Gear ratio.</dd>
<dd><code>wheelDiameter</code> - Wheel diameter in meters.</dd>
<dd><code>freeSpeedRPM</code> - Free speed RPM of the motor.</dd>
<dd><code>powerLimit</code> - Power limit for the motor.</dd>
</dl>
</li>
</ul>
<a id="setPIDOutputRange(double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPIDOutputRange</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;setPIDOutputRange&#8203;(double&nbsp;min,
double&nbsp;max)</pre>
<div class="block">Configure the maximum power (-1 to 1) the PID can output. This helps manage voltage pull for the drive base.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>min</code> - Minimum output.</dd>
<dd><code>max</code> - Maximum output.</dd>
</dl>
</li>
</ul>
<a id="setPIDF(double,double,double,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPIDF</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;setPIDF&#8203;(double&nbsp;P,
double&nbsp;I,
double&nbsp;D,
double&nbsp;F,
double&nbsp;integralZone)</pre>
<div class="block">Set the PIDF coefficients for the closed loop PID onboard the SparkMax.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>P</code> - Proportional gain for closed loop. This is multiplied by closed loop error in sensor units.
Default is 1.0</dd>
<dd><code>I</code> - Integral gain for closed loop. This is multiplied by closed loop error in sensor units every
PID Loop.</dd>
<dd><code>D</code> - Derivative gain for closed loop. This is multiplied by derivative error (sensor units per PID
loop). Default is 0.1</dd>
<dd><code>F</code> - Feed Fwd gain for Closed loop.</dd>
<dd><code>integralZone</code> - Integral Zone can be used to auto clear the integral accumulator if the sensor pos is too far
from the target. This prevents unstable oscillation if the kI is too large. Value is in sensor
units.</dd>
</dl>
</li>
</ul>
<a id="setConversionFactor(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConversionFactor</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;setConversionFactor&#8203;(double&nbsp;conversionFactor)</pre>
<div class="block">Configures the conversion factor based upon which motor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conversionFactor</code> - Conversion from RPM to MPS for drive motor, and rotations to degrees for the turning
motor.</dd>
</dl>
</li>
</ul>
<a id="setTarget(double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTarget</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;setTarget&#8203;(double&nbsp;target,
double&nbsp;feedforward)</pre>
<div class="block">Set the target for the PID loop.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - The PID target to aim for.</dd>
<dd><code>feedforward</code> - The feedforward for this target.</dd>
</dl>
</li>
</ul>
<a id="stop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;stop()</pre>
<div class="block">Stop the motor by sending 0 volts to it.</div>
</li>
</ul>
<a id="set(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;set&#8203;(double&nbsp;speed)</pre>
<div class="block">Set the speed of the drive motor from -1 to 1.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>speed</code> - Speed from -1 to 1.</dd>
</dl>
</li>
</ul>
<a id="get()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">public abstract&nbsp;double&nbsp;get()</pre>
<div class="block">Get the current value of the encoder corresponding to the PID.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Current value of the encoder either in velocity or position..</dd>
</dl>
</li>
</ul>
<a id="getAmps()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAmps</h4>
<pre class="methodSignature">public abstract&nbsp;double&nbsp;getAmps()</pre>
<div class="block">Get the current output.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Output amps.</dd>
</dl>
</li>
</ul>
<a id="getPosition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPosition</h4>
<pre class="methodSignature">public abstract&nbsp;double&nbsp;getPosition()</pre>
<div class="block">Get the current value of the encoder.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Current value of the encoder.</dd>
</dl>
</li>
</ul>
<a id="setVoltageCompensation(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVoltageCompensation</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;setVoltageCompensation&#8203;(double&nbsp;nominalVoltage)</pre>
<div class="block">Set the voltage compensation for the swerve module motor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nominalVoltage</code> - Nominal voltage for operation to output to.</dd>
</dl>
</li>
</ul>
<a id="setCurrentLimit(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCurrentLimit</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;setCurrentLimit&#8203;(int&nbsp;currentLimit)</pre>
<div class="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>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>currentLimit</code> - Current limit in AMPS at free speed.</dd>
</dl>
</li>
</ul>
<a id="setEncoder(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEncoder</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;setEncoder&#8203;(double&nbsp;value)</pre>
<div class="block">Set the encoder value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - Value to set the encoder to.</dd>
</dl>
</li>
</ul>
<a id="reachable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reachable</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;reachable()</pre>
<div class="block">Check that the link is good on the swerve module and CAN bus is able to retrieve data.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true on all devices are accessible over CAN.</dd>
</dl>
</li>
</ul>
<a id="remoteIntegratedEncoder()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteIntegratedEncoder</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;remoteIntegratedEncoder()</pre>
<div class="block">Check if the absolute encoder is used inplace of the integrated encoder.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true, if the absolute encoder is being used as the integrated controller.</dd>
</dl>
</li>
</ul>
<a id="optimizeCANFrames()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>optimizeCANFrames</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;optimizeCANFrames()</pre>
<div class="block">Optimize the CAN status frames to reduce utilization.</div>
</li>
</ul>
<a id="saveConfig()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>saveConfig</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;saveConfig()</pre>
<div class="block">Save configuration data to the motor controller so it is persistent on reboot.</div>
</li>
</ul>
<a id="setInverted(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setInverted</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;setInverted&#8203;(boolean&nbsp;inverted)</pre>
<div class="block">Invert the motor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inverted</code> - Set the motor as inverted.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,522 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>SwerveParser</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveParser";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve</a></div>
<h2 title="Class SwerveParser" class="title">Class SwerveParser</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.SwerveParser</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">SwerveParser</span>
extends java.lang.Object</pre>
<div class="block">Swerve Drive JSON parser.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">SwerveParser</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkDirectory(java.io.File)">checkDirectory</a></span>&#8203;(java.io.File&nbsp;directory)</code></th>
<td class="colLast">
<div class="block">Check directory structure.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkMain(com.fasterxml.jackson.databind.JsonNode)">checkMain</a></span>&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;mainJson)</code></th>
<td class="colLast">
<div class="block">Check the main json for correct attributes.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkModule(com.fasterxml.jackson.databind.JsonNode)">checkModule</a></span>&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;moduleJson)</code></th>
<td class="colLast">
<div class="block">Check module JSON config for existing values.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private static java.lang.Object</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createEncoder(com.fasterxml.jackson.databind.JsonNode)">createEncoder</a></span>&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;encoderConfig)</code></th>
<td class="colLast">
<div class="block">Create SwerveEncoder from JSON config.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private static com.ctre.phoenix.sensors.WPI_Pigeon2</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createGyro(com.fasterxml.jackson.databind.JsonNode)">createGyro</a></span>&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;gyroConfig)</code></th>
<td class="colLast">
<div class="block">Create the gyro object based off the configuration.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>private static <a href="SwerveModule.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveModule</a>&lt;?,&#8203;?,&#8203;?&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createModule(com.fasterxml.jackson.databind.JsonNode,java.io.File,frc.robot.subsystems.swervedrive.swerve.SwerveModule.SwerveModuleLocation)">createModule</a></span>&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;mainJson,
java.io.File&nbsp;moduleFile,
<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a>&nbsp;moduleLocation)</code></th>
<td class="colLast">
<div class="block">Create SwerveModule from JSON configuration file.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>private static edu.wpi.first.wpilibj.motorcontrol.MotorController</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createMotor(com.fasterxml.jackson.databind.JsonNode)">createMotor</a></span>&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;motorConfig)</code></th>
<td class="colLast">
<div class="block">Create the motor controller based off the config.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <a href="SwerveDrive.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveDrive</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fromJSONDirectory(java.io.File)">fromJSONDirectory</a></span>&#8203;(java.io.File&nbsp;directory)</code></th>
<td class="colLast">
<div class="block">Create SwerveDrive from JSON configuration directory.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>private static com.fasterxml.jackson.databind.JsonNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#openJson(java.io.File)">openJson</a></span>&#8203;(java.io.File&nbsp;file)</code></th>
<td class="colLast">
<div class="block">Open JSON file.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setModulePIDF(frc.robot.subsystems.swervedrive.swerve.SwerveMotor,com.fasterxml.jackson.databind.JsonNode)">setModulePIDF</a></span>&#8203;(<a href="SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a>&nbsp;motor,
com.fasterxml.jackson.databind.JsonNode&nbsp;jsonPIDF)</code></th>
<td class="colLast">
<div class="block">Set the PIDF for the module if the given JSON has the paramters.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SwerveParser</h4>
<pre>public&nbsp;SwerveParser()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="openJson(java.io.File)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>openJson</h4>
<pre class="methodSignature">private static&nbsp;com.fasterxml.jackson.databind.JsonNode&nbsp;openJson&#8203;(java.io.File&nbsp;file)</pre>
<div class="block">Open JSON file.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>file</code> - JSON File to open.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>JsonNode of file.</dd>
</dl>
</li>
</ul>
<a id="checkDirectory(java.io.File)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkDirectory</h4>
<pre class="methodSignature">private static&nbsp;void&nbsp;checkDirectory&#8203;(java.io.File&nbsp;directory)</pre>
<div class="block">Check directory structure.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>directory</code> - JSON Configuration Directory</dd>
</dl>
</li>
</ul>
<a id="createMotor(com.fasterxml.jackson.databind.JsonNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMotor</h4>
<pre class="methodSignature">private static&nbsp;edu.wpi.first.wpilibj.motorcontrol.MotorController&nbsp;createMotor&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;motorConfig)</pre>
<div class="block">Create the motor controller based off the config.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>motorConfig</code> - JSON Motor config object.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Motor Controller</dd>
</dl>
</li>
</ul>
<a id="createEncoder(com.fasterxml.jackson.databind.JsonNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createEncoder</h4>
<pre class="methodSignature">private static&nbsp;java.lang.Object&nbsp;createEncoder&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;encoderConfig)</pre>
<div class="block">Create SwerveEncoder from JSON config.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encoderConfig</code> - Swerve Encoder JSON config.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SwerveEncoder</dd>
</dl>
</li>
</ul>
<a id="createGyro(com.fasterxml.jackson.databind.JsonNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createGyro</h4>
<pre class="methodSignature">private static&nbsp;com.ctre.phoenix.sensors.WPI_Pigeon2&nbsp;createGyro&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;gyroConfig)</pre>
<div class="block">Create the gyro object based off the configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>gyroConfig</code> - Gyro configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Gyro object.</dd>
</dl>
</li>
</ul>
<a id="checkModule(com.fasterxml.jackson.databind.JsonNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkModule</h4>
<pre class="methodSignature">private static&nbsp;void&nbsp;checkModule&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;moduleJson)</pre>
<div class="block">Check module JSON config for existing values.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>moduleJson</code> - Module JSON object.</dd>
</dl>
</li>
</ul>
<a id="checkMain(com.fasterxml.jackson.databind.JsonNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkMain</h4>
<pre class="methodSignature">private static&nbsp;void&nbsp;checkMain&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;mainJson)</pre>
<div class="block">Check the main json for correct attributes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mainJson</code> - Main JSON.</dd>
</dl>
</li>
</ul>
<a id="createModule(com.fasterxml.jackson.databind.JsonNode,java.io.File,frc.robot.subsystems.swervedrive.swerve.SwerveModule.SwerveModuleLocation)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createModule</h4>
<pre class="methodSignature">private static&nbsp;<a href="SwerveModule.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveModule</a>&lt;?,&#8203;?,&#8203;?&gt;&nbsp;createModule&#8203;(com.fasterxml.jackson.databind.JsonNode&nbsp;mainJson,
java.io.File&nbsp;moduleFile,
<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a>&nbsp;moduleLocation)</pre>
<div class="block">Create SwerveModule from JSON configuration file.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mainJson</code> - Main JSON to pull from.</dd>
<dd><code>moduleFile</code> - Module specific JSON data to pull from.</dd>
<dd><code>moduleLocation</code> - Swerve module location that is being created.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SwerveModule</dd>
</dl>
</li>
</ul>
<a id="setModulePIDF(frc.robot.subsystems.swervedrive.swerve.SwerveMotor,com.fasterxml.jackson.databind.JsonNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setModulePIDF</h4>
<pre class="methodSignature">private static&nbsp;void&nbsp;setModulePIDF&#8203;(<a href="SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a>&nbsp;motor,
com.fasterxml.jackson.databind.JsonNode&nbsp;jsonPIDF)</pre>
<div class="block">Set the PIDF for the module if the given JSON has the paramters.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>motor</code> - Motor to configure.</dd>
<dd><code>jsonPIDF</code> - JSON ndoe with values.</dd>
</dl>
</li>
</ul>
<a id="fromJSONDirectory(java.io.File)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>fromJSONDirectory</h4>
<pre class="methodSignature">public static&nbsp;<a href="SwerveDrive.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveDrive</a>&nbsp;fromJSONDirectory&#8203;(java.io.File&nbsp;directory)</pre>
<div class="block">Create SwerveDrive from JSON configuration directory.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>directory</code> - JSON Configuration directory.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SwerveDrive</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,506 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>CTRECANCoder</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CTRECANCoder";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.encoders</a></div>
<h2 title="Class CTRECANCoder" class="title">Class CTRECANCoder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">frc.robot.subsystems.swervedrive.swerve.SwerveEncoder</a>&lt;com.ctre.phoenix.sensors.CANCoder&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.encoders.CTRECANCoder</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">CTRECANCoder</span>
extends <a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.ctre.phoenix.sensors.CANCoder&gt;</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveEncoder">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a></h3>
<code><a href="../SwerveEncoder.html#m_encoder">m_encoder</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.ctre.phoenix.sensors.CANCoder)">CTRECANCoder</a></span>&#8203;(com.ctre.phoenix.sensors.CANCoder&nbsp;encoder)</code></th>
<td class="colLast">
<div class="block">Create SwerveEncoder based off CANCoder.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure()">configure</a></span>()</code></th>
<td class="colLast">
<div class="block">Configure the absolute encoder if possible.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#factoryDefault()">factoryDefault</a></span>()</code></th>
<td class="colLast">
<div class="block">Reset encoder to factory default settings, if possible.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAbsolutePosition()">getAbsolutePosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the absolute position in degrees.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>com.ctre.phoenix.sensors.MagnetFieldStrength</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMagnetFieldStrength()">getMagnetFieldStrength</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the magnetic field strength, if available.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVelocity()">getVelocity</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the velocity of the absolute encoder in degrees per second.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reachable()">reachable</a></span>()</code></th>
<td class="colLast">
<div class="block">Is the encoder reachable?</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInverted(boolean)">setInverted</a></span>&#8203;(boolean&nbsp;isInverted)</code></th>
<td class="colLast">
<div class="block">Configure the sensor direction</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffset(double)">setOffset</a></span>&#8203;(double&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Configure the magnetic offset for the AbsoluteEncoder.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveEncoder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a></h3>
<code><a href="../SwerveEncoder.html#fromEncoder(AbsoluteEncoderType)">fromEncoder</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(com.ctre.phoenix.sensors.CANCoder)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CTRECANCoder</h4>
<pre>public&nbsp;CTRECANCoder&#8203;(com.ctre.phoenix.sensors.CANCoder&nbsp;encoder)</pre>
<div class="block">Create SwerveEncoder based off CANCoder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encoder</code> - CANCoder to use.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="configure()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configure</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;configure()</pre>
<div class="block">Configure the absolute encoder if possible.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#configure()">configure</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.ctre.phoenix.sensors.CANCoder&gt;</code></dd>
</dl>
</li>
</ul>
<a id="getMagnetFieldStrength()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMagnetFieldStrength</h4>
<pre class="methodSignature">public&nbsp;com.ctre.phoenix.sensors.MagnetFieldStrength&nbsp;getMagnetFieldStrength()</pre>
<div class="block">Get the magnetic field strength, if available.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getMagnetFieldStrength()">getMagnetFieldStrength</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.ctre.phoenix.sensors.CANCoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>CTRE MagneticFieldStrength Enum.</dd>
</dl>
</li>
</ul>
<a id="getAbsolutePosition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAbsolutePosition</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getAbsolutePosition()</pre>
<div class="block">Get the absolute position in degrees.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getAbsolutePosition()">getAbsolutePosition</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.ctre.phoenix.sensors.CANCoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Absolute position (0, 360]</dd>
</dl>
</li>
</ul>
<a id="getVelocity()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVelocity</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getVelocity()</pre>
<div class="block">Get the velocity of the absolute encoder in degrees per second.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getVelocity()">getVelocity</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.ctre.phoenix.sensors.CANCoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Velocity in degrees per second.</dd>
</dl>
</li>
</ul>
<a id="setOffset(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOffset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOffset&#8203;(double&nbsp;offset)</pre>
<div class="block">Configure the magnetic offset for the AbsoluteEncoder.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#setOffset(double)">setOffset</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.ctre.phoenix.sensors.CANCoder&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - Offset in degrees.</dd>
</dl>
</li>
</ul>
<a id="reachable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reachable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;reachable()</pre>
<div class="block">Is the encoder reachable?</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#reachable()">reachable</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.ctre.phoenix.sensors.CANCoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if reachable, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="setInverted(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInverted</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setInverted&#8203;(boolean&nbsp;isInverted)</pre>
<div class="block">Configure the sensor direction</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#setInverted(boolean)">setInverted</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.ctre.phoenix.sensors.CANCoder&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isInverted</code> - Inverted or not.</dd>
</dl>
</li>
</ul>
<a id="factoryDefault()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>factoryDefault</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;factoryDefault()</pre>
<div class="block">Reset encoder to factory default settings, if possible.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#factoryDefault()">factoryDefault</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.ctre.phoenix.sensors.CANCoder&gt;</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,611 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>PWMAnalogEncoder</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PWMAnalogEncoder";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.encoders</a></div>
<h2 title="Class PWMAnalogEncoder" class="title">Class PWMAnalogEncoder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">frc.robot.subsystems.swervedrive.swerve.SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.AnalogEncoder&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.encoders.PWMAnalogEncoder</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">PWMAnalogEncoder</span>
extends <a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.AnalogEncoder&gt;</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_inverted">m_inverted</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_lastAngle">m_lastAngle</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_lastTime">m_lastTime</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private edu.wpi.first.wpilibj.Timer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_timer">m_timer</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_velocity">m_velocity</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveEncoder">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a></h3>
<code><a href="../SwerveEncoder.html#m_encoder">m_encoder</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(edu.wpi.first.wpilibj.AnalogEncoder)">PWMAnalogEncoder</a></span>&#8203;(edu.wpi.first.wpilibj.AnalogEncoder&nbsp;encoder)</code></th>
<td class="colLast">
<div class="block">Constructor for analog encoder Swerve Encoder.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure()">configure</a></span>()</code></th>
<td class="colLast">
<div class="block">Configure the absolute encoder if possible.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#factoryDefault()">factoryDefault</a></span>()</code></th>
<td class="colLast">
<div class="block">Reset encoder to factory default settings, if possible.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAbsolutePosition()">getAbsolutePosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the absolute position in degrees.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>com.ctre.phoenix.sensors.MagnetFieldStrength</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMagnetFieldStrength()">getMagnetFieldStrength</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the magnetic field strength, if available.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVelocity()">getVelocity</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the velocity of the absolute encoder in degrees per second.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reachable()">reachable</a></span>()</code></th>
<td class="colLast">
<div class="block">Is the encoder reachable?</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInverted(boolean)">setInverted</a></span>&#8203;(boolean&nbsp;isInverted)</code></th>
<td class="colLast">
<div class="block">Configure the sensor direction</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffset(double)">setOffset</a></span>&#8203;(double&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Configure the magnetic offset for the AbsoluteEncoder.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateVelocity()">updateVelocity</a></span>()</code></th>
<td class="colLast">
<div class="block">Updates the velocity every second.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveEncoder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a></h3>
<code><a href="../SwerveEncoder.html#fromEncoder(AbsoluteEncoderType)">fromEncoder</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="m_timer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_timer</h4>
<pre>private final&nbsp;edu.wpi.first.wpilibj.Timer m_timer</pre>
</li>
</ul>
<a id="m_inverted">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_inverted</h4>
<pre>private&nbsp;boolean m_inverted</pre>
</li>
</ul>
<a id="m_lastAngle">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_lastAngle</h4>
<pre>private&nbsp;double m_lastAngle</pre>
</li>
</ul>
<a id="m_velocity">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_velocity</h4>
<pre>private&nbsp;double m_velocity</pre>
</li>
</ul>
<a id="m_lastTime">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>m_lastTime</h4>
<pre>private&nbsp;double m_lastTime</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(edu.wpi.first.wpilibj.AnalogEncoder)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PWMAnalogEncoder</h4>
<pre>public&nbsp;PWMAnalogEncoder&#8203;(edu.wpi.first.wpilibj.AnalogEncoder&nbsp;encoder)</pre>
<div class="block">Constructor for analog encoder Swerve Encoder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encoder</code> - AnalogEncoder.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="updateVelocity()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateVelocity</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;updateVelocity()</pre>
<div class="block">Updates the velocity every second.</div>
</li>
</ul>
<a id="configure()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configure</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;configure()</pre>
<div class="block">Configure the absolute encoder if possible.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#configure()">configure</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.AnalogEncoder&gt;</code></dd>
</dl>
</li>
</ul>
<a id="factoryDefault()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>factoryDefault</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;factoryDefault()</pre>
<div class="block">Reset encoder to factory default settings, if possible.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#factoryDefault()">factoryDefault</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.AnalogEncoder&gt;</code></dd>
</dl>
</li>
</ul>
<a id="getMagnetFieldStrength()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMagnetFieldStrength</h4>
<pre class="methodSignature">public&nbsp;com.ctre.phoenix.sensors.MagnetFieldStrength&nbsp;getMagnetFieldStrength()</pre>
<div class="block">Get the magnetic field strength, if available.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getMagnetFieldStrength()">getMagnetFieldStrength</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.AnalogEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>CTRE MagneticFieldStrength Enum.</dd>
</dl>
</li>
</ul>
<a id="getAbsolutePosition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAbsolutePosition</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getAbsolutePosition()</pre>
<div class="block">Get the absolute position in degrees.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getAbsolutePosition()">getAbsolutePosition</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.AnalogEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Absolute position (0, 360]</dd>
</dl>
</li>
</ul>
<a id="getVelocity()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVelocity</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getVelocity()</pre>
<div class="block">Get the velocity of the absolute encoder in degrees per second.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getVelocity()">getVelocity</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.AnalogEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Velocity in degrees per second.</dd>
</dl>
</li>
</ul>
<a id="setOffset(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOffset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOffset&#8203;(double&nbsp;offset)</pre>
<div class="block">Configure the magnetic offset for the AbsoluteEncoder.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#setOffset(double)">setOffset</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.AnalogEncoder&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - Offset in degrees.</dd>
</dl>
</li>
</ul>
<a id="reachable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reachable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;reachable()</pre>
<div class="block">Is the encoder reachable?</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#reachable()">reachable</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.AnalogEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if reachable, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="setInverted(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setInverted</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setInverted&#8203;(boolean&nbsp;isInverted)</pre>
<div class="block">Configure the sensor direction</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#setInverted(boolean)">setInverted</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.AnalogEncoder&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isInverted</code> - Inverted or not.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,611 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>PWMDutyCycleEncoder</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PWMDutyCycleEncoder";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.encoders</a></div>
<h2 title="Class PWMDutyCycleEncoder" class="title">Class PWMDutyCycleEncoder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">frc.robot.subsystems.swervedrive.swerve.SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.DutyCycleEncoder&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.encoders.PWMDutyCycleEncoder</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">PWMDutyCycleEncoder</span>
extends <a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.DutyCycleEncoder&gt;</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_inverted">m_inverted</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_lastAngle">m_lastAngle</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_lastTime">m_lastTime</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private edu.wpi.first.wpilibj.Timer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_timer">m_timer</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_velocity">m_velocity</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveEncoder">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a></h3>
<code><a href="../SwerveEncoder.html#m_encoder">m_encoder</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(edu.wpi.first.wpilibj.DutyCycleEncoder)">PWMDutyCycleEncoder</a></span>&#8203;(edu.wpi.first.wpilibj.DutyCycleEncoder&nbsp;encoder)</code></th>
<td class="colLast">
<div class="block">Construct PWM DutyCycleEncoder class.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure()">configure</a></span>()</code></th>
<td class="colLast">
<div class="block">Configure the absolute encoder if possible.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#factoryDefault()">factoryDefault</a></span>()</code></th>
<td class="colLast">
<div class="block">Reset encoder to factory default settings, if possible.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAbsolutePosition()">getAbsolutePosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the absolute position in degrees.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>com.ctre.phoenix.sensors.MagnetFieldStrength</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMagnetFieldStrength()">getMagnetFieldStrength</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the magnetic field strength, if available.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVelocity()">getVelocity</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the velocity of the absolute encoder in degrees per second.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reachable()">reachable</a></span>()</code></th>
<td class="colLast">
<div class="block">Is the encoder reachable?</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInverted(boolean)">setInverted</a></span>&#8203;(boolean&nbsp;isInverted)</code></th>
<td class="colLast">
<div class="block">Configure the sensor direction</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffset(double)">setOffset</a></span>&#8203;(double&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Configure the magnetic offset for the AbsoluteEncoder.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateVelocity()">updateVelocity</a></span>()</code></th>
<td class="colLast">
<div class="block">Updates the velocity every second.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveEncoder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a></h3>
<code><a href="../SwerveEncoder.html#fromEncoder(AbsoluteEncoderType)">fromEncoder</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="m_timer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_timer</h4>
<pre>private final&nbsp;edu.wpi.first.wpilibj.Timer m_timer</pre>
</li>
</ul>
<a id="m_inverted">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_inverted</h4>
<pre>private&nbsp;boolean m_inverted</pre>
</li>
</ul>
<a id="m_lastAngle">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_lastAngle</h4>
<pre>private&nbsp;double m_lastAngle</pre>
</li>
</ul>
<a id="m_velocity">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_velocity</h4>
<pre>private&nbsp;double m_velocity</pre>
</li>
</ul>
<a id="m_lastTime">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>m_lastTime</h4>
<pre>private&nbsp;double m_lastTime</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(edu.wpi.first.wpilibj.DutyCycleEncoder)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PWMDutyCycleEncoder</h4>
<pre>public&nbsp;PWMDutyCycleEncoder&#8203;(edu.wpi.first.wpilibj.DutyCycleEncoder&nbsp;encoder)</pre>
<div class="block">Construct PWM DutyCycleEncoder class.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encoder</code> - Encoder class.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="updateVelocity()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateVelocity</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;updateVelocity()</pre>
<div class="block">Updates the velocity every second.</div>
</li>
</ul>
<a id="configure()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configure</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;configure()</pre>
<div class="block">Configure the absolute encoder if possible.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#configure()">configure</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.DutyCycleEncoder&gt;</code></dd>
</dl>
</li>
</ul>
<a id="factoryDefault()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>factoryDefault</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;factoryDefault()</pre>
<div class="block">Reset encoder to factory default settings, if possible.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#factoryDefault()">factoryDefault</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.DutyCycleEncoder&gt;</code></dd>
</dl>
</li>
</ul>
<a id="getMagnetFieldStrength()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMagnetFieldStrength</h4>
<pre class="methodSignature">public&nbsp;com.ctre.phoenix.sensors.MagnetFieldStrength&nbsp;getMagnetFieldStrength()</pre>
<div class="block">Get the magnetic field strength, if available.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getMagnetFieldStrength()">getMagnetFieldStrength</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.DutyCycleEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>CTRE MagneticFieldStrength Enum.</dd>
</dl>
</li>
</ul>
<a id="getAbsolutePosition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAbsolutePosition</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getAbsolutePosition()</pre>
<div class="block">Get the absolute position in degrees.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getAbsolutePosition()">getAbsolutePosition</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.DutyCycleEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Absolute position (0, 360]</dd>
</dl>
</li>
</ul>
<a id="getVelocity()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVelocity</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getVelocity()</pre>
<div class="block">Get the velocity of the absolute encoder in degrees per second.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getVelocity()">getVelocity</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.DutyCycleEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Velocity in degrees per second.</dd>
</dl>
</li>
</ul>
<a id="setOffset(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOffset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOffset&#8203;(double&nbsp;offset)</pre>
<div class="block">Configure the magnetic offset for the AbsoluteEncoder.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#setOffset(double)">setOffset</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.DutyCycleEncoder&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - Offset in degrees.</dd>
</dl>
</li>
</ul>
<a id="reachable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reachable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;reachable()</pre>
<div class="block">Is the encoder reachable?</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#reachable()">reachable</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.DutyCycleEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if reachable, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="setInverted(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setInverted</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setInverted&#8203;(boolean&nbsp;isInverted)</pre>
<div class="block">Configure the sensor direction</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#setInverted(boolean)">setInverted</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;edu.wpi.first.wpilibj.DutyCycleEncoder&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isInverted</code> - Inverted or not.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,506 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>REVAbsoluteEncoder</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="REVAbsoluteEncoder";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.encoders</a></div>
<h2 title="Class REVAbsoluteEncoder" class="title">Class REVAbsoluteEncoder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">frc.robot.subsystems.swervedrive.swerve.SwerveEncoder</a>&lt;com.revrobotics.AbsoluteEncoder&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.encoders.REVAbsoluteEncoder</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">REVAbsoluteEncoder</span>
extends <a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.revrobotics.AbsoluteEncoder&gt;</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveEncoder">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a></h3>
<code><a href="../SwerveEncoder.html#m_encoder">m_encoder</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.revrobotics.AbsoluteEncoder)">REVAbsoluteEncoder</a></span>&#8203;(com.revrobotics.AbsoluteEncoder&nbsp;encoder)</code></th>
<td class="colLast">
<div class="block">Constructor for AbsoluteEncoder class.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure()">configure</a></span>()</code></th>
<td class="colLast">
<div class="block">Configure the absolute encoder if possible.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#factoryDefault()">factoryDefault</a></span>()</code></th>
<td class="colLast">
<div class="block">Reset encoder to factory default settings, if possible.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAbsolutePosition()">getAbsolutePosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the absolute position in degrees.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>com.ctre.phoenix.sensors.MagnetFieldStrength</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMagnetFieldStrength()">getMagnetFieldStrength</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the magnetic field strength, if available.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVelocity()">getVelocity</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the velocity of the absolute encoder in degrees per second.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reachable()">reachable</a></span>()</code></th>
<td class="colLast">
<div class="block">Is the encoder reachable?</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInverted(boolean)">setInverted</a></span>&#8203;(boolean&nbsp;isInverted)</code></th>
<td class="colLast">
<div class="block">Configure the sensor direction.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffset(double)">setOffset</a></span>&#8203;(double&nbsp;offset)</code></th>
<td class="colLast">
<div class="block">Configure the magnetic offset for the AbsoluteEncoder.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveEncoder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a></h3>
<code><a href="../SwerveEncoder.html#fromEncoder(AbsoluteEncoderType)">fromEncoder</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(com.revrobotics.AbsoluteEncoder)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>REVAbsoluteEncoder</h4>
<pre>public&nbsp;REVAbsoluteEncoder&#8203;(com.revrobotics.AbsoluteEncoder&nbsp;encoder)</pre>
<div class="block">Constructor for AbsoluteEncoder class.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encoder</code> - Encoder to wrap around.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="configure()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configure</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;configure()</pre>
<div class="block">Configure the absolute encoder if possible.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#configure()">configure</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.revrobotics.AbsoluteEncoder&gt;</code></dd>
</dl>
</li>
</ul>
<a id="factoryDefault()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>factoryDefault</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;factoryDefault()</pre>
<div class="block">Reset encoder to factory default settings, if possible.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#factoryDefault()">factoryDefault</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.revrobotics.AbsoluteEncoder&gt;</code></dd>
</dl>
</li>
</ul>
<a id="getMagnetFieldStrength()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMagnetFieldStrength</h4>
<pre class="methodSignature">public&nbsp;com.ctre.phoenix.sensors.MagnetFieldStrength&nbsp;getMagnetFieldStrength()</pre>
<div class="block">Get the magnetic field strength, if available.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getMagnetFieldStrength()">getMagnetFieldStrength</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.revrobotics.AbsoluteEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>CTRE MagneticFieldStrength Enum.</dd>
</dl>
</li>
</ul>
<a id="getAbsolutePosition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAbsolutePosition</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getAbsolutePosition()</pre>
<div class="block">Get the absolute position in degrees.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getAbsolutePosition()">getAbsolutePosition</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.revrobotics.AbsoluteEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Absolute position (0, 360]</dd>
</dl>
</li>
</ul>
<a id="getVelocity()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVelocity</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getVelocity()</pre>
<div class="block">Get the velocity of the absolute encoder in degrees per second.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#getVelocity()">getVelocity</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.revrobotics.AbsoluteEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Velocity in degrees per second.</dd>
</dl>
</li>
</ul>
<a id="setOffset(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOffset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOffset&#8203;(double&nbsp;offset)</pre>
<div class="block">Configure the magnetic offset for the AbsoluteEncoder.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#setOffset(double)">setOffset</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.revrobotics.AbsoluteEncoder&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offset</code> - Offset in degrees.</dd>
</dl>
</li>
</ul>
<a id="reachable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reachable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;reachable()</pre>
<div class="block">Is the encoder reachable?</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#reachable()">reachable</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.revrobotics.AbsoluteEncoder&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if reachable, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="setInverted(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setInverted</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setInverted&#8203;(boolean&nbsp;isInverted)</pre>
<div class="block">Configure the sensor direction.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveEncoder.html#setInverted(boolean)">setInverted</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;com.revrobotics.AbsoluteEncoder&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isInverted</code> - Inverted or not.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,176 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>frc.robot.subsystems.swervedrive.swerve.encoders</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="frc.robot.subsystems.swervedrive.swerve.encoders";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;frc.robot.subsystems.swervedrive.swerve.encoders</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CTRECANCoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders">CTRECANCoder</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="PWMAnalogEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders">PWMAnalogEncoder</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="PWMDutyCycleEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders">PWMDutyCycleEncoder</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="REVAbsoluteEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders">REVAbsoluteEncoder</a></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,168 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>frc.robot.subsystems.swervedrive.swerve.encoders Class Hierarchy</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="frc.robot.subsystems.swervedrive.swerve.encoders Class Hierarchy";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package frc.robot.subsystems.swervedrive.swerve.encoders</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<div class="contentContainer">
<section role="region">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveEncoder</span></a>&lt;AbsoluteEncoderType&gt;
<ul>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.encoders.<a href="CTRECANCoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders"><span class="typeNameLink">CTRECANCoder</span></a></li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.encoders.<a href="PWMAnalogEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders"><span class="typeNameLink">PWMAnalogEncoder</span></a></li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.encoders.<a href="PWMDutyCycleEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders"><span class="typeNameLink">PWMDutyCycleEncoder</span></a></li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.encoders.<a href="REVAbsoluteEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve.encoders"><span class="typeNameLink">REVAbsoluteEncoder</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,638 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>SwerveDriveKinematics2</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveDriveKinematics2";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.kinematics</a></div>
<h2 title="Class SwerveDriveKinematics2" class="title">Class SwerveDriveKinematics2</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>edu.wpi.first.math.kinematics.SwerveDriveKinematics</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveDriveKinematics2</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">SwerveDriveKinematics2</span>
extends edu.wpi.first.math.kinematics.SwerveDriveKinematics</pre>
<div class="block">Clone of WPI SwerveKinematics, which implements second order kinematics when calculating modules states from chassis
speed.
<p>Taken from https://github.com/FRC2539/javabot-2023/tree/main/src/main/java/frc/lib/swerve</p>
<p>https://github.com/first95/FRC2022/tree/feature/secondOrderKinematics/SwervyBot/src/main/java/frc/lib</p>
Makes use of <a href="SwerveDriveKinematics2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics"><code>SwerveDriveKinematics2</code></a> to add the angular velocity that is required of the module as an output.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.ejml.simple.SimpleMatrix</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#bigInverseKinematics">bigInverseKinematics</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.ejml.simple.SimpleMatrix</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_forwardKinematics">m_forwardKinematics</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.ejml.simple.SimpleMatrix</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_inverseKinematics">m_inverseKinematics</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private edu.wpi.first.math.geometry.Translation2d[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_modules">m_modules</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_moduleStates">m_moduleStates</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_numModules">m_numModules</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private edu.wpi.first.math.geometry.Translation2d</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_prevCoR">m_prevCoR</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(edu.wpi.first.math.geometry.Translation2d...)">SwerveDriveKinematics2</a></span>&#8203;(edu.wpi.first.math.geometry.Translation2d...&nbsp;wheelsMeters)</code></th>
<td class="colLast">
<div class="block">Constructs a swerve drive kinematics object.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#desaturateWheelSpeeds(frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2%5B%5D,double)">desaturateWheelSpeeds</a></span>&#8203;(<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>[]&nbsp;moduleStates,
double&nbsp;attainableMaxSpeedMetersPerSecond)</code></th>
<td class="colLast">
<div class="block">Renormalizes the wheel speeds if any individual speed is above the specified maximum.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#desaturateWheelSpeeds(frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2%5B%5D,edu.wpi.first.math.kinematics.ChassisSpeeds,double,double,double)">desaturateWheelSpeeds</a></span>&#8203;(<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>[]&nbsp;moduleStates,
edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;currentChassisSpeed,
double&nbsp;attainableMaxModuleSpeedMetersPerSecond,
double&nbsp;attainableMaxTranslationalSpeedMetersPerSecond,
double&nbsp;attainableMaxRotationalVelocityRadiansPerSecond)</code></th>
<td class="colLast">
<div class="block">Renormalizes the wheel speeds if any individual speed is above the specified maximum, as well as getting rid of
joystick saturation at edges of joystick.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>edu.wpi.first.math.kinematics.ChassisSpeeds</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toChassisSpeeds(frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2...)">toChassisSpeeds</a></span>&#8203;(<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>...&nbsp;wheelStates)</code></th>
<td class="colLast">
<div class="block">Performs forward kinematics to return the resulting chassis state from the given module states.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSwerveModuleStates(edu.wpi.first.math.kinematics.ChassisSpeeds)">toSwerveModuleStates</a></span>&#8203;(edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;chassisSpeeds)</code></th>
<td class="colLast">
<div class="block">Performs inverse kinematics.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSwerveModuleStates(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)">toSwerveModuleStates</a></span>&#8203;(edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;chassisSpeeds,
edu.wpi.first.math.geometry.Translation2d&nbsp;centerOfRotationMeters)</code></th>
<td class="colLast">
<div class="block">Performs inverse kinematics to return the module states from a desired chassis velocity.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>edu.wpi.first.math.geometry.Twist2d</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toTwist2d(edu.wpi.first.math.kinematics.SwerveModulePosition...)">toTwist2d</a></span>&#8203;(edu.wpi.first.math.kinematics.SwerveModulePosition...&nbsp;wheelDeltas)</code></th>
<td class="colLast">
<div class="block">Performs forward kinematics to return the resulting chassis state from the given module states.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.edu.wpi.first.math.kinematics.SwerveDriveKinematics">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;edu.wpi.first.math.kinematics.SwerveDriveKinematics</h3>
<code>desaturateWheelSpeeds, desaturateWheelSpeeds, toChassisSpeeds</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="m_inverseKinematics">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_inverseKinematics</h4>
<pre>private final&nbsp;org.ejml.simple.SimpleMatrix m_inverseKinematics</pre>
</li>
</ul>
<a id="m_forwardKinematics">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_forwardKinematics</h4>
<pre>private final&nbsp;org.ejml.simple.SimpleMatrix m_forwardKinematics</pre>
</li>
</ul>
<a id="bigInverseKinematics">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bigInverseKinematics</h4>
<pre>private final&nbsp;org.ejml.simple.SimpleMatrix bigInverseKinematics</pre>
</li>
</ul>
<a id="m_numModules">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_numModules</h4>
<pre>private final&nbsp;int m_numModules</pre>
</li>
</ul>
<a id="m_modules">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_modules</h4>
<pre>private final&nbsp;edu.wpi.first.math.geometry.Translation2d[] m_modules</pre>
</li>
</ul>
<a id="m_moduleStates">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_moduleStates</h4>
<pre>private final&nbsp;<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>[] m_moduleStates</pre>
</li>
</ul>
<a id="m_prevCoR">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>m_prevCoR</h4>
<pre>private&nbsp;edu.wpi.first.math.geometry.Translation2d m_prevCoR</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(edu.wpi.first.math.geometry.Translation2d...)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SwerveDriveKinematics2</h4>
<pre>public&nbsp;SwerveDriveKinematics2&#8203;(edu.wpi.first.math.geometry.Translation2d...&nbsp;wheelsMeters)</pre>
<div class="block">Constructs a swerve drive kinematics object. This takes in a variable number of wheel locations as
<code>Translation2d</code>s. The order in which you pass in the wheel locations is the same order that you will receive
the module states when performing inverse kinematics. It is also expected that you pass in the module states in the
same order when calling the forward kinematics methods.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wheelsMeters</code> - The locations of the wheels relative to the physical center of the robot.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="desaturateWheelSpeeds(frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2[],double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>desaturateWheelSpeeds</h4>
<pre class="methodSignature">public static&nbsp;void&nbsp;desaturateWheelSpeeds&#8203;(<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>[]&nbsp;moduleStates,
double&nbsp;attainableMaxSpeedMetersPerSecond)</pre>
<div class="block">Renormalizes the wheel speeds if any individual speed is above the specified maximum.
<p>Sometimes, after inverse kinematics, the requested speed from one or more modules may be
above the max attainable speed for the driving motor on that module. To fix this issue, one can reduce all the
wheel speeds to make sure that all requested module speeds are at-or-below the absolute threshold, while
maintaining the ratio of speeds between modules.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>moduleStates</code> - Reference to array of module states. The array will be mutated with the
normalized speeds!</dd>
<dd><code>attainableMaxSpeedMetersPerSecond</code> - The absolute max speed that a module can reach.</dd>
</dl>
</li>
</ul>
<a id="desaturateWheelSpeeds(frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2[],edu.wpi.first.math.kinematics.ChassisSpeeds,double,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>desaturateWheelSpeeds</h4>
<pre class="methodSignature">public static&nbsp;void&nbsp;desaturateWheelSpeeds&#8203;(<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>[]&nbsp;moduleStates,
edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;currentChassisSpeed,
double&nbsp;attainableMaxModuleSpeedMetersPerSecond,
double&nbsp;attainableMaxTranslationalSpeedMetersPerSecond,
double&nbsp;attainableMaxRotationalVelocityRadiansPerSecond)</pre>
<div class="block">Renormalizes the wheel speeds if any individual speed is above the specified maximum, as well as getting rid of
joystick saturation at edges of joystick.
<p>Sometimes, after inverse kinematics, the requested speed from one or more modules may be
above the max attainable speed for the driving motor on that module. To fix this issue, one can reduce all the
wheel speeds to make sure that all requested module speeds are at-or-below the absolute threshold, while
maintaining the ratio of speeds between modules.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>moduleStates</code> - Reference to array of module states. The array will be
mutated with the normalized speeds!</dd>
<dd><code>currentChassisSpeed</code> - The current speed of the robot</dd>
<dd><code>attainableMaxModuleSpeedMetersPerSecond</code> - The absolute max speed that a module can reach</dd>
<dd><code>attainableMaxTranslationalSpeedMetersPerSecond</code> - The absolute max speed that your robot can reach while
translating</dd>
<dd><code>attainableMaxRotationalVelocityRadiansPerSecond</code> - The absolute max speed the robot can reach while rotating</dd>
</dl>
</li>
</ul>
<a id="toSwerveModuleStates(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toSwerveModuleStates</h4>
<pre class="methodSignature">public&nbsp;<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>[]&nbsp;toSwerveModuleStates&#8203;(edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;chassisSpeeds,
edu.wpi.first.math.geometry.Translation2d&nbsp;centerOfRotationMeters)</pre>
<div class="block">Performs inverse kinematics to return the module states from a desired chassis velocity. This method is often used
to convert joystick values into module speeds and angles.
<p>This function also supports variable centers of rotation. During normal operations, the
center of rotation is usually the same as the physical center of the robot; therefore, the argument is defaulted to
that use case. However, if you wish to change the center of rotation for evasive maneuvers, vision alignment, or
for any other use case, you can do so.
<p>In the case that the desired chassis speeds are zero (i.e. the robot will be stationary),
the previously calculated module angle will be maintained.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toSwerveModuleStates</code>&nbsp;in class&nbsp;<code>edu.wpi.first.math.kinematics.SwerveDriveKinematics</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>chassisSpeeds</code> - The desired chassis speed.</dd>
<dd><code>centerOfRotationMeters</code> - The center of rotation. For example, if you set the center of rotation at one corner
of the robot and provide a chassis speed that only has a dtheta component, the robot
will rotate around that corner.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An array containing the module states. Use caution because these module states are not normalized.
Sometimes, a user input may cause one of the module speeds to go above the attainable max velocity. Use the
<a href="#desaturateWheelSpeeds(frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2%5B%5D,double)"><code>DesaturateWheelSpeeds</code></a> function to rectify this issue.</dd>
</dl>
</li>
</ul>
<a id="toSwerveModuleStates(edu.wpi.first.math.kinematics.ChassisSpeeds)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toSwerveModuleStates</h4>
<pre class="methodSignature">public&nbsp;<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>[]&nbsp;toSwerveModuleStates&#8203;(edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;chassisSpeeds)</pre>
<div class="block">Performs inverse kinematics. See <a href="#toSwerveModuleStates(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.geometry.Translation2d)"><code>toSwerveModuleStates(ChassisSpeeds, Translation2d)</code></a> toSwerveModuleStates
for more information.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toSwerveModuleStates</code>&nbsp;in class&nbsp;<code>edu.wpi.first.math.kinematics.SwerveDriveKinematics</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>chassisSpeeds</code> - The desired chassis speed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An array containing the module states.</dd>
</dl>
</li>
</ul>
<a id="toChassisSpeeds(frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toChassisSpeeds</h4>
<pre class="methodSignature">public&nbsp;edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;toChassisSpeeds&#8203;(<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>...&nbsp;wheelStates)</pre>
<div class="block">Performs forward kinematics to return the resulting chassis state from the given module states. This method is
often used for odometry -- determining the robot's position on the field using data from the real-world speed and
angle of each module on the robot.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wheelStates</code> - The state of the modules (as a SwerveModuleState type) as measured from respective encoders and
gyros. The order of the swerve module states should be same as passed into the constructor of
this class.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The resulting chassis speed.</dd>
</dl>
</li>
</ul>
<a id="toTwist2d(edu.wpi.first.math.kinematics.SwerveModulePosition...)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toTwist2d</h4>
<pre class="methodSignature">public&nbsp;edu.wpi.first.math.geometry.Twist2d&nbsp;toTwist2d&#8203;(edu.wpi.first.math.kinematics.SwerveModulePosition...&nbsp;wheelDeltas)</pre>
<div class="block">Performs forward kinematics to return the resulting chassis state from the given module states. This method is
often used for odometry -- determining the robot's position on the field using data from the real-world speed and
angle of each module on the robot.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toTwist2d</code>&nbsp;in class&nbsp;<code>edu.wpi.first.math.kinematics.SwerveDriveKinematics</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wheelDeltas</code> - The latest change in position of the modules (as a SwerveModulePosition type) as measured from
respective encoders and gyros. The order of the swerve module states should be same as passed
into the constructor of this class.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The resulting Twist2d.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,476 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>SwerveModuleState2</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveModuleState2";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.kinematics</a></div>
<h2 title="Class SwerveModuleState2" class="title">Class SwerveModuleState2</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>edu.wpi.first.math.kinematics.SwerveModuleState</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.lang.Comparable&lt;edu.wpi.first.math.kinematics.SwerveModuleState&gt;</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">SwerveModuleState2</span>
extends edu.wpi.first.math.kinematics.SwerveModuleState</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angularVelocityRadPerSecond">angularVelocityRadPerSecond</a></span></code></th>
<td class="colLast">
<div class="block">Angular velocity in radians per second.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.edu.wpi.first.math.kinematics.SwerveModuleState">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;edu.wpi.first.math.kinematics.SwerveModuleState</h3>
<code>angle, speedMetersPerSecond</code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">SwerveModuleState2</a></span>()</code></th>
<td class="colLast">
<div class="block">Constructs a SwerveModuleState with zeros for speed and angle.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(double,edu.wpi.first.math.geometry.Rotation2d)">SwerveModuleState2</a></span>&#8203;(double&nbsp;speedMetersPerSecond,
edu.wpi.first.math.geometry.Rotation2d&nbsp;angle)</code></th>
<td class="colLast">
<div class="block">Constructs a SwerveModuleState.</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(double,edu.wpi.first.math.geometry.Rotation2d,double)">SwerveModuleState2</a></span>&#8203;(double&nbsp;speedMetersPerSecond,
edu.wpi.first.math.geometry.Rotation2d&nbsp;angle,
double&nbsp;angularVelocityRadPerSecond)</code></th>
<td class="colLast">
<div class="block">Constructs a SwerveModuleState.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(edu.wpi.first.math.kinematics.SwerveModuleState)">SwerveModuleState2</a></span>&#8203;(edu.wpi.first.math.kinematics.SwerveModuleState&nbsp;self)</code></th>
<td class="colLast">
<div class="block">Constructs a SwerveModuleState with zeros for speed and angle.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#optimize(frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2,edu.wpi.first.math.geometry.Rotation2d)">optimize</a></span>&#8203;(<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>&nbsp;desiredState,
edu.wpi.first.math.geometry.Rotation2d&nbsp;currentAngle)</code></th>
<td class="colLast">
<div class="block">Minimize the change in heading the desired swerve module state would require by potentially reversing the direction
the wheel spins.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#placeInAppropriate0To360Scope(double,double)">placeInAppropriate0To360Scope</a></span>&#8203;(double&nbsp;scopeReference,
double&nbsp;newAngle)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.edu.wpi.first.math.kinematics.SwerveModuleState">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;edu.wpi.first.math.kinematics.SwerveModuleState</h3>
<code>compareTo, equals, hashCode, optimize, toString</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="angularVelocityRadPerSecond">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>angularVelocityRadPerSecond</h4>
<pre>public&nbsp;double angularVelocityRadPerSecond</pre>
<div class="block">Angular velocity in radians per second. Angular Velocity = omega.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SwerveModuleState2</h4>
<pre>public&nbsp;SwerveModuleState2()</pre>
<div class="block">Constructs a SwerveModuleState with zeros for speed and angle.</div>
</li>
</ul>
<a id="&lt;init&gt;(edu.wpi.first.math.kinematics.SwerveModuleState)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SwerveModuleState2</h4>
<pre>public&nbsp;SwerveModuleState2&#8203;(edu.wpi.first.math.kinematics.SwerveModuleState&nbsp;self)</pre>
<div class="block">Constructs a SwerveModuleState with zeros for speed and angle.</div>
</li>
</ul>
<a id="&lt;init&gt;(double,edu.wpi.first.math.geometry.Rotation2d)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SwerveModuleState2</h4>
<pre>public&nbsp;SwerveModuleState2&#8203;(double&nbsp;speedMetersPerSecond,
edu.wpi.first.math.geometry.Rotation2d&nbsp;angle)</pre>
<div class="block">Constructs a SwerveModuleState.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>speedMetersPerSecond</code> - The speed of the wheel of the module.</dd>
<dd><code>angle</code> - The angle of the module.</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(double,edu.wpi.first.math.geometry.Rotation2d,double)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SwerveModuleState2</h4>
<pre>public&nbsp;SwerveModuleState2&#8203;(double&nbsp;speedMetersPerSecond,
edu.wpi.first.math.geometry.Rotation2d&nbsp;angle,
double&nbsp;angularVelocityRadPerSecond)</pre>
<div class="block">Constructs a SwerveModuleState.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>speedMetersPerSecond</code> - The speed of the wheel of the module.</dd>
<dd><code>angle</code> - The angle of the module.</dd>
<dd><code>angularVelocityRadPerSecond</code> - The angular velocity of the module.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="optimize(frc.robot.subsystems.swervedrive.swerve.kinematics.SwerveModuleState2,edu.wpi.first.math.geometry.Rotation2d)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>optimize</h4>
<pre class="methodSignature">public static&nbsp;<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>&nbsp;optimize&#8203;(<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a>&nbsp;desiredState,
edu.wpi.first.math.geometry.Rotation2d&nbsp;currentAngle)</pre>
<div class="block">Minimize the change in heading the desired swerve module state would require by potentially reversing the direction
the wheel spins. Customized from WPILib's version to include placing in appropriate scope for CTRE and REV onboard
control as both controllers as of writing don't have support for continuous input.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>desiredState</code> - The desired state.</dd>
<dd><code>currentAngle</code> - The current module angle.</dd>
</dl>
</li>
</ul>
<a id="placeInAppropriate0To360Scope(double,double)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>placeInAppropriate0To360Scope</h4>
<pre class="methodSignature">public static&nbsp;double&nbsp;placeInAppropriate0To360Scope&#8203;(double&nbsp;scopeReference,
double&nbsp;newAngle)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scopeReference</code> - Current Angle</dd>
<dd><code>newAngle</code> - Target Angle</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Closest angle within scope</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,171 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>frc.robot.subsystems.swervedrive.swerve.kinematics</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="frc.robot.subsystems.swervedrive.swerve.kinematics";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;frc.robot.subsystems.swervedrive.swerve.kinematics</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SwerveDriveKinematics2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveDriveKinematics2</a></th>
<td class="colLast">
<div class="block">Clone of WPI SwerveKinematics, which implements second order kinematics when calculating modules states from chassis
speed.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics">SwerveModuleState2</a></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,170 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>frc.robot.subsystems.swervedrive.swerve.kinematics Class Hierarchy</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="frc.robot.subsystems.swervedrive.swerve.kinematics Class Hierarchy";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package frc.robot.subsystems.swervedrive.swerve.kinematics</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<div class="contentContainer">
<section role="region">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">edu.wpi.first.math.kinematics.SwerveDriveKinematics
<ul>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.kinematics.<a href="SwerveDriveKinematics2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics"><span class="typeNameLink">SwerveDriveKinematics2</span></a></li>
</ul>
</li>
<li class="circle">edu.wpi.first.math.kinematics.SwerveModuleState (implements java.lang.Comparable&lt;T&gt;)
<ul>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.kinematics.<a href="SwerveModuleState2.html" title="class in frc.robot.subsystems.swervedrive.swerve.kinematics"><span class="typeNameLink">SwerveModuleState2</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,449 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>CTRESwerveMotor.CTRE_pidIdx</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CTRESwerveMotor.CTRE_pidIdx";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.motors</a></div>
<h2 title="Enum CTRESwerveMotor.CTRE_pidIdx" class="title">Enum CTRESwerveMotor.CTRE_pidIdx</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a>&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.motors.CTRESwerveMotor.CTRE_pidIdx</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code>, <code>java.lang.Comparable&lt;<a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a>&gt;</code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="CTRESwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor</a></dd>
</dl>
<hr>
<pre>static enum <span class="typeNameLabel">CTRESwerveMotor.CTRE_pidIdx</span>
extends java.lang.Enum&lt;<a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a>&gt;</pre>
<div class="block">The TalonSRX PID to use onboard.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum Constant</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#AUXILIARY_PID">AUXILIARY_PID</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#FOURTH_PID">FOURTH_PID</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#PRIMARY_PID">PRIMARY_PID</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#THIRD_PID">THIRD_PID</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">CTRE_pidIdx</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a id="PRIMARY_PID">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PRIMARY_PID</h4>
<pre>public static final&nbsp;<a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a> PRIMARY_PID</pre>
</li>
</ul>
<a id="AUXILIARY_PID">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUXILIARY_PID</h4>
<pre>public static final&nbsp;<a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a> AUXILIARY_PID</pre>
</li>
</ul>
<a id="THIRD_PID">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>THIRD_PID</h4>
<pre>public static final&nbsp;<a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a> THIRD_PID</pre>
</li>
</ul>
<a id="FOURTH_PID">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FOURTH_PID</h4>
<pre>public static final&nbsp;<a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a> FOURTH_PID</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CTRE_pidIdx</h4>
<pre>private&nbsp;CTRE_pidIdx()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="values()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (CTRESwerveMotor.CTRE_pidIdx c : CTRESwerveMotor.CTRE_pidIdx.values())
&nbsp; System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a id="valueOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a>&nbsp;valueOf&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,422 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>CTRESwerveMotor.CTRE_remoteSensor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CTRESwerveMotor.CTRE_remoteSensor";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.motors</a></div>
<h2 title="Enum CTRESwerveMotor.CTRE_remoteSensor" class="title">Enum CTRESwerveMotor.CTRE_remoteSensor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a>&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.motors.CTRESwerveMotor.CTRE_remoteSensor</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code>, <code>java.lang.Comparable&lt;<a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a>&gt;</code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="CTRESwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor</a></dd>
</dl>
<hr>
<pre>static enum <span class="typeNameLabel">CTRESwerveMotor.CTRE_remoteSensor</span>
extends java.lang.Enum&lt;<a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a>&gt;</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum Constant</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#REMOTE_SENSOR_0">REMOTE_SENSOR_0</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#REMOTE_SENSOR_1">REMOTE_SENSOR_1</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">CTRE_remoteSensor</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a id="REMOTE_SENSOR_0">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REMOTE_SENSOR_0</h4>
<pre>public static final&nbsp;<a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a> REMOTE_SENSOR_0</pre>
</li>
</ul>
<a id="REMOTE_SENSOR_1">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>REMOTE_SENSOR_1</h4>
<pre>public static final&nbsp;<a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a> REMOTE_SENSOR_1</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CTRE_remoteSensor</h4>
<pre>private&nbsp;CTRE_remoteSensor()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="values()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (CTRESwerveMotor.CTRE_remoteSensor c : CTRESwerveMotor.CTRE_remoteSensor.values())
&nbsp; System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a id="valueOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a>&nbsp;valueOf&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,449 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>CTRESwerveMotor.CTRE_slotIdx</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CTRESwerveMotor.CTRE_slotIdx";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.motors</a></div>
<h2 title="Enum CTRESwerveMotor.CTRE_slotIdx" class="title">Enum CTRESwerveMotor.CTRE_slotIdx</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a>&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.motors.CTRESwerveMotor.CTRE_slotIdx</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code>, <code>java.lang.Comparable&lt;<a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a>&gt;</code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="CTRESwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor</a></dd>
</dl>
<hr>
<pre>static enum <span class="typeNameLabel">CTRESwerveMotor.CTRE_slotIdx</span>
extends java.lang.Enum&lt;<a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a>&gt;</pre>
<div class="block">The Talon SRX Slot profile used to configure the motor to use for the PID.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum Constant</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#Distance">Distance</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#MotionProfile">MotionProfile</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#Turning">Turning</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#Velocity">Velocity</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">CTRE_slotIdx</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a id="Distance">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Distance</h4>
<pre>public static final&nbsp;<a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a> Distance</pre>
</li>
</ul>
<a id="Turning">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Turning</h4>
<pre>public static final&nbsp;<a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a> Turning</pre>
</li>
</ul>
<a id="Velocity">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Velocity</h4>
<pre>public static final&nbsp;<a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a> Velocity</pre>
</li>
</ul>
<a id="MotionProfile">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MotionProfile</h4>
<pre>public static final&nbsp;<a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a> MotionProfile</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CTRE_slotIdx</h4>
<pre>private&nbsp;CTRE_slotIdx()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="values()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (CTRESwerveMotor.CTRE_slotIdx c : CTRESwerveMotor.CTRE_slotIdx.values())
&nbsp; System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a id="valueOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a>&nbsp;valueOf&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,934 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>CTRESwerveMotor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CTRESwerveMotor";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.motors</a></div>
<h2 title="Class CTRESwerveMotor" class="title">Class CTRESwerveMotor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">frc.robot.subsystems.swervedrive.swerve.SwerveMotor</a></li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.motors.CTRESwerveMotor</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">CTRESwerveMotor</span>
extends <a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a></span></code></th>
<td class="colLast">
<div class="block">The TalonSRX PID to use onboard.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a></span></code></th>
<td class="colLast">
<div class="block">The Talon SRX Slot profile used to configure the motor to use for the PID.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveMotor">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></h3>
<code><a href="../SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_allowableClosedLoopError">m_allowableClosedLoopError</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_angleEncoder">m_angleEncoder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private com.ctre.phoenix.motorcontrol.ControlMode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_controlMode">m_controlMode</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.function.Supplier&lt;java.lang.Double&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_encoderRet">m_encoderRet</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_integratedAbsEncoder">m_integratedAbsEncoder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_mainPidId">m_mainPidId</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_mainPIDSlotId">m_mainPIDSlotId</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_moduleRadkV">m_moduleRadkV</a></span></code></th>
<td class="colLast">
<div class="block">kV feed forward for PID</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private com.ctre.phoenix.motorcontrol.can.TalonFX</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_motor">m_motor</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveMotor">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></h3>
<code><a href="../SwerveMotor.html#kD">kD</a>, <a href="../SwerveMotor.html#kF">kF</a>, <a href="../SwerveMotor.html#kI">kI</a>, <a href="../SwerveMotor.html#kIZ">kIZ</a>, <a href="../SwerveMotor.html#kP">kP</a>, <a href="../SwerveMotor.html#m_motorType">m_motorType</a>, <a href="../SwerveMotor.html#target">target</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.ctre.phoenix.motorcontrol.can.TalonFX,frc.robot.subsystems.swervedrive.swerve.SwerveEncoder,frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType,double,double,double,double)">CTRESwerveMotor</a></span>&#8203;(com.ctre.phoenix.motorcontrol.can.TalonFX&nbsp;motor,
<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;?&gt;&nbsp;encoder,
<a href="../SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>&nbsp;type,
double&nbsp;gearRatio,
double&nbsp;wheelDiameter,
double&nbsp;freeSpeedRPM,
double&nbsp;powerLimit)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get()">get</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current value of the encoder corresponding to the PID.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAmps()">getAmps</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current output.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPosition()">getPosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current value of the encoder.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#optimizeCANFrames()">optimizeCANFrames</a></span>()</code></th>
<td class="colLast">
<div class="block">Optimize the CAN status frames to reduce utilization.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reachable()">reachable</a></span>()</code></th>
<td class="colLast">
<div class="block">Check that the link is good on the swerve module and CAN bus is able to retrieve data.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remoteIntegratedEncoder()">remoteIntegratedEncoder</a></span>()</code></th>
<td class="colLast">
<div class="block">Check if the absolute encoder is used inplace of the integrated encoder.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#saveConfig()">saveConfig</a></span>()</code></th>
<td class="colLast">
<div class="block">Save configuration data to the motor controller so it is persistent on reboot.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(double)">set</a></span>&#8203;(double&nbsp;speed)</code></th>
<td class="colLast">
<div class="block">Set the speed of the drive motor from -1 to 1.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setConversionFactor(double)">setConversionFactor</a></span>&#8203;(double&nbsp;conversionFactor)</code></th>
<td class="colLast">
<div class="block">Configures the conversion factor based upon which motor.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCurrentLimit(int)">setCurrentLimit</a></span>&#8203;(int&nbsp;currentLimit)</code></th>
<td class="colLast">
<div class="block">Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with
voltage compensation.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEncoder(double)">setEncoder</a></span>&#8203;(double&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Set the encoder value.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInverted(boolean)">setInverted</a></span>&#8203;(boolean&nbsp;inverted)</code></th>
<td class="colLast">
<div class="block">Invert the motor.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPIDF(double,double,double,double,double)">setPIDF</a></span>&#8203;(double&nbsp;P,
double&nbsp;I,
double&nbsp;D,
double&nbsp;F,
double&nbsp;integralZone)</code></th>
<td class="colLast">
<div class="block">Set the PIDF coefficients for the closed loop PID onboard the SparkMax.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPIDOutputRange(double,double)">setPIDOutputRange</a></span>&#8203;(double&nbsp;min,
double&nbsp;max)</code></th>
<td class="colLast">
<div class="block">Configure the maximum power (-1 to 1) the PID can output.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTarget(double,double)">setTarget</a></span>&#8203;(double&nbsp;target,
double&nbsp;feedforward)</code></th>
<td class="colLast">
<div class="block">Set the target for the PID loop.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVoltageCompensation(double)">setVoltageCompensation</a></span>&#8203;(double&nbsp;nominalVoltage)</code></th>
<td class="colLast">
<div class="block">Set the voltage compensation for the swerve module motor.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
<td class="colLast">
<div class="block">Stop the motor by sending 0 volts to it.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveMotor">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></h3>
<code><a href="../SwerveMotor.html#fromMotor(MotorType,frc.robot.subsystems.swervedrive.swerve.SwerveEncoder,frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType,double,double,double,double)">fromMotor</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="m_angleEncoder">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_angleEncoder</h4>
<pre>private final&nbsp;<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a> m_angleEncoder</pre>
</li>
</ul>
<a id="m_integratedAbsEncoder">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_integratedAbsEncoder</h4>
<pre>private final&nbsp;boolean m_integratedAbsEncoder</pre>
</li>
</ul>
<a id="m_allowableClosedLoopError">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_allowableClosedLoopError</h4>
<pre>private final&nbsp;double m_allowableClosedLoopError</pre>
</li>
</ul>
<a id="m_controlMode">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_controlMode</h4>
<pre>private final&nbsp;com.ctre.phoenix.motorcontrol.ControlMode m_controlMode</pre>
</li>
</ul>
<a id="m_mainPIDSlotId">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_mainPIDSlotId</h4>
<pre>private final&nbsp;int m_mainPIDSlotId</pre>
</li>
</ul>
<a id="m_mainPidId">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_mainPidId</h4>
<pre>private final&nbsp;int m_mainPidId</pre>
</li>
</ul>
<a id="m_encoderRet">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_encoderRet</h4>
<pre>private final&nbsp;java.util.function.Supplier&lt;java.lang.Double&gt; m_encoderRet</pre>
</li>
</ul>
<a id="m_motor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_motor</h4>
<pre>private final&nbsp;com.ctre.phoenix.motorcontrol.can.TalonFX m_motor</pre>
</li>
</ul>
<a id="m_moduleRadkV">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>m_moduleRadkV</h4>
<pre>private final&nbsp;double m_moduleRadkV</pre>
<div class="block">kV feed forward for PID</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(com.ctre.phoenix.motorcontrol.can.TalonFX,frc.robot.subsystems.swervedrive.swerve.SwerveEncoder,frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType,double,double,double,double)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CTRESwerveMotor</h4>
<pre>public&nbsp;CTRESwerveMotor&#8203;(com.ctre.phoenix.motorcontrol.can.TalonFX&nbsp;motor,
<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;?&gt;&nbsp;encoder,
<a href="../SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>&nbsp;type,
double&nbsp;gearRatio,
double&nbsp;wheelDiameter,
double&nbsp;freeSpeedRPM,
double&nbsp;powerLimit)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setPIDOutputRange(double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPIDOutputRange</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setPIDOutputRange&#8203;(double&nbsp;min,
double&nbsp;max)</pre>
<div class="block">Configure the maximum power (-1 to 1) the PID can output. This helps manage voltage pull for the drive base.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setPIDOutputRange(double,double)">setPIDOutputRange</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>min</code> - Minimum output.</dd>
<dd><code>max</code> - Maximum output.</dd>
</dl>
</li>
</ul>
<a id="setPIDF(double,double,double,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPIDF</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setPIDF&#8203;(double&nbsp;P,
double&nbsp;I,
double&nbsp;D,
double&nbsp;F,
double&nbsp;integralZone)</pre>
<div class="block">Set the PIDF coefficients for the closed loop PID onboard the SparkMax.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setPIDF(double,double,double,double,double)">setPIDF</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>P</code> - Proportional gain for closed loop. This is multiplied by closed loop error in sensor units.
Default is 1.0</dd>
<dd><code>I</code> - Integral gain for closed loop. This is multiplied by closed loop error in sensor units every
PID Loop.</dd>
<dd><code>D</code> - Derivative gain for closed loop. This is multiplied by derivative error (sensor units per PID
loop). Default is 0.1</dd>
<dd><code>F</code> - Feed Fwd gain for Closed loop.</dd>
<dd><code>integralZone</code> - Integral Zone can be used to auto clear the integral accumulator if the sensor pos is too far
from the target. This prevents unstable oscillation if the kI is too large. Value is in sensor
units.</dd>
</dl>
</li>
</ul>
<a id="setConversionFactor(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConversionFactor</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setConversionFactor&#8203;(double&nbsp;conversionFactor)</pre>
<div class="block">Configures the conversion factor based upon which motor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setConversionFactor(double)">setConversionFactor</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conversionFactor</code> - Conversion from RPM to MPS for drive motor, and rotations to degrees for the turning
motor.</dd>
</dl>
</li>
</ul>
<a id="setTarget(double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTarget</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setTarget&#8203;(double&nbsp;target,
double&nbsp;feedforward)</pre>
<div class="block">Set the target for the PID loop.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setTarget(double,double)">setTarget</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - The PID target to aim for.</dd>
<dd><code>feedforward</code> - The feedforward for this target.</dd>
</dl>
</li>
</ul>
<a id="stop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;stop()</pre>
<div class="block">Stop the motor by sending 0 volts to it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#stop()">stop</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
</dl>
</li>
</ul>
<a id="set(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;set&#8203;(double&nbsp;speed)</pre>
<div class="block">Set the speed of the drive motor from -1 to 1.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#set(double)">set</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>speed</code> - Speed from -1 to 1.</dd>
</dl>
</li>
</ul>
<a id="get()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;get()</pre>
<div class="block">Get the current value of the encoder corresponding to the PID.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#get()">get</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Current value of the encoder.</dd>
</dl>
</li>
</ul>
<a id="getPosition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPosition</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getPosition()</pre>
<div class="block">Get the current value of the encoder.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#getPosition()">getPosition</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Current value of the encoder.</dd>
</dl>
</li>
</ul>
<a id="setVoltageCompensation(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVoltageCompensation</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setVoltageCompensation&#8203;(double&nbsp;nominalVoltage)</pre>
<div class="block">Set the voltage compensation for the swerve module motor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setVoltageCompensation(double)">setVoltageCompensation</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nominalVoltage</code> - Nominal voltage for operation to output to.</dd>
</dl>
</li>
</ul>
<a id="setCurrentLimit(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCurrentLimit</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setCurrentLimit&#8203;(int&nbsp;currentLimit)</pre>
<div class="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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setCurrentLimit(int)">setCurrentLimit</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>currentLimit</code> - Current limit in AMPS at free speed.</dd>
</dl>
</li>
</ul>
<a id="setEncoder(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEncoder</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setEncoder&#8203;(double&nbsp;value)</pre>
<div class="block">Set the encoder value.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setEncoder(double)">setEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - Value to set the encoder to.</dd>
</dl>
</li>
</ul>
<a id="reachable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reachable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;reachable()</pre>
<div class="block">Check that the link is good on the swerve module and CAN bus is able to retrieve data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#reachable()">reachable</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true on all devices are accessible over CAN.</dd>
</dl>
</li>
</ul>
<a id="remoteIntegratedEncoder()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteIntegratedEncoder</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;remoteIntegratedEncoder()</pre>
<div class="block">Check if the absolute encoder is used inplace of the integrated encoder.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#remoteIntegratedEncoder()">remoteIntegratedEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true, if the absolute encoder is being used as the integrated controller.</dd>
</dl>
</li>
</ul>
<a id="optimizeCANFrames()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>optimizeCANFrames</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;optimizeCANFrames()</pre>
<div class="block">Optimize the CAN status frames to reduce utilization.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#optimizeCANFrames()">optimizeCANFrames</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
</dl>
</li>
</ul>
<a id="saveConfig()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>saveConfig</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;saveConfig()</pre>
<div class="block">Save configuration data to the motor controller so it is persistent on reboot.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#saveConfig()">saveConfig</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
</dl>
</li>
</ul>
<a id="setInverted(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInverted</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setInverted&#8203;(boolean&nbsp;inverted)</pre>
<div class="block">Invert the motor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setInverted(boolean)">setInverted</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inverted</code> - Set the motor as inverted.</dd>
</dl>
</li>
</ul>
<a id="getAmps()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getAmps</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getAmps()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../SwerveMotor.html#getAmps()">SwerveMotor</a></code></span></div>
<div class="block">Get the current output.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#getAmps()">getAmps</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Output amps.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,436 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>REVSwerveMotor.REV_slotIdx</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="REVSwerveMotor.REV_slotIdx";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.motors</a></div>
<h2 title="Enum REVSwerveMotor.REV_slotIdx" class="title">Enum REVSwerveMotor.REV_slotIdx</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a>&gt;</li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.motors.REVSwerveMotor.REV_slotIdx</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Serializable</code>, <code>java.lang.Comparable&lt;<a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a>&gt;</code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="REVSwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor</a></dd>
</dl>
<hr>
<pre>static enum <span class="typeNameLabel">REVSwerveMotor.REV_slotIdx</span>
extends java.lang.Enum&lt;<a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a>&gt;</pre>
<div class="block">REV Slots for PID configuration.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum Constant</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#Position">Position</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#Simulation">Simulation</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#Velocity">Velocity</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">REV_slotIdx</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a id="Position">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Position</h4>
<pre>public static final&nbsp;<a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a> Position</pre>
</li>
</ul>
<a id="Velocity">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Velocity</h4>
<pre>public static final&nbsp;<a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a> Velocity</pre>
</li>
</ul>
<a id="Simulation">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Simulation</h4>
<pre>public static final&nbsp;<a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a> Simulation</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>REV_slotIdx</h4>
<pre>private&nbsp;REV_slotIdx()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="values()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (REVSwerveMotor.REV_slotIdx c : REVSwerveMotor.REV_slotIdx.values())
&nbsp; System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a id="valueOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a>&nbsp;valueOf&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,997 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>REVSwerveMotor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="REVSwerveMotor";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">frc.robot.subsystems.swervedrive.swerve.motors</a></div>
<h2 title="Class REVSwerveMotor" class="title">Class REVSwerveMotor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">frc.robot.subsystems.swervedrive.swerve.SwerveMotor</a></li>
<li>
<ul class="inheritance">
<li>frc.robot.subsystems.swervedrive.swerve.motors.REVSwerveMotor</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">REVSwerveMotor</span>
extends <a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a></span></code></th>
<td class="colLast">
<div class="block">REV Slots for PID configuration.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveMotor">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></h3>
<code><a href="../SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private com.revrobotics.MotorFeedbackSensor</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_encoder">m_encoder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.function.Supplier&lt;java.lang.Double&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_encoderPosRet">m_encoderPosRet</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.function.Supplier&lt;java.lang.Double&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_encoderRet">m_encoderRet</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private com.revrobotics.SparkMaxPIDController.ArbFFUnits</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_feedforwardUnits">m_feedforwardUnits</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_integratedAbsEncoder">m_integratedAbsEncoder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_mainPidSlot">m_mainPidSlot</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_moduleRadkV">m_moduleRadkV</a></span></code></th>
<td class="colLast">
<div class="block">kV feed forward for PID</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private com.revrobotics.CANSparkMax</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_motor">m_motor</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private com.revrobotics.SparkMaxPIDController</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_pid">m_pid</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private com.revrobotics.CANSparkMax.ControlType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_pidControlType">m_pidControlType</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#m_secondaryPidSlot">m_secondaryPidSlot</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveMotor">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></h3>
<code><a href="../SwerveMotor.html#kD">kD</a>, <a href="../SwerveMotor.html#kF">kF</a>, <a href="../SwerveMotor.html#kI">kI</a>, <a href="../SwerveMotor.html#kIZ">kIZ</a>, <a href="../SwerveMotor.html#kP">kP</a>, <a href="../SwerveMotor.html#m_motorType">m_motorType</a>, <a href="../SwerveMotor.html#target">target</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(com.revrobotics.CANSparkMax,frc.robot.subsystems.swervedrive.swerve.SwerveEncoder,frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType,double,double,double,double)">REVSwerveMotor</a></span>&#8203;(com.revrobotics.CANSparkMax&nbsp;motor,
<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;?&gt;&nbsp;absoluteEncoder,
<a href="../SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>&nbsp;type,
double&nbsp;gearRatio,
double&nbsp;wheelDiameter,
double&nbsp;freeSpeedRPM,
double&nbsp;powerLimit)</code></th>
<td class="colLast">
<div class="block">Constructor for REV Swerve Motor, expecting CANSparkMax.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get()">get</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current value of the encoder corresponding to the PID.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAmps()">getAmps</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current output.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPosition()">getPosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current value of the encoder.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#optimizeCANFrames()">optimizeCANFrames</a></span>()</code></th>
<td class="colLast">
<div class="block">Optimize the CAN status frames to reduce utilization.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reachable()">reachable</a></span>()</code></th>
<td class="colLast">
<div class="block">Check that the link is good on the swerve module and CAN bus is able to retrieve data.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remoteIntegratedEncoder()">remoteIntegratedEncoder</a></span>()</code></th>
<td class="colLast">
<div class="block">Check if the absolute encoder is used inplace of the integrated encoder.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#saveConfig()">saveConfig</a></span>()</code></th>
<td class="colLast">
<div class="block">Save configuration data to the motor controller so it is persistent on reboot.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(double)">set</a></span>&#8203;(double&nbsp;speed)</code></th>
<td class="colLast">
<div class="block">Set the speed of the drive motor from -1 to 1.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCANStatusFrames(int,int,int,int,int)">setCANStatusFrames</a></span>&#8203;(int&nbsp;CANStatus0,
int&nbsp;CANStatus1,
int&nbsp;CANStatus2,
int&nbsp;CANStatus3,
int&nbsp;CANStatus4)</code></th>
<td class="colLast">
<div class="block">Set the CAN status frames.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setConversionFactor(double)">setConversionFactor</a></span>&#8203;(double&nbsp;conversionFactor)</code></th>
<td class="colLast">
<div class="block">Configures the conversion factor based upon which motor.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCurrentLimit(int)">setCurrentLimit</a></span>&#8203;(int&nbsp;currentLimit)</code></th>
<td class="colLast">
<div class="block">Set the current limit for the swerve drive motor, remember this may cause jumping if used in conjunction with
voltage compensation.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEncoder(double)">setEncoder</a></span>&#8203;(double&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Set the encoder value.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInverted(boolean)">setInverted</a></span>&#8203;(boolean&nbsp;inverted)</code></th>
<td class="colLast">
<div class="block">Invert the motor.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPIDF(double,double,double,double,double)">setPIDF</a></span>&#8203;(double&nbsp;P,
double&nbsp;I,
double&nbsp;D,
double&nbsp;F,
double&nbsp;integralZone)</code></th>
<td class="colLast">
<div class="block">Set the PIDF coefficients for the closed loop PID onboard the SparkMax.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPIDOutputRange(double,double)">setPIDOutputRange</a></span>&#8203;(double&nbsp;min,
double&nbsp;max)</code></th>
<td class="colLast">
<div class="block">Configure the maximum power (-1 to 1) the PID can output.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTarget(double,double)">setTarget</a></span>&#8203;(double&nbsp;target,
double&nbsp;feedforward)</code></th>
<td class="colLast">
<div class="block">Set the target for the PID loop.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVoltageCompensation(double)">setVoltageCompensation</a></span>&#8203;(double&nbsp;nominalVoltage)</code></th>
<td class="colLast">
<div class="block">Set the voltage compensation for the swerve module motor.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
<td class="colLast">
<div class="block">Stop the motor by sending 0 volts to it.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.frc.robot.subsystems.swervedrive.swerve.SwerveMotor">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></h3>
<code><a href="../SwerveMotor.html#fromMotor(MotorType,frc.robot.subsystems.swervedrive.swerve.SwerveEncoder,frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType,double,double,double,double)">fromMotor</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="m_mainPidSlot">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_mainPidSlot</h4>
<pre>private final&nbsp;int m_mainPidSlot</pre>
</li>
</ul>
<a id="m_secondaryPidSlot">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_secondaryPidSlot</h4>
<pre>private final&nbsp;int m_secondaryPidSlot</pre>
</li>
</ul>
<a id="m_pidControlType">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_pidControlType</h4>
<pre>private final&nbsp;com.revrobotics.CANSparkMax.ControlType m_pidControlType</pre>
</li>
</ul>
<a id="m_motor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_motor</h4>
<pre>private final&nbsp;com.revrobotics.CANSparkMax m_motor</pre>
</li>
</ul>
<a id="m_encoder">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_encoder</h4>
<pre>private final&nbsp;com.revrobotics.MotorFeedbackSensor m_encoder</pre>
</li>
</ul>
<a id="m_integratedAbsEncoder">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_integratedAbsEncoder</h4>
<pre>private final&nbsp;boolean m_integratedAbsEncoder</pre>
</li>
</ul>
<a id="m_pid">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_pid</h4>
<pre>private final&nbsp;com.revrobotics.SparkMaxPIDController m_pid</pre>
</li>
</ul>
<a id="m_feedforwardUnits">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_feedforwardUnits</h4>
<pre>private final&nbsp;com.revrobotics.SparkMaxPIDController.ArbFFUnits m_feedforwardUnits</pre>
</li>
</ul>
<a id="m_encoderRet">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_encoderRet</h4>
<pre>private final&nbsp;java.util.function.Supplier&lt;java.lang.Double&gt; m_encoderRet</pre>
</li>
</ul>
<a id="m_encoderPosRet">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_encoderPosRet</h4>
<pre>private final&nbsp;java.util.function.Supplier&lt;java.lang.Double&gt; m_encoderPosRet</pre>
</li>
</ul>
<a id="m_moduleRadkV">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>m_moduleRadkV</h4>
<pre>private final&nbsp;double m_moduleRadkV</pre>
<div class="block">kV feed forward for PID</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(com.revrobotics.CANSparkMax,frc.robot.subsystems.swervedrive.swerve.SwerveEncoder,frc.robot.subsystems.swervedrive.swerve.SwerveMotor.ModuleMotorType,double,double,double,double)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>REVSwerveMotor</h4>
<pre>public&nbsp;REVSwerveMotor&#8203;(com.revrobotics.CANSparkMax&nbsp;motor,
<a href="../SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;?&gt;&nbsp;absoluteEncoder,
<a href="../SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a>&nbsp;type,
double&nbsp;gearRatio,
double&nbsp;wheelDiameter,
double&nbsp;freeSpeedRPM,
double&nbsp;powerLimit)</pre>
<div class="block">Constructor for REV Swerve Motor, expecting CANSparkMax. Clears sticky faults and restores factory defaults.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>motor</code> - SparkMAX motor controller.</dd>
<dd><code>absoluteEncoder</code> - The absolute encoder used for the module, if the motor is a turning motor and the encoder is
compatible it will set the encoder as the remote integrated encoder and does not need
periodic synchronization.</dd>
<dd><code>type</code> - Swerve module motor type.</dd>
<dd><code>gearRatio</code> - Gear ratio.</dd>
<dd><code>wheelDiameter</code> - Wheel diameter in meters.</dd>
<dd><code>freeSpeedRPM</code> - Free speed RPM of the motor.</dd>
<dd><code>powerLimit</code> - Power limit for the motor.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setPIDOutputRange(double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPIDOutputRange</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setPIDOutputRange&#8203;(double&nbsp;min,
double&nbsp;max)</pre>
<div class="block">Configure the maximum power (-1 to 1) the PID can output. This helps manage voltage pull for the drive base.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setPIDOutputRange(double,double)">setPIDOutputRange</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>min</code> - Minimum output.</dd>
<dd><code>max</code> - Maximum output.</dd>
</dl>
</li>
</ul>
<a id="setPIDF(double,double,double,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPIDF</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setPIDF&#8203;(double&nbsp;P,
double&nbsp;I,
double&nbsp;D,
double&nbsp;F,
double&nbsp;integralZone)</pre>
<div class="block">Set the PIDF coefficients for the closed loop PID onboard the SparkMax.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setPIDF(double,double,double,double,double)">setPIDF</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>P</code> - Proportional gain for closed loop. This is multiplied by closed loop error in sensor units.
Default is 1.0</dd>
<dd><code>I</code> - Integral gain for closed loop. This is multiplied by closed loop error in sensor units every
PID Loop.</dd>
<dd><code>D</code> - Derivative gain for closed loop. This is multiplied by derivative error (sensor units per PID
loop). Default is 0.1</dd>
<dd><code>F</code> - Feed Fwd gain for Closed loop.</dd>
<dd><code>integralZone</code> - Integral Zone can be used to auto clear the integral accumulator if the sensor pos is too far
from the target. This prevents unstable oscillation if the kI is too large. Value is in sensor
units.</dd>
</dl>
</li>
</ul>
<a id="setConversionFactor(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConversionFactor</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setConversionFactor&#8203;(double&nbsp;conversionFactor)</pre>
<div class="block">Configures the conversion factor based upon which motor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setConversionFactor(double)">setConversionFactor</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conversionFactor</code> - Conversion from RPM to MPS for drive motor, and rotations to degrees for the turning
motor.</dd>
</dl>
</li>
</ul>
<a id="setTarget(double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTarget</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setTarget&#8203;(double&nbsp;target,
double&nbsp;feedforward)</pre>
<div class="block">Set the target for the PID loop.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setTarget(double,double)">setTarget</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - The PID target to aim for.</dd>
<dd><code>feedforward</code> - feedForward value.</dd>
</dl>
</li>
</ul>
<a id="stop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;stop()</pre>
<div class="block">Stop the motor by sending 0 volts to it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#stop()">stop</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
</dl>
</li>
</ul>
<a id="set(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;set&#8203;(double&nbsp;speed)</pre>
<div class="block">Set the speed of the drive motor from -1 to 1.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#set(double)">set</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>speed</code> - Speed from -1 to 1.</dd>
</dl>
</li>
</ul>
<a id="get()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;get()</pre>
<div class="block">Get the current value of the encoder corresponding to the PID.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#get()">get</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Current value of the encoder.</dd>
</dl>
</li>
</ul>
<a id="getAmps()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAmps</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getAmps()</pre>
<div class="block">Get the current output.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#getAmps()">getAmps</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Output amps.</dd>
</dl>
</li>
</ul>
<a id="getPosition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPosition</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getPosition()</pre>
<div class="block">Get the current value of the encoder.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#getPosition()">getPosition</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Current value of the encoder.</dd>
</dl>
</li>
</ul>
<a id="setVoltageCompensation(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVoltageCompensation</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setVoltageCompensation&#8203;(double&nbsp;nominalVoltage)</pre>
<div class="block">Set the voltage compensation for the swerve module motor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setVoltageCompensation(double)">setVoltageCompensation</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nominalVoltage</code> - Nominal voltage for operation to output to.</dd>
</dl>
</li>
</ul>
<a id="setCurrentLimit(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCurrentLimit</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setCurrentLimit&#8203;(int&nbsp;currentLimit)</pre>
<div class="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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setCurrentLimit(int)">setCurrentLimit</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>currentLimit</code> - Current limit in AMPS at free speed.</dd>
</dl>
</li>
</ul>
<a id="setEncoder(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEncoder</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setEncoder&#8203;(double&nbsp;value)</pre>
<div class="block">Set the encoder value.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setEncoder(double)">setEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - Value to set the encoder to.</dd>
</dl>
</li>
</ul>
<a id="setCANStatusFrames(int,int,int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCANStatusFrames</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setCANStatusFrames&#8203;(int&nbsp;CANStatus0,
int&nbsp;CANStatus1,
int&nbsp;CANStatus2,
int&nbsp;CANStatus3,
int&nbsp;CANStatus4)</pre>
<div class="block">Set the CAN status frames.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>CANStatus0</code> - Applied Output, Faults, Sticky Faults, Is Follower</dd>
<dd><code>CANStatus1</code> - Motor Velocity, Motor Temperature, Motor Voltage, Motor Current</dd>
<dd><code>CANStatus2</code> - Motor Position</dd>
<dd><code>CANStatus3</code> - Analog Sensor Voltage, Analog Sensor Velocity, Analog Sensor Position</dd>
<dd><code>CANStatus4</code> - Alternate Encoder Velocity, Alternate Encoder Position</dd>
</dl>
</li>
</ul>
<a id="reachable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reachable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;reachable()</pre>
<div class="block">Check that the link is good on the swerve module and CAN bus is able to retrieve data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#reachable()">reachable</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true on all devices are accessible over CAN.</dd>
</dl>
</li>
</ul>
<a id="remoteIntegratedEncoder()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteIntegratedEncoder</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;remoteIntegratedEncoder()</pre>
<div class="block">Check if the absolute encoder is used inplace of the integrated encoder.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#remoteIntegratedEncoder()">remoteIntegratedEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true, if the absolute encoder is being used as the integrated controller.</dd>
</dl>
</li>
</ul>
<a id="optimizeCANFrames()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>optimizeCANFrames</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;optimizeCANFrames()</pre>
<div class="block">Optimize the CAN status frames to reduce utilization.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#optimizeCANFrames()">optimizeCANFrames</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
</dl>
</li>
</ul>
<a id="saveConfig()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>saveConfig</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;saveConfig()</pre>
<div class="block">Save configuration data to the motor controller so it is persistent on reboot.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#saveConfig()">saveConfig</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
</dl>
</li>
</ul>
<a id="setInverted(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setInverted</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setInverted&#8203;(boolean&nbsp;inverted)</pre>
<div class="block">Invert the motor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../SwerveMotor.html#setInverted(boolean)">setInverted</a></code>&nbsp;in class&nbsp;<code><a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inverted</code> - Set the motor as inverted.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,201 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>frc.robot.subsystems.swervedrive.swerve.motors</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="frc.robot.subsystems.swervedrive.swerve.motors";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;frc.robot.subsystems.swervedrive.swerve.motors</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CTRESwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="REVSwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor</a></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_pidIdx</a></th>
<td class="colLast">
<div class="block">The TalonSRX PID to use onboard.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_remoteSensor</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">CTRESwerveMotor.CTRE_slotIdx</a></th>
<td class="colLast">
<div class="block">The Talon SRX Slot profile used to configure the motor to use for the PID.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors">REVSwerveMotor.REV_slotIdx</a></th>
<td class="colLast">
<div class="block">REV Slots for PID configuration.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,183 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>frc.robot.subsystems.swervedrive.swerve.motors Class Hierarchy</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="frc.robot.subsystems.swervedrive.swerve.motors Class Hierarchy";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package frc.robot.subsystems.swervedrive.swerve.motors</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<div class="contentContainer">
<section role="region">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="../SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveMotor</span></a>
<ul>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.motors.<a href="CTRESwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve.motors"><span class="typeNameLink">CTRESwerveMotor</span></a></li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.motors.<a href="REVSwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve.motors"><span class="typeNameLink">REVSwerveMotor</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
<section role="region">
<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
<ul>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.motors.<a href="CTRESwerveMotor.CTRE_pidIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors"><span class="typeNameLink">CTRESwerveMotor.CTRE_pidIdx</span></a></li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.motors.<a href="CTRESwerveMotor.CTRE_remoteSensor.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors"><span class="typeNameLink">CTRESwerveMotor.CTRE_remoteSensor</span></a></li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.motors.<a href="CTRESwerveMotor.CTRE_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors"><span class="typeNameLink">CTRESwerveMotor.CTRE_slotIdx</span></a></li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.motors.<a href="REVSwerveMotor.REV_slotIdx.html" title="enum in frc.robot.subsystems.swervedrive.swerve.motors"><span class="typeNameLink">REVSwerveMotor.REV_slotIdx</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,223 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>frc.robot.subsystems.swervedrive.swerve</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="frc.robot.subsystems.swervedrive.swerve";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;frc.robot.subsystems.swervedrive.swerve</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SwerveDrive.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveDrive</a></th>
<td class="colLast">
<div class="block">SwerveDrive base which is meant to be platform agnostic.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SwerveDrive.SwerveModuleConfig.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveDrive.SwerveModuleConfig</a>&lt;DriveMotorType extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;SteeringMotorType extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;AbsoluteEncoder extends com.ctre.phoenix.sensors.CANCoder&gt;</th>
<td class="colLast">
<div class="block">Helper class for easier swerve module creation</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveEncoder</a>&lt;AbsoluteEncoderType&gt;</th>
<td class="colLast">
<div class="block">Swerve Encoder class definition for common interfaces.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SwerveModule.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveModule</a>&lt;DriveMotorType extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;AngleMotorType extends edu.wpi.first.wpilibj.motorcontrol.MotorController,&#8203;AbsoluteEncoderType&gt;</th>
<td class="colLast">
<div class="block">Swerve module for representing a single swerve module of the robot.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveMotor</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SwerveParser.html" title="class in frc.robot.subsystems.swervedrive.swerve">SwerveParser</a></th>
<td class="colLast">
<div class="block">Swerve Drive JSON parser.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.SwerveModuleLocation</a></th>
<td class="colLast">
<div class="block">Swerve Module location on the robot.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveModule.Verbosity</a></th>
<td class="colLast">
<div class="block">Verbosity levels for data publishing,</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve">SwerveMotor.ModuleMotorType</a></th>
<td class="colLast">
<div class="block">Motor type for the swerve drive module</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@@ -0,0 +1,190 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Sun Jan 29 15:36:03 CST 2023 -->
<title>frc.robot.subsystems.swervedrive.swerve Class Hierarchy</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-01-29">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="frc.robot.subsystems.swervedrive.swerve Class Hierarchy";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package frc.robot.subsystems.swervedrive.swerve</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<div class="contentContainer">
<section role="region">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">edu.wpi.first.wpilibj.MotorSafety
<ul>
<li class="circle">edu.wpi.first.wpilibj.drive.RobotDriveBase
<ul>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="SwerveDrive.html" title="class in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveDrive</span></a> (implements java.lang.AutoCloseable, edu.wpi.first.util.sendable.Sendable)</li>
</ul>
</li>
</ul>
</li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="SwerveDrive.SwerveModuleConfig.html" title="class in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveDrive.SwerveModuleConfig</span></a>&lt;DriveMotorType,&#8203;SteeringMotorType,&#8203;AbsoluteEncoder&gt;</li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="SwerveEncoder.html" title="class in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveEncoder</span></a>&lt;AbsoluteEncoderType&gt;</li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="SwerveModule.html" title="class in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveModule</span></a>&lt;DriveMotorType,&#8203;AngleMotorType,&#8203;AbsoluteEncoderType&gt; (implements java.lang.AutoCloseable, edu.wpi.first.wpilibj.motorcontrol.MotorController, edu.wpi.first.util.sendable.Sendable)</li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="SwerveMotor.html" title="class in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveMotor</span></a></li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="SwerveParser.html" title="class in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveParser</span></a></li>
</ul>
</li>
</ul>
</section>
<section role="region">
<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
<ul>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="SwerveModule.SwerveModuleLocation.html" title="enum in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveModule.SwerveModuleLocation</span></a></li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="SwerveModule.Verbosity.html" title="enum in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveModule.Verbosity</span></a></li>
<li class="circle">frc.robot.subsystems.swervedrive.swerve.<a href="SwerveMotor.ModuleMotorType.html" title="enum in frc.robot.subsystems.swervedrive.swerve"><span class="typeNameLink">SwerveMotor.ModuleMotorType</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>