Skip to content
This repository was archived by the owner on Sep 6, 2024. It is now read-only.

Commit

Permalink
update readme, javadoc; warn that NxtMotorControllerOnI2cDevice is ex…
Browse files Browse the repository at this point in the history
…perimental

Former-commit-id: f94761326a54afc8b09bd7d9ce0d3f744d699a0b
Former-commit-id: 6291077
  • Loading branch information
rgatkinson committed Sep 27, 2015
1 parent 729f602 commit 5dd8a79
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 15 deletions.
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,14 @@ Notable features of the Swerve Robotics FTC Library include:
be using SynchronousOpMode to use I2cDeviceClient. However as some operations are lengthy, a
worker thread is suggested in that case in order to avoid long-running operations on the loop() thread.
* A class that is built on I2cDeviceClient that provides a semantic interface to the **Bosch BNO055 absolute
position sensor**, allowing teams to make easy use of the [AdaFruit breakout board](http://www.adafruit.com/products/2472)
position sensor**, allowing teams to make easy use of the [AdaFruit inertial motion unit (IMU)](http://www.adafruit.com/products/2472)
which incorporates that sensor module. Features of this sensor include a gyro that does rate
integration in hardware to provide robust and accurate angular position indications, and a
separation of the output of the accelerometer into gravity and linear-motion-induced components.
The class builds on the latter to provide linear velocity and position measurements using integration
in software, which can be straightforwardly used for inertial dead reckoning for your robot.
in software. That said, the built-in accelerometer integration algorithm is quite naive. For a real
robot, you'll want to do some investigation and reading and provide a better one, which you can
specify in the initialization parameters for the IMU.
* An **alternate OpMode registration mechanism** (the old FtcOpModeRegister.register() still works too)
that allows you to register your own OpModes simply by decorating them with @TeleOp or @Annotation annotations.
This helps promote clean living and easier integration of library updates over time by avoiding
Expand Down Expand Up @@ -78,10 +80,9 @@ The fifteen second summary of how to use SynchronousOpMode is as follows:

That's it!

While this library is still undergoing development, it is quite stable, and our own teams
are actively developing their competition code using it. It currently is synchronized to the
FTC headquarters beta release; when FTC HQ updates to a final release for the season, we will
synchronize with that as fast as we are able.
This library is pretty stable and nearing its initial official release. Our own teams
are actively developing their competition code using it. It currently is synchronized to the
release from FTC HQ that was published Sept 18, 2015.

To use the library, we recommend forking or cloning our repository and working off of the
'master' branch. The Swerve Library repository *includes* the robot controller runtime
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,8 @@ <h4>createNxtDcMotorController</h4>
a legacy HiTechnic / Nxt motor controller. NxtMotorControllerOnI2cDevice is implemented
on top of an <a href="../../../org/swerverobotics/library/interfaces/II2cDeviceClient.html" title="interface in org.swerverobotics.library.interfaces"><code>II2cDeviceClient</code></a> instance which completely handles all the complexities
of read vs write mode switching and the like, allowing the logic of the controller itself
to be extraordinarily simple.
to be extraordinarily simple. NxtMotorControllerOnI2cDevice is currently experimental,
alpha-quality code.

<p>The key fact about NxtMotorControllerOnI2cDevice is that manual mode switching is
entirely unnecessary. Just call the getPosition() or setPower() methods or what have you,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ <h2 title="Class SynchAnalogOutputDemo" class="title">Class SynchAnalogOutputDem
<br>
<pre><a href="../../../../org/swerverobotics/library/interfaces/TeleOp.html" title="annotation in org.swerverobotics.library.interfaces">@TeleOp</a>(<a href="../../../../org/swerverobotics/library/interfaces/TeleOp.html#name--">name</a>="AnalogOut demo",
<a href="../../../../org/swerverobotics/library/interfaces/TeleOp.html#group--">group</a>="Swerve Examples")
<a href="../../../../org/swerverobotics/library/interfaces/Disabled.html" title="annotation in org.swerverobotics.library.interfaces">@Disabled</a>
public class <span class="typeNameLabel">SynchAnalogOutputDemo</span>
extends <a href="../../../../org/swerverobotics/library/SynchronousOpMode.html" title="class in org.swerverobotics.library">SynchronousOpMode</a></pre>
<div class="block">SynchAnalogOutputDemo is a short demo of an AnalogOutput port.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,25 +116,25 @@ <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
</ul>
<h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
<ul>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/Disabled.html" title="annotation in org.swerverobotics.library.interfaces"><span class="typeNameLink">Disabled</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/TeleOp.html" title="annotation in org.swerverobotics.library.interfaces"><span class="typeNameLink">TeleOp</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/Autonomous.html" title="annotation in org.swerverobotics.library.interfaces"><span class="typeNameLink">Autonomous</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/Disabled.html" title="annotation in org.swerverobotics.library.interfaces"><span class="typeNameLink">Disabled</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/OpModeRegistrar.html" title="annotation in org.swerverobotics.library.interfaces"><span class="typeNameLink">OpModeRegistrar</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/TeleOp.html" title="annotation in org.swerverobotics.library.interfaces"><span class="typeNameLink">TeleOp</span></a> (implements java.lang.annotation.Annotation)</li>
</ul>
<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
<ul>
<li type="circle">java.lang.Object
<ul>
<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
<ul>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.TEMPUNIT.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.TEMPUNIT</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.SENSOR_MODE.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.SENSOR_MODE</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.ACCELUNIT.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.ACCELUNIT</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.I2CADDR.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.I2CADDR</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.PITCHMODE.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.PITCHMODE</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/II2cDeviceClient.READ_MODE.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">II2cDeviceClient.READ_MODE</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.REGISTER.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.REGISTER</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.I2CADDR.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.I2CADDR</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.ANGLEUNIT.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.ANGLEUNIT</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.PITCHMODE.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.PITCHMODE</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.SENSOR_MODE.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.SENSOR_MODE</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.TEMPUNIT.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.TEMPUNIT</span></a></li>
<li type="circle"><a href="../../../../org/swerverobotics/library/interfaces/IBNO055IMU.ACCELUNIT.html" title="enum in org.swerverobotics.library.interfaces"><span class="typeNameLink">IBNO055IMU.ACCELUNIT</span></a></li>
</ul>
</li>
</ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ public final class ClassFactory
* a legacy HiTechnic / Nxt motor controller. NxtMotorControllerOnI2cDevice is implemented
* on top of an {@link II2cDeviceClient} instance which completely handles all the complexities
* of read vs write mode switching and the like, allowing the logic of the controller itself
* to be extraordinarily simple.
* to be extraordinarily simple. NxtMotorControllerOnI2cDevice is currently experimental,
* alpha-quality code.
*
* <p>The key fact about NxtMotorControllerOnI2cDevice is that manual mode switching is
* entirely unnecessary. Just call the getPosition() or setPower() methods or what have you,
Expand Down

0 comments on commit 5dd8a79

Please sign in to comment.