diff --git a/FtcRobotController/build.gradle b/FtcRobotController/build.gradle index daf4ee2d48a..52aaab29331 100644 --- a/FtcRobotController/build.gradle +++ b/FtcRobotController/build.gradle @@ -7,7 +7,7 @@ android { defaultConfig { minSdkVersion 19 - targetSdkVersion 26 + targetSdkVersion 28 } compileSdkVersion 28 diff --git a/FtcRobotController/src/main/AndroidManifest.xml b/FtcRobotController/src/main/AndroidManifest.xml index 45dcc68c980..4d8ce69ee1e 100644 --- a/FtcRobotController/src/main/AndroidManifest.xml +++ b/FtcRobotController/src/main/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="36" + android:versionName="5.4"> diff --git a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptMotorBulkRead.java b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptMotorBulkRead.java new file mode 100644 index 00000000000..4e6f52f8d9b --- /dev/null +++ b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptMotorBulkRead.java @@ -0,0 +1,222 @@ +/* Copyright (c) 2019 Phil Malone. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted (subject to the limitations in the disclaimer below) provided that + * the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list + * of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, this + * list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * + * Neither the name of FIRST nor the names of its contributors may be used to endorse or + * promote products derived from this software without specific prior written permission. + * + * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS + * LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.firstinspires.ftc.robotcontroller.external.samples; + +import com.qualcomm.hardware.lynx.LynxModule; +import com.qualcomm.robotcore.eventloop.opmode.Disabled; +import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; +import com.qualcomm.robotcore.eventloop.opmode.TeleOp; +import com.qualcomm.robotcore.hardware.DcMotorEx; +import com.qualcomm.robotcore.util.ElapsedTime; + +import java.util.Iterator; +import java.util.List; + + /* + This sample illustrates how to use the Expansion Hub's Bulk-Read feature to speed up control cycle times. + In this example there are 4 motors that need their encoder positions, and velocities read. + The sample is written to work with one or two expansion hubs, with no assumption as to where the motors are located. + + Three scenarios are tested: + Cache Mode = OFF This is the normal default, where no cache is used, and every read produces a discrete transaction with + an expansion hub, which is the slowest approach. + Cache Mode = AUTO This mode will attempt to minimize the number of discrete read commands, by performing bulk-reads + and then returning values that have been cached. The cache is updated automatically whenever a specific read operation is repeated. + This mode will always return fresh data, but it may perform more bulk-reads than absolutely required. + Extra reads will be performed if multiple identical encoder/velocity reads are performed in one control cycle. + This mode is a good compromise between the OFF and MANUAL modes. + Cache Mode = MANUAL This mode enables the user's code to determine the best time to refresh the cached bulk-read data. + Well organized code can place all the sensor reads in one location, and then just reset the cache once per control cycle. + The approach will produce the shortest cycle times, but it does require the user to manually clear the cache. + + ------------------------------------- + + General tip to speed up your control cycles: + No matter what method you use to read encoders and other inputs, you should try to + avoid reading the same input multiple times around a control loop. + Under normal conditions, this will slow down the control loop. + The preferred method is to read all the required inputs ONCE at the beginning of the loop, + and save the values in variable that can be used by other parts of the control code. + + eg: if you are sending encoder positions to your telemetry display, putting a getCurrentPosition() + call in the telemetry statement will force the code to go and get another copy which will take time. + It's much better read the position into a variable once, and use that variable for control AND display. + Reading saved variables takes no time at all. + + Once you put all your sensor reads at the beginning of the control cycle, it's very easy to use + the bulk-read AUTO mode to streamline your cycle timing. + + */ +@TeleOp (name = "Motor Bulk Reads", group = "Tests") +@Disabled +public class ConceptMotorBulkRead extends LinearOpMode { + + final int TEST_CYCLES = 500; // Number of control cycles to run to determine cycle times. + + private DcMotorEx m1, m2, m3, m4; // Motor Objects + private long e1, e2, e3, e4; // Encoder Values + private double v1, v2, v3, v4; // Velocities + + // Cycle Times + double t1 = 0; + double t2 = 0; + double t3 = 0; + + @Override + public void runOpMode() { + + int cycles; + + // Important Step 1: Make sure you use DcMotorEx when you instantiate your motors. + m1 = hardwareMap.get(DcMotorEx.class, "m1"); // Configure the robot to use these 4 motor names, + m2 = hardwareMap.get(DcMotorEx.class, "m2"); // or change these strings to match your existing Robot Configuration. + m3 = hardwareMap.get(DcMotorEx.class, "m3"); + m4 = hardwareMap.get(DcMotorEx.class, "m4"); + + // Important Step 2: Get access to a list of Expansion Hub Modules to enable changing caching methods. + List allHubs = hardwareMap.getAll(LynxModule.class); + + ElapsedTime timer = new ElapsedTime(); + + telemetry.addData(">", "Press play to start tests"); + telemetry.addData(">", "Test results will update for each access method."); + telemetry.update(); + waitForStart(); + + // -------------------------------------------------------------------------------------- + // Run control loop using legacy encoder reads + // In this mode, a single read is done for each encoder position, and a bulk read is done for each velocity read. + // This is the worst case scenario. + // This is the same as using LynxModule.BulkCachingMode.OFF + // -------------------------------------------------------------------------------------- + + displayCycleTimes("Test 1 of 3 (Wait for completion)"); + + timer.reset(); + cycles = 0; + while (opModeIsActive() && (cycles++ < TEST_CYCLES)) { + e1 = m1.getCurrentPosition(); + e2 = m2.getCurrentPosition(); + e3 = m3.getCurrentPosition(); + e4 = m4.getCurrentPosition(); + + v1 = m1.getVelocity(); + v2 = m2.getVelocity(); + v3 = m3.getVelocity(); + v4 = m4.getVelocity(); + + // Put Control loop action code here. + + } + // calculate the average cycle time. + t1 = timer.milliseconds() / cycles; + displayCycleTimes("Test 2 of 3 (Wait for completion)"); + + // -------------------------------------------------------------------------------------- + // Run test cycles using AUTO cache mode + // In this mode, only one bulk read is done per cycle, UNLESS you read a specific encoder/velocity item AGAIN in that cycle. + // -------------------------------------------------------------------------------------- + + // Important Step 3: Option A. Set all Expansion hubs to use the AUTO Bulk Caching mode + for (LynxModule module : allHubs) { + module.setBulkCachingMode(LynxModule.BulkCachingMode.AUTO); + } + + timer.reset(); + cycles = 0; + while (opModeIsActive() && (cycles++ < TEST_CYCLES)) { + e1 = m1.getCurrentPosition(); // Uses 1 bulk-read for all 4 encoder/velocity reads, + e2 = m2.getCurrentPosition(); // but don't do any `get` operations more than once per cycle. + e3 = m3.getCurrentPosition(); + e4 = m4.getCurrentPosition(); + + v1 = m1.getVelocity(); + v2 = m2.getVelocity(); + v3 = m3.getVelocity(); + v4 = m4.getVelocity(); + + // Put Control loop action code here. + + } + // calculate the average cycle time. + t2 = timer.milliseconds() / cycles; + displayCycleTimes("Test 3 of 3 (Wait for completion)"); + + // -------------------------------------------------------------------------------------- + // Run test cycles using MANUAL cache mode + // In this mode, only one block read is done each control cycle. + // This is the MOST efficient method, but it does require that the cache is cleared manually each control cycle. + // -------------------------------------------------------------------------------------- + + // Important Step 3: Option B. Set all Expansion hubs to use the MANUAL Bulk Caching mode + for (LynxModule module : allHubs) { + module.setBulkCachingMode(LynxModule.BulkCachingMode.MANUAL); + } + + timer.reset(); + cycles = 0; + while (opModeIsActive() && (cycles++ < TEST_CYCLES)) { + + // Important Step 4: If you are using MANUAL mode, you must clear the BulkCache once per control cycle + for (LynxModule module : allHubs) { + module.clearBulkCache(); + } + + e1 = m1.getCurrentPosition(); // Uses 1 bulk-read to obtain ALL the motor data + e2 = m2.getCurrentPosition(); // There is no penalty for doing more `get` operations in this cycle, + e3 = m3.getCurrentPosition(); // but they will return the same data. + e4 = m4.getCurrentPosition(); + + v1 = m1.getVelocity(); + v2 = m2.getVelocity(); + v3 = m3.getVelocity(); + v4 = m4.getVelocity(); + + // Put Control loop action code here. + + } + // calculate the average cycle time. + t3 = timer.milliseconds() / cycles; + displayCycleTimes("Complete"); + + // wait until op-mode is stopped by user, before clearing display. + while (opModeIsActive()) ; + } + + // Display three comparison times. + void displayCycleTimes(String status) { + telemetry.addData("Testing", status); + telemetry.addData("Cache = OFF", "%5.1f mS/cycle", t1); + telemetry.addData("Cache = AUTO", "%5.1f mS/cycle", t2); + telemetry.addData("Cache = MANUAL", "%5.1f mS/cycle", t3); + telemetry.update(); + } +} + diff --git a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/internal/PermissionValidatorWrapper.java b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/internal/PermissionValidatorWrapper.java index 1ae71b08ade..a0094bc9f36 100644 --- a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/internal/PermissionValidatorWrapper.java +++ b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/internal/PermissionValidatorWrapper.java @@ -52,6 +52,8 @@ public class PermissionValidatorWrapper extends PermissionValidatorActivity { add(Manifest.permission.READ_EXTERNAL_STORAGE); add(Manifest.permission.CAMERA); add(Manifest.permission.ACCESS_COARSE_LOCATION); + add(Manifest.permission.ACCESS_FINE_LOCATION); + add(Manifest.permission.READ_PHONE_STATE); }}; private final static Class startApplication = FtcRobotControllerActivity.class; @@ -64,7 +66,11 @@ public String mapPermissionToExplanation(final String permission) { } else if (permission.equals(Manifest.permission.CAMERA)) { return Misc.formatForUser(R.string.permRcCameraExplain); } else if (permission.equals(Manifest.permission.ACCESS_COARSE_LOCATION)) { - return Misc.formatForUser(R.string.permAccessCoarseLocationExplain); + return Misc.formatForUser(R.string.permAccessLocationExplain); + } else if (permission.equals(Manifest.permission.ACCESS_FINE_LOCATION)) { + return Misc.formatForUser(R.string.permAccessLocationExplain); + } else if (permission.equals(Manifest.permission.READ_PHONE_STATE)) { + return Misc.formatForUser(R.string.permReadPhoneState); } return Misc.formatForUser(R.string.permGenericExplain); } diff --git a/README.md b/README.md index f43eb9c279d..88dc5564935 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,48 @@ Documentation for the FTC SDK is also included with this repository. There is a ### Online User Forum For technical questions regarding the Control System or the FTC SDK, please visit the FTC Technology forum: -      [FTC Technology Forum](https://ftcforum.firstinspires.org/forumdisplay.php?156-FTC-Technology) +      [FTC Technology Forum](https://ftcforum.usfirst.org/forumdisplay.php?156-FTC-Technology) +************************************************************************************** +# Release Information +************************************************************************************** + +Version 5.4 (20200108-101156) + +* Fixes [SkyStone issue #88](https://github.com/FIRST-Tech-Challenge/SkyStone/issues/88) +* Adds an inspection item that notes when a robot controller (Control Hub) is using the factory default password. +* Fixes [SkyStone issue #61](https://github.com/FIRST-Tech-Challenge/SkyStone/issues/61) +* Fixes [SkyStone issue #142](https://github.com/FIRST-Tech-Challenge/SkyStone/issues/142) +* Fixes [ftc_app issue #417](https://github.com/ftctechnh/ftc_app/issues/417) by adding more current and voltage monitoring capabilities for REV Hubs. +* Fixes [a crash sometimes caused by OnBotJava activity](https://ftcforum.firstinspires.org/forum/ftc-technology/76217-onbotjava-crashes-robot-controller) +* Improves OnBotJava autosave functionality [ftc_app #738](https://github.com/ftctechnh/ftc_app/issues/738) +* Fixes system responsiveness issue when an Expansion Hub is disconnected +* Fixes issue where IMU initialization could prevent Op Modes from stopping +* Fixes issue where AndroidTextToSpeech.speak() would fail if it was called too early +* Adds telemetry.speak() methods and blocks, which cause the Driver Station (if also updated) to speak text +* Adds and improves Expansion Hub-related warnings + * Improves Expansion Hub low battery warning + * Displays the warning immediately after the hub reports it + * Specifies whether the condition is current or occurred temporarily during an OpMode run + * Displays which hubs reported low battery + * Displays warning when hub loses and regains power during an OpMode run + * Fixes the hub's LED pattern after this condition + * Displays warning when Expansion Hub is not responding to commands + * Specifies whether the condition is current or occurred temporarily during an OpMode run + * Clarifies warning when Expansion Hub is not present at startup + * Specifies that this condition requires a Robot Restart before the hub can be used. + * The hub light will now accurately reflect this state + * Improves logging and reduces log spam during these conditions +* Syncs the Control Hub time and timezone to a connected web browser programming the robot, if a Driver Station is not available. +* Adds bulk read functionality for REV Hubs + * A bulk caching mode must be set at the Hub level with `LynxModule#setBulkCachingMode()`. This applies to all relevant SDK hardware classes that reference that Hub. + * The following following Hub bulk caching modes are available: + * `BulkCachingMode.OFF` (default): All hardware calls operate as usual. Bulk data can read through `LynxModule#getBulkData()` and processed manually. + * `BulkCachingMode.AUTO`: Applicable hardware calls are served from a bulk read cache that is cleared/refreshed automatically to ensure identical commands don't hit the same cache. The cache can also be cleared manually with `LynxModule#clearBulkCache()`, although this is not recommended. + * (advanced users) `BulkCachingMode.MANUAL`: Same as `BulkCachingMode.AUTO` except the cache is never cleared automatically. To avoid getting stale data, the cache must be manually cleared at the beginning of each loop body or as the user deems appropriate. +* Removes PIDF Annotation values added in Rev 5.3 (to AndyMark, goBILDA and TETRIX motor configurations). + * The new motor types will still be available but their Default control behavior will revert back to Rev 5.2 +* Adds new `ConceptMotorBulkRead` sample Opmode to demonstrate and compare Motor Bulk-Read modes for reducing I/O latencies. ************************************************************************************** # Release Information @@ -87,7 +127,7 @@ Version 5.3 (20191004-112306) # Release Information ************************************************************************************** -Version 5.2 (20190905-083227) +Version 5.2 (20190905-083277) * Fixes extra-wide margins on settings activities, and placement of the new configuration button * Adds Skystone Vuforia image target data. diff --git a/build.common.gradle b/build.common.gradle index 082cfd49c86..7fa44638dc4 100644 --- a/build.common.gradle +++ b/build.common.gradle @@ -37,9 +37,10 @@ android { } defaultConfig { + signingConfig signingConfigs.debug applicationId 'com.qualcomm.ftcrobotcontroller' minSdkVersion 19 - targetSdkVersion 26 + targetSdkVersion 28 /** * We keep the versionCode and versionName of robot controller applications in sync with @@ -77,7 +78,7 @@ android { // Disable debugging for release versions so it can be uploaded to Google Play. //debuggable true ndk { - abiFilters "armeabi-v7a" + abiFilters "armeabi-v7a", "arm64-v8a" } } debug { @@ -85,7 +86,7 @@ android { jniDebuggable true renderscriptDebuggable true ndk { - abiFilters "armeabi-v7a" + abiFilters "armeabi-v7a", "arm64-v8a" } } } diff --git a/doc/apk/FtcDriverStation-release.apk b/doc/apk/FtcDriverStation-release.apk index 99e4412d575..4986e83143f 100644 Binary files a/doc/apk/FtcDriverStation-release.apk and b/doc/apk/FtcDriverStation-release.apk differ diff --git a/doc/apk/FtcRobotController-release.apk b/doc/apk/FtcRobotController-release.apk index 51646126042..cef39ebd3a2 100644 Binary files a/doc/apk/FtcRobotController-release.apk and b/doc/apk/FtcRobotController-release.apk differ diff --git a/doc/javadoc/allclasses-frame.html b/doc/javadoc/allclasses-frame.html index 04d2914e920..5b745b0f18e 100644 --- a/doc/javadoc/allclasses-frame.html +++ b/doc/javadoc/allclasses-frame.html @@ -86,6 +86,7 @@

All Classes

  • CRServo
  • CRServoImpl
  • CRServoImplEx
  • +
  • CurrentUnit
  • DcMotor
  • DcMotor.RunMode
  • DcMotor.ZeroPowerBehavior
  • @@ -305,6 +306,7 @@

    All Classes

  • ViewLogsActivity
  • VisuallyIdentifiableHardwareDevice
  • VoltageSensor
  • +
  • VoltageUnit
  • VuforiaBase
  • VuforiaBase.TrackingResults
  • VuforiaLocalizer
  • diff --git a/doc/javadoc/allclasses-noframe.html b/doc/javadoc/allclasses-noframe.html index 1513d616f6f..4992bb66015 100644 --- a/doc/javadoc/allclasses-noframe.html +++ b/doc/javadoc/allclasses-noframe.html @@ -86,6 +86,7 @@

    All Classes

  • CRServo
  • CRServoImpl
  • CRServoImplEx
  • +
  • CurrentUnit
  • DcMotor
  • DcMotor.RunMode
  • DcMotor.ZeroPowerBehavior
  • @@ -305,6 +306,7 @@

    All Classes

  • ViewLogsActivity
  • VisuallyIdentifiableHardwareDevice
  • VoltageSensor
  • +
  • VoltageUnit
  • VuforiaBase
  • VuforiaBase.TrackingResults
  • VuforiaLocalizer
  • diff --git a/doc/javadoc/com/qualcomm/ftccommon/package-tree.html b/doc/javadoc/com/qualcomm/ftccommon/package-tree.html index c1f49c10fa9..2021e3335a0 100644 --- a/doc/javadoc/com/qualcomm/ftccommon/package-tree.html +++ b/doc/javadoc/com/qualcomm/ftccommon/package-tree.html @@ -121,17 +121,17 @@

    Class Hierarchy

  • RecvLoopRunnable.DegenerateCallback
  • RecvLoopRunnable.DegenerateCallback
  • RecvLoopRunnable.DegenerateCallback
  • EditActivity @@ -181,27 +181,27 @@

    Class Hierarchy

  • com.qualcomm.ftccommon.SoundPlayer.PlaySoundParams
  • ThemedActivity
  • ThemedActivity
  • ThemedActivity
  • ThemedActivity
  • ThemedActivity
  • ThemedActivity @@ -211,12 +211,12 @@

    Class Hierarchy

  • ThemedActivity
  • ThemedActivity
  • com.qualcomm.ftccommon.UpdateUI
  • @@ -238,10 +238,10 @@

    Enum Hierarchy

    diff --git a/doc/javadoc/com/qualcomm/robotcore/eventloop/opmode/package-tree.html b/doc/javadoc/com/qualcomm/robotcore/eventloop/opmode/package-tree.html index 3db226944b9..6206b9de0ed 100644 --- a/doc/javadoc/com/qualcomm/robotcore/eventloop/opmode/package-tree.html +++ b/doc/javadoc/com/qualcomm/robotcore/eventloop/opmode/package-tree.html @@ -107,10 +107,10 @@

    Interface Hierarchy

    Annotation Type Hierarchy

      -
    • com.qualcomm.robotcore.eventloop.opmode.Disabled (implements java.lang.annotation.Annotation)
    • -
    • com.qualcomm.robotcore.eventloop.opmode.TeleOp (implements java.lang.annotation.Annotation)
    • com.qualcomm.robotcore.eventloop.opmode.OpModeRegistrar (implements java.lang.annotation.Annotation)
    • +
    • com.qualcomm.robotcore.eventloop.opmode.TeleOp (implements java.lang.annotation.Annotation)
    • com.qualcomm.robotcore.eventloop.opmode.Autonomous (implements java.lang.annotation.Annotation)
    • +
    • com.qualcomm.robotcore.eventloop.opmode.Disabled (implements java.lang.annotation.Annotation)
    diff --git a/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorControllerEx.html b/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorControllerEx.html index ac305e84ef4..74ea8308807 100644 --- a/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorControllerEx.html +++ b/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorControllerEx.html @@ -17,7 +17,7 @@ catch(err) { } //--> -var methods = {"i0":6,"i1":6,"i2":38,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":38,"i11":6}; +var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":38,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":38,"i15":6}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -146,18 +146,32 @@

    Method Summary

    double +getMotorCurrent(int motor, + CurrentUnit unit) +
    Returns the current consumed by the indicated motor.
    + + + +double +getMotorCurrentAlert(int motor, + CurrentUnit unit) +
    Returns the current alert for the indicated motor.
    + + + +double getMotorVelocity(int motor)
    Returns the velocity of the indicated motor in ticks per second.
    - + double getMotorVelocity(int motor, AngleUnit unit)
    Returns the velocity of the indicated motor.
    - + PIDCoefficients getPIDCoefficients(int motor, DcMotor.RunMode mode) @@ -166,32 +180,46 @@

    Method Summary

    - + PIDFCoefficients getPIDFCoefficients(int motor, DcMotor.RunMode mode)
    Returns the coefficients used for PIDF control on the indicated motor when in the indicated mode
    - + boolean isMotorEnabled(int motor)
    Returns whether a particular motor on the controller is energized
    - + +boolean +isMotorOverCurrent(int motor) +
    Returns whether the indicated motor current consumption has exceeded the alert threshold.
    + + + +void +setMotorCurrentAlert(int motor, + double current, + CurrentUnit unit) +
    Sets the current alert for the indicated motor
    + + + void setMotorDisable(int motor)
    Individually denergizes a particular motor
    - + void setMotorEnable(int motor)
    Individually energizes a particular motor
    - + void setMotorTargetPosition(int motor, int position, @@ -199,14 +227,14 @@

    Method Summary

    Sets the target position and tolerance for a 'run to position' operation.
    - + void setMotorVelocity(int motor, double ticksPerSecond)
    Sets the target velocity of the indicated motor.
    - + void setMotorVelocity(int motor, double angularRate, @@ -214,7 +242,7 @@

    Method Summary

    Sets the target velocity of the indicated motor.
    - + void setPIDCoefficients(int motor, DcMotor.RunMode mode, @@ -224,7 +252,7 @@

    Method Summary

    - + void setPIDFCoefficients(int motor, DcMotor.RunMode mode, @@ -478,7 +506,7 @@

    getPIDFCoefficients

    - diff --git a/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorEx.html b/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorEx.html index 77820c67e54..737bbf73b36 100644 --- a/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorEx.html +++ b/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorEx.html @@ -17,7 +17,7 @@ catch(err) { } //--> -var methods = {"i0":38,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":38,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6}; +var methods = {"i0":6,"i1":6,"i2":38,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":38,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -166,6 +166,18 @@

    Method Summary

    Method and Description +double +getCurrent(CurrentUnit unit) +
    Returns the current consumed by this motor.
    + + + +double +getCurrentAlert(CurrentUnit unit) +
    Returns the current alert for this motor.
    + + + PIDCoefficients getPIDCoefficients(DcMotor.RunMode mode)
    Deprecated.  @@ -173,50 +185,63 @@

    Method Summary

    - + PIDFCoefficients getPIDFCoefficients(DcMotor.RunMode mode)
    Returns the PIDF control coefficients used when running in the indicated mode on this motor.
    - + int getTargetPositionTolerance()
    Returns the current target positioning tolerance of this motor
    - + double getVelocity()
    Returns the current velocity of the motor, in ticks per second
    - + double getVelocity(AngleUnit unit)
    Returns the current velocity of the motor, in angular units per second
    - + boolean isMotorEnabled()
    Returns whether this motor is energized
    - + +boolean +isOverCurrent() +
    Returns whether the current consumption of this motor exceeds the alert threshold.
    + + + +void +setCurrentAlert(double current, + CurrentUnit unit) +
    Sets the current alert for this motor
    + + + void setMotorDisable()
    Individually de-energizes this particular motor
    - + void setMotorEnable()
    Individually energizes this particular motor
    - + void setPIDCoefficients(DcMotor.RunMode mode, PIDCoefficients pidCoefficients) @@ -225,40 +250,40 @@

    Method Summary

    - + void setPIDFCoefficients(DcMotor.RunMode mode, PIDFCoefficients pidfCoefficients) - + void setPositionPIDFCoefficients(double p)
    A shorthand for setting the PIDF coefficients for the DcMotor.RunMode.RUN_TO_POSITION mode.
    - + void setTargetPositionTolerance(int tolerance)
    Sets the target positioning tolerance of this motor
    - + void setVelocity(double angularRate)
    Sets the velocity of the motor
    - + void setVelocity(double angularRate, AngleUnit unit)
    Sets the velocity of the motor
    - + void setVelocityPIDFCoefficients(double p, double i, @@ -570,7 +595,7 @@

    setTargetPositionTolerance

    -
      +
      • getTargetPositionTolerance

        int getTargetPositionTolerance()
        @@ -581,6 +606,68 @@

        getTargetPositionTolerance

      + + + +
        +
      • +

        getCurrent

        +
        double getCurrent(CurrentUnit unit)
        +
        Returns the current consumed by this motor.
        +
        +
        Parameters:
        +
        unit - current units
        +
        Returns:
        +
        the current consumed by this motor.
        +
        +
      • +
      + + + +
        +
      • +

        getCurrentAlert

        +
        double getCurrentAlert(CurrentUnit unit)
        +
        Returns the current alert for this motor.
        +
        +
        Parameters:
        +
        unit - current units
        +
        Returns:
        +
        the current alert for this motor
        +
        +
      • +
      + + + +
        +
      • +

        setCurrentAlert

        +
        void setCurrentAlert(double current,
        +                     CurrentUnit unit)
        +
        Sets the current alert for this motor
        +
        +
        Parameters:
        +
        current - current alert
        +
        unit - current units
        +
        +
      • +
      + + + +
        +
      • +

        isOverCurrent

        +
        boolean isOverCurrent()
        +
        Returns whether the current consumption of this motor exceeds the alert threshold.
        +
        +
        Returns:
        +
        whether the current consumption of this motor exceeds the alert threshold.
        +
        +
      • +
    diff --git a/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorImplEx.html b/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorImplEx.html index c8fa17befab..7645b1dca2d 100644 --- a/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorImplEx.html +++ b/doc/javadoc/com/qualcomm/robotcore/hardware/DcMotorImplEx.html @@ -17,7 +17,7 @@ catch(err) { } //--> -var methods = {"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 methods = {"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,"i18":10,"i19":10,"i20":10}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -217,100 +217,125 @@

    Method Summary

    adjustAngularRate(double angularRate)  +double +getCurrent(CurrentUnit unit) +
    Returns the current consumed by this motor.
    + + + +double +getCurrentAlert(CurrentUnit unit) +
    Returns the current alert for this motor.
    + + + PIDCoefficients getPIDCoefficients(DcMotor.RunMode mode)
    Returns the PID control coefficients used when running in the indicated mode on this motor.
    - + PIDFCoefficients getPIDFCoefficients(DcMotor.RunMode mode)
    Returns the PIDF control coefficients used when running in the indicated mode on this motor.
    - + int getTargetPositionTolerance()
    Returns the current target positioning tolerance of this motor
    - + double getVelocity()
    Returns the current velocity of the motor, in ticks per second
    - + double getVelocity(AngleUnit unit)
    Returns the current velocity of the motor, in angular units per second
    - + protected void internalSetTargetPosition(int position)  - + boolean isMotorEnabled()
    Returns whether this motor is energized
    - + +boolean +isOverCurrent() +
    Returns whether the current consumption of this motor exceeds the alert threshold.
    + + + +void +setCurrentAlert(double current, + CurrentUnit unit) +
    Sets the current alert for this motor
    + + + void setMotorDisable()
    Individually de-energizes this particular motor
    - + void setMotorEnable()
    Individually energizes this particular motor
    - + void setPIDCoefficients(DcMotor.RunMode mode, PIDCoefficients pidCoefficients)
    Sets the PID control coefficients for one of the PID modes of this motor.
    - + void setPIDFCoefficients(DcMotor.RunMode mode, PIDFCoefficients pidfCoefficients) - + void setPositionPIDFCoefficients(double p)
    A shorthand for setting the PIDF coefficients for the DcMotor.RunMode.RUN_TO_POSITION mode.
    - + void setTargetPositionTolerance(int tolerance)
    Sets the target positioning tolerance of this motor
    - + void setVelocity(double angularRate)
    Sets the velocity of the motor
    - + void setVelocity(double angularRate, AngleUnit unit)
    Sets the velocity of the motor
    - + void setVelocityPIDFCoefficients(double p, double i, @@ -738,7 +763,7 @@

    setTargetPositionTolerance

    -
      +
      • internalSetTargetPosition

        protected void internalSetTargetPosition(int position)
        @@ -748,6 +773,80 @@

        internalSetTargetPosition

      + + + +
        +
      • +

        getCurrent

        +
        public double getCurrent(CurrentUnit unit)
        +
        Description copied from interface: DcMotorEx
        +
        Returns the current consumed by this motor.
        +
        +
        Specified by:
        +
        getCurrent in interface DcMotorEx
        +
        Parameters:
        +
        unit - current units
        +
        Returns:
        +
        the current consumed by this motor.
        +
        +
      • +
      + + + +
        +
      • +

        getCurrentAlert

        +
        public double getCurrentAlert(CurrentUnit unit)
        +
        Description copied from interface: DcMotorEx
        +
        Returns the current alert for this motor.
        +
        +
        Specified by:
        +
        getCurrentAlert in interface DcMotorEx
        +
        Parameters:
        +
        unit - current units
        +
        Returns:
        +
        the current alert for this motor
        +
        +
      • +
      + + + +
        +
      • +

        setCurrentAlert

        +
        public void setCurrentAlert(double current,
        +                            CurrentUnit unit)
        +
        Description copied from interface: DcMotorEx
        +
        Sets the current alert for this motor
        +
        +
        Specified by:
        +
        setCurrentAlert in interface DcMotorEx
        +
        Parameters:
        +
        current - current alert
        +
        unit - current units
        +
        +
      • +
      + + + +
        +
      • +

        isOverCurrent

        +
        public boolean isOverCurrent()
        +
        Description copied from interface: DcMotorEx
        +
        Returns whether the current consumption of this motor exceeds the alert threshold.
        +
        +
        Specified by:
        +
        isOverCurrent in interface DcMotorEx
        +
        Returns:
        +
        whether the current consumption of this motor exceeds the alert threshold.
        +
        +
      • +
    diff --git a/doc/javadoc/com/qualcomm/robotcore/hardware/package-tree.html b/doc/javadoc/com/qualcomm/robotcore/hardware/package-tree.html index 003333df853..4623be89871 100644 --- a/doc/javadoc/com/qualcomm/robotcore/hardware/package-tree.html +++ b/doc/javadoc/com/qualcomm/robotcore/hardware/package-tree.html @@ -314,25 +314,25 @@

    Enum Hierarchy

    diff --git a/doc/javadoc/index-all.html b/doc/javadoc/index-all.html index ee3c96a7981..d0e821da7ec 100644 --- a/doc/javadoc/index-all.html +++ b/doc/javadoc/index-all.html @@ -1169,6 +1169,10 @@

    C

    Used to specify what type of control system a particular piece of hardware is connected to
    +
    convert(double, CurrentUnit) - Method in enum org.firstinspires.ftc.robotcore.external.navigation.CurrentUnit
    +
     
    +
    convert(double, VoltageUnit) - Method in enum org.firstinspires.ftc.robotcore.external.navigation.VoltageUnit
    +
     
    convertFrameToBitmap(Frame) - Method in interface org.firstinspires.ftc.robotcore.external.navigation.VuforiaLocalizer
    (Advanced) A helper utility that converts a Vuforia Frame into an Android Bitmap.
    @@ -1439,6 +1443,8 @@

    C

     
    currentSteps - Variable in class com.qualcomm.robotcore.hardware.LightBlinker
     
    +
    CurrentUnit - Enum in org.firstinspires.ftc.robotcore.external.navigation
    +
     
    @@ -2706,10 +2712,22 @@

    G

    Returns the current country code.
    +
    getCurrent(CurrentUnit) - Method in interface com.qualcomm.robotcore.hardware.DcMotorEx
    +
    +
    Returns the current consumed by this motor.
    +
    +
    getCurrent(CurrentUnit) - Method in class com.qualcomm.robotcore.hardware.DcMotorImplEx
    +
     
    getCurrentAddress(SerialNumber) - Method in class com.qualcomm.ftccommon.FtcLynxModuleAddressUpdateActivity.AddressConfiguration
     
    getCurrentAddress() - Method in class com.qualcomm.ftccommon.FtcLynxModuleAddressUpdateActivity.DisplayedModule
     
    +
    getCurrentAlert(CurrentUnit) - Method in interface com.qualcomm.robotcore.hardware.DcMotorEx
    +
    +
    Returns the current alert for this motor.
    +
    +
    getCurrentAlert(CurrentUnit) - Method in class com.qualcomm.robotcore.hardware.DcMotorImplEx
    +
     
    getCurrentPosition() - Method in interface com.qualcomm.robotcore.hardware.DcMotor
    Returns the current reading of the encoder for this motor.
    @@ -3318,6 +3336,14 @@

    G

    return any event loop monitor previously set
    +
    getMotorCurrent(int, CurrentUnit) - Method in interface com.qualcomm.robotcore.hardware.DcMotorControllerEx
    +
    +
    Returns the current consumed by the indicated motor.
    +
    +
    getMotorCurrentAlert(int, CurrentUnit) - Method in interface com.qualcomm.robotcore.hardware.DcMotorControllerEx
    +
    +
    Returns the current alert for the indicated motor.
    +
    getMotorCurrentPosition(int) - Method in interface com.qualcomm.robotcore.hardware.DcMotorController
    Get the current motor position
    @@ -4894,6 +4920,10 @@

    I

     
    isLit() - Method in class com.qualcomm.robotcore.hardware.Blinker.Step
     
    +
    isLocaleAvailable(Locale) - Method in class org.firstinspires.ftc.robotcore.external.android.AndroidTextToSpeech
    +
    +
    Returns true if the given locale is supported.
    +
    isLocalSoundOn() - Method in class com.qualcomm.ftccommon.SoundPlayer
     
    isLooping() - Method in class com.qualcomm.ftccommon.SoundPlayer.CurrentlyPlaying
    @@ -4916,6 +4946,10 @@

    I

    isMotorEnabled() - Method in class com.qualcomm.robotcore.hardware.DcMotorImplEx
     
    +
    isMotorOverCurrent(int) - Method in interface com.qualcomm.robotcore.hardware.DcMotorControllerEx
    +
    +
    Returns whether the indicated motor current consumption has exceeded the alert threshold.
    +
    isOpenForReading() - Method in class com.qualcomm.robotcore.hardware.I2cDeviceSynchImpl
     
    isOpenForReading() - Method in class com.qualcomm.robotcore.hardware.I2cDeviceSynchImplOnSimple
    @@ -4924,6 +4958,12 @@

    I

     
    isOpenForWriting() - Method in class com.qualcomm.robotcore.hardware.I2cDeviceSynchImplOnSimple
     
    +
    isOverCurrent() - Method in interface com.qualcomm.robotcore.hardware.DcMotorEx
    +
    +
    Returns whether the current consumption of this motor exceeds the alert threshold.
    +
    +
    isOverCurrent() - Method in class com.qualcomm.robotcore.hardware.DcMotorImplEx
    +
     
    isParent - Variable in class com.qualcomm.robotcore.hardware.LynxModuleMeta
     
    isParent() - Method in class com.qualcomm.robotcore.hardware.LynxModuleMeta
    @@ -7269,6 +7309,12 @@

    S

     
    setControllerService(FtcRobotControllerService) - Method in class com.qualcomm.ftccommon.UpdateUI
     
    +
    setCurrentAlert(double, CurrentUnit) - Method in interface com.qualcomm.robotcore.hardware.DcMotorEx
    +
    +
    Sets the current alert for this motor
    +
    +
    setCurrentAlert(double, CurrentUnit) - Method in class com.qualcomm.robotcore.hardware.DcMotorImplEx
    +
     
    setDigitalChannelMode(int, DigitalChannel.Mode) - Method in interface com.qualcomm.robotcore.hardware.DigitalChannelController
    Set the mode of a digital channel
    @@ -7528,6 +7574,10 @@

    S

    Set a monitor for this event loop, which will immediately have the appropriate method called to indicate the current peer status.
    +
    setMotorCurrentAlert(int, double, CurrentUnit) - Method in interface com.qualcomm.robotcore.hardware.DcMotorControllerEx
    +
    +
    Sets the current alert for the indicated motor
    +
    setMotorDisable(int) - Method in interface com.qualcomm.robotcore.hardware.DcMotorControllerEx
    Individually denergizes a particular motor
    @@ -8017,6 +8067,17 @@

    S

    Speaks the given text.
    +
    speak(String) - Method in interface org.firstinspires.ftc.robotcore.external.Telemetry
    +
    +
    Directs the Driver Station device to speak the given text using TextToSpeech functionality, + with the same language and country codes that were previously used, or the default language + and country.
    +
    +
    speak(String, String, String) - Method in interface org.firstinspires.ftc.robotcore.external.Telemetry
    +
    +
    Directs the Driver Station device to speak the given text using TextToSpeech functionality, + with the given language and country codes.
    +
    standardDeviationOfList(List) - Static method in class org.firstinspires.ftc.robotcore.external.JavaUtil
     
    start(EventLoop) - Method in class com.qualcomm.robotcore.eventloop.EventLoopManager
    @@ -8167,6 +8228,10 @@

    S

    Stops the playback.
    +
    stop() - Method in class org.firstinspires.ftc.robotcore.external.android.AndroidTextToSpeech
    +
    +
    Stop speaking, if necessary.
    +
    stopBlinking() - Method in interface com.qualcomm.robotcore.hardware.Blinker
    Sets the blinker to constant black and frees any internal resources
    @@ -8512,6 +8577,8 @@

    T

     
    to - Variable in class org.firstinspires.ftc.robotcore.external.StateTransition
     
    +
    toAmps(double) - Method in enum org.firstinspires.ftc.robotcore.external.navigation.CurrentUnit
    +
     
    toAngleUnit(AngleUnit) - Method in class org.firstinspires.ftc.robotcore.external.navigation.AngularVelocity
    Converts this AngularVelocity to one with the indicated angular units.
    @@ -8556,6 +8623,10 @@

    T

     
    toMeters(double) - Method in enum org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit
     
    +
    toMilliAmps(double) - Method in enum org.firstinspires.ftc.robotcore.external.navigation.CurrentUnit
    +
     
    +
    toMilliVolts(double) - Method in enum org.firstinspires.ftc.robotcore.external.navigation.VoltageUnit
    +
     
    toMm(double) - Method in enum org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit
     
    toRadians(double) - Method in enum org.firstinspires.ftc.robotcore.external.navigation.AngleUnit
    @@ -8651,6 +8722,8 @@

    T

    toVector() - Method in class org.firstinspires.ftc.robotcore.external.matrices.RowMajorMatrixF
     
    +
    toVolts(double) - Method in enum org.firstinspires.ftc.robotcore.external.navigation.VoltageUnit
    +
     
    TRACE - Static variable in class com.qualcomm.ftccommon.SoundPlayer
     
    tracer - Variable in class com.qualcomm.ftccommon.SoundPlayer
    @@ -9055,6 +9128,10 @@

    V

    Returns the enum constant of this type with the specified name.
    +
    valueOf(String) - Static method in enum org.firstinspires.ftc.robotcore.external.navigation.CurrentUnit
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    valueOf(String) - Static method in enum org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit
    Returns the enum constant of this type with the specified name.
    @@ -9079,6 +9156,10 @@

    V

    Returns the enum constant of this type with the specified name.
    +
    valueOf(String) - Static method in enum org.firstinspires.ftc.robotcore.external.navigation.VoltageUnit
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    valueOf(String) - Static method in enum org.firstinspires.ftc.robotcore.external.navigation.VuforiaLocalizer.CameraDirection
    Returns the enum constant of this type with the specified name.
    @@ -9281,6 +9362,11 @@

    V

    Returns an array containing the constants of this enum type, in the order they are declared.
    +
    values() - Static method in enum org.firstinspires.ftc.robotcore.external.navigation.CurrentUnit
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    values() - Static method in enum org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit
    Returns an array containing the constants of this enum type, in @@ -9311,6 +9397,11 @@

    V

    Returns an array containing the constants of this enum type, in the order they are declared.
    +
    values() - Static method in enum org.firstinspires.ftc.robotcore.external.navigation.VoltageUnit
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    values() - Static method in enum org.firstinspires.ftc.robotcore.external.navigation.VuforiaLocalizer.CameraDirection
    Returns an array containing the constants of this enum type, in @@ -9375,6 +9466,8 @@

    V

    Voltage Sensor
    +
    VoltageUnit - Enum in org.firstinspires.ftc.robotcore.external.navigation
    +
     
    volume - Variable in class com.qualcomm.ftccommon.CommandList.CmdPlaySound
     
    volume - Variable in class com.qualcomm.ftccommon.SoundPlayer.PlaySoundParams
    diff --git a/doc/javadoc/org/firstinspires/ftc/robotcore/external/Telemetry.html b/doc/javadoc/org/firstinspires/ftc/robotcore/external/Telemetry.html index 91688ce5b22..2ae246b550f 100644 --- a/doc/javadoc/org/firstinspires/ftc/robotcore/external/Telemetry.html +++ b/doc/javadoc/org/firstinspires/ftc/robotcore/external/Telemetry.html @@ -17,7 +17,7 @@ catch(err) { } //--> -var methods = {"i0":6,"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,"i18":6,"i19":6,"i20":6,"i21":6}; +var methods = {"i0":6,"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,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -389,6 +389,23 @@

    Method Summary

    +void +speak(java.lang.String text) +
    Directs the Driver Station device to speak the given text using TextToSpeech functionality, + with the same language and country codes that were previously used, or the default language + and country.
    + + + +void +speak(java.lang.String text, + java.lang.String languageCode, + java.lang.String countryCode) +
    Directs the Driver Station device to speak the given text using TextToSpeech functionality, + with the given language and country codes.
    + + + boolean update()
    Sends the receiver Telemetry to the driver station if more than the transmission interval has elapsed since the last transmission, or schedules the transmission @@ -618,6 +635,42 @@

    removeAction

    + + + +
      +
    • +

      speak

      +
      void speak(java.lang.String text)
      +
      Directs the Driver Station device to speak the given text using TextToSpeech functionality, + with the same language and country codes that were previously used, or the default language + and country.
      +
      +
      Parameters:
      +
      text - the text to be spoken
      +
      +
    • +
    + + + +
      +
    • +

      speak

      +
      void speak(java.lang.String text,
      +           java.lang.String languageCode,
      +           java.lang.String countryCode)
      +
      Directs the Driver Station device to speak the given text using TextToSpeech functionality, + with the given language and country codes.
      +
      +
      Parameters:
      +
      text - the text to be spoken
      +
      languageCode - an ISO 639 alpha-2 or alpha-3 language code, or a language subtag up to + 8 characters in length
      +
      countryCode - an ISO 3166 alpha-2 country code, or a UN M.49 numeric-3 area code
      +
      +
    • +
    diff --git a/doc/javadoc/org/firstinspires/ftc/robotcore/external/android/AndroidTextToSpeech.html b/doc/javadoc/org/firstinspires/ftc/robotcore/external/android/AndroidTextToSpeech.html index 0468b261944..bd289169827 100644 --- a/doc/javadoc/org/firstinspires/ftc/robotcore/external/android/AndroidTextToSpeech.html +++ b/doc/javadoc/org/firstinspires/ftc/robotcore/external/android/AndroidTextToSpeech.html @@ -17,7 +17,7 @@ catch(err) { } //--> -var methods = {"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}; +var methods = {"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}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -190,41 +190,53 @@

    Method Summary

    boolean +isLocaleAvailable(java.util.Locale locale) +
    Returns true if the given locale is supported.
    + + + +boolean isSpeaking()
    Returns true if the TextToSpeech engine is busy speaking.
    - + void setLanguage(java.lang.String languageCode)
    Sets the language.
    - + void setLanguageAndCountry(java.lang.String languageCode, java.lang.String countryCode)
    Sets the language and country.
    - + void setPitch(float pitch)
    Sets the speech pitch.
    - + void setSpeechRate(float speechRate)
    Sets the speech rate.
    - + void speak(java.lang.String text)
    Speaks the given text.
    + +void +stop() +
    Stop speaking, if necessary.
    + + @@ -308,7 +320,7 @@

    getCountryCode

    Returns the current country code.
    Throws:
    -
    java.lang.IllegalStateException - if initialized has not been called yet.
    +
    java.lang.IllegalStateException - if initialize has not been called yet.
    @@ -322,10 +334,20 @@

    isSpeaking

    Returns true if the TextToSpeech engine is busy speaking.
    Throws:
    -
    java.lang.IllegalStateException - if initialized has not been called yet.
    +
    java.lang.IllegalStateException - if initialize has not been called yet.
    +
    + + +
      +
    • +

      stop

      +
      public void stop()
      +
      Stop speaking, if necessary.
      +
    • +
    @@ -337,7 +359,7 @@

    setPitch

    synthesized voice. Greater values will increase the tone of the synthesized voice.
    Throws:
    -
    java.lang.IllegalStateException - if initialized has not been called yet.
    +
    java.lang.IllegalStateException - if initialize has not been called yet.
    @@ -353,7 +375,7 @@

    setSpeechRate

    the normal speech rate).
    Throws:
    -
    java.lang.IllegalStateException - if initialized has not been called yet.
    +
    java.lang.IllegalStateException - if initialize has not been called yet.
    @@ -368,7 +390,7 @@

    isLanguageAvailable

    or alpha-3 language code, or a language subtag up to 8 characters in length.
    Throws:
    -
    java.lang.IllegalStateException - if initialized has not been called yet.
    +
    java.lang.IllegalStateException - if initialize has not been called yet.
    @@ -385,7 +407,21 @@

    isLanguageAndCountryAvailable

    must be an ISO 3166 alpha-2 country code or a UN M.49 numeric-3 area code.
    Throws:
    -
    java.lang.IllegalStateException - if initialized has not been called yet.
    +
    java.lang.IllegalStateException - if initialize has not been called yet.
    +
    + + + + + +
      +
    • +

      isLocaleAvailable

      +
      public boolean isLocaleAvailable(java.util.Locale locale)
      +
      Returns true if the given locale is supported.
      +
      +
      Throws:
      +
      java.lang.IllegalStateException - if initialize has not been called yet.
    @@ -400,7 +436,7 @@

    setLanguage

    language subtag up to 8 characters in length.
    Throws:
    -
    java.lang.IllegalStateException - if initialized has not been called yet.
    +
    java.lang.IllegalStateException - if initialize has not been called yet.
    @@ -417,7 +453,7 @@

    setLanguageAndCountry

    alpha-2 country code or a UN M.49 numeric-3 area code.
    Throws:
    -
    java.lang.IllegalStateException - if initialized has not been called yet.
    +
    java.lang.IllegalStateException - if initialize has not been called yet.
    @@ -431,7 +467,7 @@

    speak

    Speaks the given text.
    Throws:
    -
    java.lang.IllegalStateException - if initialized has not been called yet.
    +
    java.lang.IllegalStateException - if initialize has not been called yet.
    diff --git a/doc/javadoc/org/firstinspires/ftc/robotcore/external/hardware/camera/controls/package-tree.html b/doc/javadoc/org/firstinspires/ftc/robotcore/external/hardware/camera/controls/package-tree.html index bfe0ea43c73..a6ce9398887 100644 --- a/doc/javadoc/org/firstinspires/ftc/robotcore/external/hardware/camera/controls/package-tree.html +++ b/doc/javadoc/org/firstinspires/ftc/robotcore/external/hardware/camera/controls/package-tree.html @@ -90,8 +90,8 @@

    Enum Hierarchy

    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    diff --git a/doc/javadoc/org/firstinspires/ftc/robotcore/external/navigation/Axis.html b/doc/javadoc/org/firstinspires/ftc/robotcore/external/navigation/Axis.html index ed91e49a6ec..6eb13ee8b38 100644 --- a/doc/javadoc/org/firstinspires/ftc/robotcore/external/navigation/Axis.html +++ b/doc/javadoc/org/firstinspires/ftc/robotcore/external/navigation/Axis.html @@ -48,7 +48,7 @@