Updated swervelib documentation and merged @7910f6ba7ee4 PR

This commit is contained in:
thenetworkgrinch
2023-02-14 22:03:02 -06:00
parent 154bee371a
commit 9a7ba52cee
126 changed files with 12415 additions and 23714 deletions

View File

@@ -1,470 +1,320 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.17) on Mon Feb 13 17:20:01 CST 2023 -->
<!-- Generated by javadoc (17) on Tue Feb 14 22:01:24 CST 2023 -->
<title>SwerveModulePhysicalCharacteristics</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2023-02-13">
<meta name="dc.created" content="2023-02-14">
<meta name="description" content="declaration: package: swervelib.parser, class: SwerveModulePhysicalCharacteristics">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../jquery-ui.overrides.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.6.0.min.js"></script>
<script type="text/javascript" src="../../jquery/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SwerveModulePhysicalCharacteristics";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../";
var useModuleDirectories = true;
<body class="class-declaration-page">
<script type="text/javascript">var pathtoroot = "../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<div class="flex-box">
<header role="banner" class="flex-header">
<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">
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" 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 class="nav-bar-cell1-rev">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>
<li><a href="../../help-doc.html#class">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 class="sub-nav">
<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">
<ul class="sub-nav-list">
<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>
<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">
<ul class="sub-nav-list">
<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="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">swervelib.parser</a></div>
<h2 title="Class SwerveModulePhysicalCharacteristics" class="title">Class SwerveModulePhysicalCharacteristics</h2>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">swervelib.parser</a></div>
<h1 title="Class SwerveModulePhysicalCharacteristics" class="title">Class SwerveModulePhysicalCharacteristics</h1>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>swervelib.parser.SwerveModulePhysicalCharacteristics</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">swervelib.parser.SwerveModulePhysicalCharacteristics</div>
</div>
<section class="class-description" id="class-description">
<hr>
<pre>public class <span class="typeNameLabel">SwerveModulePhysicalCharacteristics</span>
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SwerveModulePhysicalCharacteristics</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">Configuration class which stores physical characteristics shared between every swerve module.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<section>
<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>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleEncoderPulsePerRotation">angleEncoderPulsePerRotation</a></span></code></th>
<td class="colLast">
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>final int</code></div>
<div class="col-second even-row-color"><code><a href="#angleEncoderPulsePerRotation" class="member-name-link">angleEncoderPulsePerRotation</a></code></div>
<div class="col-last even-row-color">
<div class="block">Angle motor encoder pulse per rotation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleGearRatio">angleGearRatio</a></span></code></th>
<td class="colLast">
<div class="block">Angle gear ratio.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleMotorCurrentLimit">angleMotorCurrentLimit</a></span></code></th>
<td class="colLast">
<div class="block">Current limits for the Swerve Module.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleMotorFreeSpeedRPM">angleMotorFreeSpeedRPM</a></span></code></th>
<td class="colLast">
<div class="block">Free speed rotations per minute of the motor, as described by the vendor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#angleMotorRampRate">angleMotorRampRate</a></span></code></th>
<td class="colLast">
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#driveEncoderPulsePerRotation">driveEncoderPulsePerRotation</a></span></code></th>
<td class="colLast">
<div class="block">Drive motor encoder pulse per rotation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#driveGearRatio">driveGearRatio</a></span></code></th>
<td class="colLast">
<div class="block">Drive gear ratio.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#driveMotorCurrentLimit">driveMotorCurrentLimit</a></span></code></th>
<td class="colLast">
<div class="block">Current limits for the Swerve Module.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#driveMotorRampRate">driveMotorRampRate</a></span></code></th>
<td class="colLast">
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#optimalVoltage">optimalVoltage</a></span></code></th>
<td class="colLast">
<div class="block">Optimal voltage of the robot.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wheelDiameter">wheelDiameter</a></span></code></th>
<td class="colLast">
<div class="block">Wheel diameter in meters.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wheelGripCoefficientOfFriction">wheelGripCoefficientOfFriction</a></span></code></th>
<td class="colLast">
<div class="block">Wheel grip tape coefficient of friction on carpet, as described by the vendor.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<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(double,double,double,double,double,double,int,int)">SwerveModulePhysicalCharacteristics</a></span>&#8203;(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</code></th>
<td class="colLast">
<div class="block">Construct the swerve module physical characteristics.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(double,double,double,double,double,double,int,int,double,double,int,int)">SwerveModulePhysicalCharacteristics</a></span>&#8203;(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;wheelGripCoefficientOfFriction,
double&nbsp;optimalVoltage,
int&nbsp;driveMotorCurrentLimit,
int&nbsp;angleMotorCurrentLimit,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</code></th>
<td class="colLast">
<div class="block">Construct the swerve module physical characteristics.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="wheelDiameter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wheelDiameter</h4>
<pre>public final&nbsp;double wheelDiameter</pre>
<div class="block">Wheel diameter in meters.</div>
</li>
</ul>
<a id="driveGearRatio">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>driveGearRatio</h4>
<pre>public final&nbsp;double driveGearRatio</pre>
<div class="block">Drive gear ratio. How many times the motor has to spin before the wheel makes a complete rotation.</div>
</li>
</ul>
<a id="angleGearRatio">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>angleGearRatio</h4>
<pre>public final&nbsp;double angleGearRatio</pre>
<div class="block">Angle gear ratio. How many times the motor has to spin before the wheel makes a full rotation.</div>
</li>
</ul>
<a id="driveEncoderPulsePerRotation">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>driveEncoderPulsePerRotation</h4>
<pre>public final&nbsp;int driveEncoderPulsePerRotation</pre>
<div class="block">Drive motor encoder pulse per rotation. 1 if integrated encoder.</div>
</li>
</ul>
<a id="angleEncoderPulsePerRotation">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>angleEncoderPulsePerRotation</h4>
<pre>public final&nbsp;int angleEncoderPulsePerRotation</pre>
<div class="block">Angle motor encoder pulse per rotation. 1 if integrated encoder.</div>
</li>
</ul>
<a id="optimalVoltage">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>optimalVoltage</h4>
<pre>public final&nbsp;double optimalVoltage</pre>
<div class="block">Optimal voltage of the robot.</div>
</li>
</ul>
<a id="driveMotorCurrentLimit">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>driveMotorCurrentLimit</h4>
<pre>public final&nbsp;int driveMotorCurrentLimit</pre>
<div class="col-first odd-row-color"><code>final double</code></div>
<div class="col-second odd-row-color"><code><a href="#angleGearRatio" class="member-name-link">angleGearRatio</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Angle gear ratio.</div>
</div>
<div class="col-first even-row-color"><code>final int</code></div>
<div class="col-second even-row-color"><code><a href="#angleMotorCurrentLimit" class="member-name-link">angleMotorCurrentLimit</a></code></div>
<div class="col-last even-row-color">
<div class="block">Current limits for the Swerve Module.</div>
</li>
</ul>
<a id="angleMotorCurrentLimit">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>angleMotorCurrentLimit</h4>
<pre>public final&nbsp;int angleMotorCurrentLimit</pre>
<div class="block">Current limits for the Swerve Module.</div>
</li>
</ul>
<a id="driveMotorRampRate">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>driveMotorRampRate</h4>
<pre>public final&nbsp;double driveMotorRampRate</pre>
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</li>
</ul>
<a id="angleMotorRampRate">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>angleMotorRampRate</h4>
<pre>public final&nbsp;double angleMotorRampRate</pre>
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</li>
</ul>
<a id="wheelGripCoefficientOfFriction">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wheelGripCoefficientOfFriction</h4>
<pre>public final&nbsp;double wheelGripCoefficientOfFriction</pre>
<div class="block">Wheel grip tape coefficient of friction on carpet, as described by the vendor.</div>
</li>
</ul>
<a id="angleMotorFreeSpeedRPM">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>angleMotorFreeSpeedRPM</h4>
<pre>public final&nbsp;double angleMotorFreeSpeedRPM</pre>
</div>
<div class="col-first odd-row-color"><code>final double</code></div>
<div class="col-second odd-row-color"><code><a href="#angleMotorFreeSpeedRPM" class="member-name-link">angleMotorFreeSpeedRPM</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Free speed rotations per minute of the motor, as described by the vendor.</div>
</div>
<div class="col-first even-row-color"><code>final double</code></div>
<div class="col-second even-row-color"><code><a href="#angleMotorRampRate" class="member-name-link">angleMotorRampRate</a></code></div>
<div class="col-last even-row-color">
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</div>
<div class="col-first odd-row-color"><code>final int</code></div>
<div class="col-second odd-row-color"><code><a href="#driveEncoderPulsePerRotation" class="member-name-link">driveEncoderPulsePerRotation</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Drive motor encoder pulse per rotation.</div>
</div>
<div class="col-first even-row-color"><code>final double</code></div>
<div class="col-second even-row-color"><code><a href="#driveGearRatio" class="member-name-link">driveGearRatio</a></code></div>
<div class="col-last even-row-color">
<div class="block">Drive gear ratio.</div>
</div>
<div class="col-first odd-row-color"><code>final int</code></div>
<div class="col-second odd-row-color"><code><a href="#driveMotorCurrentLimit" class="member-name-link">driveMotorCurrentLimit</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Current limits for the Swerve Module.</div>
</div>
<div class="col-first even-row-color"><code>final double</code></div>
<div class="col-second even-row-color"><code><a href="#driveMotorRampRate" class="member-name-link">driveMotorRampRate</a></code></div>
<div class="col-last even-row-color">
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</div>
<div class="col-first odd-row-color"><code>final double</code></div>
<div class="col-second odd-row-color"><code><a href="#optimalVoltage" class="member-name-link">optimalVoltage</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Optimal voltage of the robot.</div>
</div>
<div class="col-first even-row-color"><code>final double</code></div>
<div class="col-second even-row-color"><code><a href="#wheelDiameter" class="member-name-link">wheelDiameter</a></code></div>
<div class="col-last even-row-color">
<div class="block">Wheel diameter in meters.</div>
</div>
<div class="col-first odd-row-color"><code>final double</code></div>
<div class="col-second odd-row-color"><code><a href="#wheelGripCoefficientOfFriction" class="member-name-link">wheelGripCoefficientOfFriction</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Wheel grip tape coefficient of friction on carpet, as described by the vendor.</div>
</div>
</div>
</section>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(double,double,double,double,double,double,int,int)" class="member-name-link">SwerveModulePhysicalCharacteristics</a><wbr>(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</code></div>
<div class="col-last even-row-color">
<div class="block">Construct the swerve module physical characteristics.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(double,double,double,double,double,double,int,int,double,double,int,int)" class="member-name-link">SwerveModulePhysicalCharacteristics</a><wbr>(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;wheelGripCoefficientOfFriction,
double&nbsp;optimalVoltage,
int&nbsp;driveMotorCurrentLimit,
int&nbsp;angleMotorCurrentLimit,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</code></div>
<div class="col-last odd-row-color">
<div class="block">Construct the swerve module physical characteristics.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="wheelDiameter">
<h3>wheelDiameter</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">wheelDiameter</span></div>
<div class="block">Wheel diameter in meters.</div>
</section>
</li>
<li>
<section class="detail" id="driveGearRatio">
<h3>driveGearRatio</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">driveGearRatio</span></div>
<div class="block">Drive gear ratio. How many times the motor has to spin before the wheel makes a complete rotation.</div>
</section>
</li>
<li>
<section class="detail" id="angleGearRatio">
<h3>angleGearRatio</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">angleGearRatio</span></div>
<div class="block">Angle gear ratio. How many times the motor has to spin before the wheel makes a full rotation.</div>
</section>
</li>
<li>
<section class="detail" id="driveEncoderPulsePerRotation">
<h3>driveEncoderPulsePerRotation</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">driveEncoderPulsePerRotation</span></div>
<div class="block">Drive motor encoder pulse per rotation. 1 if integrated encoder.</div>
</section>
</li>
<li>
<section class="detail" id="angleEncoderPulsePerRotation">
<h3>angleEncoderPulsePerRotation</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">angleEncoderPulsePerRotation</span></div>
<div class="block">Angle motor encoder pulse per rotation. 1 if integrated encoder.</div>
</section>
</li>
<li>
<section class="detail" id="optimalVoltage">
<h3>optimalVoltage</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">optimalVoltage</span></div>
<div class="block">Optimal voltage of the robot.</div>
</section>
</li>
<li>
<section class="detail" id="driveMotorCurrentLimit">
<h3>driveMotorCurrentLimit</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">driveMotorCurrentLimit</span></div>
<div class="block">Current limits for the Swerve Module.</div>
</section>
</li>
<li>
<section class="detail" id="angleMotorCurrentLimit">
<h3>angleMotorCurrentLimit</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">angleMotorCurrentLimit</span></div>
<div class="block">Current limits for the Swerve Module.</div>
</section>
</li>
<li>
<section class="detail" id="driveMotorRampRate">
<h3>driveMotorRampRate</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">driveMotorRampRate</span></div>
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</section>
</li>
<li>
<section class="detail" id="angleMotorRampRate">
<h3>angleMotorRampRate</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">angleMotorRampRate</span></div>
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</section>
</li>
<li>
<section class="detail" id="wheelGripCoefficientOfFriction">
<h3>wheelGripCoefficientOfFriction</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">wheelGripCoefficientOfFriction</span></div>
<div class="block">Wheel grip tape coefficient of friction on carpet, as described by the vendor.</div>
</section>
</li>
<li>
<section class="detail" id="angleMotorFreeSpeedRPM">
<h3>angleMotorFreeSpeedRPM</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">angleMotorFreeSpeedRPM</span></div>
<div class="block">Free speed rotations per minute of the motor, as described by the vendor.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(double,double,double,double,double,double,int,int,double,double,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SwerveModulePhysicalCharacteristics</h4>
<pre>public&nbsp;SwerveModulePhysicalCharacteristics&#8203;(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;wheelGripCoefficientOfFriction,
double&nbsp;optimalVoltage,
int&nbsp;driveMotorCurrentLimit,
int&nbsp;angleMotorCurrentLimit,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</pre>
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(double,double,double,double,double,double,int,int,double,double,int,int)">
<h3>SwerveModulePhysicalCharacteristics</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SwerveModulePhysicalCharacteristics</span><wbr><span class="parameters">(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;wheelGripCoefficientOfFriction,
double&nbsp;optimalVoltage,
int&nbsp;driveMotorCurrentLimit,
int&nbsp;angleMotorCurrentLimit,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</span></div>
<div class="block">Construct the swerve module physical characteristics.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>driveGearRatio</code> - Gear ratio of the drive motor. Number of motor rotations to rotate the
wheel.</dd>
<dd><code>angleGearRatio</code> - Gear ratio of the angle motor. Number of motor rotations to spin the wheel.</dd>
@@ -481,27 +331,24 @@ extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/ja
<dd><code>driveEncoderPulsePerRotation</code> - The number of encoder pulses per motor rotation, 1 for integrated encoders.</dd>
<dd><code>angleEncoderPulsePerRotation</code> - The number of encoder pulses per motor rotation, 1 for integrated encoders.</dd>
</dl>
</section>
</li>
</ul>
<a id="&lt;init&gt;(double,double,double,double,double,double,int,int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SwerveModulePhysicalCharacteristics</h4>
<pre>public&nbsp;SwerveModulePhysicalCharacteristics&#8203;(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</pre>
<li>
<section class="detail" id="&lt;init&gt;(double,double,double,double,double,double,int,int)">
<h3>SwerveModulePhysicalCharacteristics</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SwerveModulePhysicalCharacteristics</span><wbr><span class="parameters">(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</span></div>
<div class="block">Construct the swerve module physical characteristics. Assume coefficient of friction is 1.19 (taken from blue
nitrile on carpet from Studica) and optimal voltage is 12v. Assumes the drive motor current limit is 40A, and the
angle motor current limit is 20A.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>driveGearRatio</code> - Gear ratio of the drive motor. Number of motor rotations to rotate the wheel.</dd>
<dd><code>angleGearRatio</code> - Gear ratio of the angle motor. Number of motor rotations to spin the wheel.</dd>
<dd><code>angleMotorFreeSpeedRPM</code> - Motor free speed rotation per minute.</dd>
@@ -513,76 +360,16 @@ extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/ja
<dd><code>driveEncoderPulsePerRotation</code> - The number of encoder pulses per motor rotation, 1 for integrated encoders.</dd>
<dd><code>angleEncoderPulsePerRotation</code> - The number of encoder pulses per motor rotation, 1 for integrated encoders.</dd>
</dl>
</li>
</ul>
</section>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
</section>
<!-- ========= 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>
</main>
</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>Method</li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>