From dc995e3d6f164f11513f13aea49f93bbf9ebeaad Mon Sep 17 00:00:00 2001 From: Cal Kestis Date: Wed, 31 Dec 2025 10:54:21 -0800 Subject: [PATCH] FtcRobotController v11.1 --- .../src/main/AndroidManifest.xml | 4 +-- .../external/samples/ConceptAprilTag.java | 26 +++++++-------- .../external/samples/ConceptAprilTagEasy.java | 26 +++++++-------- .../ConceptAprilTagSwitchableCameras.java | 32 +++++++++---------- .../samples/ConceptGamepadEdgeDetection.java | 16 ++++++++++ .../ConceptExternalHardwareClass.java | 2 +- .../externalhardware/RobotHardware.java | 2 +- README.md | 15 +++++++++ build.dependencies.gradle | 16 +++++----- 9 files changed, 82 insertions(+), 57 deletions(-) diff --git a/FtcRobotController/src/main/AndroidManifest.xml b/FtcRobotController/src/main/AndroidManifest.xml index c873221..4c58576 100644 --- a/FtcRobotController/src/main/AndroidManifest.xml +++ b/FtcRobotController/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="61" + android:versionName="11.1"> diff --git a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTag.java b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTag.java index 8ec77dd..4ee7ffe 100644 --- a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTag.java +++ b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTag.java @@ -92,24 +92,22 @@ public class ConceptAprilTag extends LinearOpMode { telemetry.update(); waitForStart(); - if (opModeIsActive()) { - while (opModeIsActive()) { + while (opModeIsActive()) { - telemetryAprilTag(); + telemetryAprilTag(); - // Push telemetry to the Driver Station. - telemetry.update(); + // Push telemetry to the Driver Station. + telemetry.update(); - // Save CPU resources; can resume streaming when needed. - if (gamepad1.dpad_down) { - visionPortal.stopStreaming(); - } else if (gamepad1.dpad_up) { - visionPortal.resumeStreaming(); - } - - // Share the CPU. - sleep(20); + // Save CPU resources; can resume streaming when needed. + if (gamepad1.dpad_down) { + visionPortal.stopStreaming(); + } else if (gamepad1.dpad_up) { + visionPortal.resumeStreaming(); } + + // Share the CPU. + sleep(20); } // Save more CPU resources when camera is no longer needed. diff --git a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTagEasy.java b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTagEasy.java index 12dcf6e..7bda71b 100644 --- a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTagEasy.java +++ b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTagEasy.java @@ -88,24 +88,22 @@ public class ConceptAprilTagEasy extends LinearOpMode { telemetry.update(); waitForStart(); - if (opModeIsActive()) { - while (opModeIsActive()) { + while (opModeIsActive()) { - telemetryAprilTag(); + telemetryAprilTag(); - // Push telemetry to the Driver Station. - telemetry.update(); + // Push telemetry to the Driver Station. + telemetry.update(); - // Save CPU resources; can resume streaming when needed. - if (gamepad1.dpad_down) { - visionPortal.stopStreaming(); - } else if (gamepad1.dpad_up) { - visionPortal.resumeStreaming(); - } - - // Share the CPU. - sleep(20); + // Save CPU resources; can resume streaming when needed. + if (gamepad1.dpad_down) { + visionPortal.stopStreaming(); + } else if (gamepad1.dpad_up) { + visionPortal.resumeStreaming(); } + + // Share the CPU. + sleep(20); } // Save more CPU resources when camera is no longer needed. diff --git a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTagSwitchableCameras.java b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTagSwitchableCameras.java index 7ee1064..02e83d3 100644 --- a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTagSwitchableCameras.java +++ b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptAprilTagSwitchableCameras.java @@ -81,27 +81,25 @@ public class ConceptAprilTagSwitchableCameras extends LinearOpMode { telemetry.update(); waitForStart(); - if (opModeIsActive()) { - while (opModeIsActive()) { + while (opModeIsActive()) { - telemetryCameraSwitching(); - telemetryAprilTag(); + telemetryCameraSwitching(); + telemetryAprilTag(); - // Push telemetry to the Driver Station. - telemetry.update(); + // Push telemetry to the Driver Station. + telemetry.update(); - // Save CPU resources; can resume streaming when needed. - if (gamepad1.dpad_down) { - visionPortal.stopStreaming(); - } else if (gamepad1.dpad_up) { - visionPortal.resumeStreaming(); - } - - doCameraSwitching(); - - // Share the CPU. - sleep(20); + // Save CPU resources; can resume streaming when needed. + if (gamepad1.dpad_down) { + visionPortal.stopStreaming(); + } else if (gamepad1.dpad_up) { + visionPortal.resumeStreaming(); } + + doCameraSwitching(); + + // Share the CPU. + sleep(20); } // Save more CPU resources when camera is no longer needed. diff --git a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptGamepadEdgeDetection.java b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptGamepadEdgeDetection.java index 90243ac..d3c4417 100644 --- a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptGamepadEdgeDetection.java +++ b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/ConceptGamepadEdgeDetection.java @@ -83,6 +83,22 @@ public class ConceptGamepadEdgeDetection extends LinearOpMode { telemetry.addData("Gamepad 1 Right Bumper Released", gamepad1.rightBumperWasReleased()); telemetry.addData("Gamepad 1 Right Bumper Status", gamepad1.right_bumper); + // Add an empty line to separate the buttons in telemetry + telemetry.addLine(); + + // Add the status of the Gamepad 1 Left trigger + telemetry.addData("Gamepad 1 Left Trigger Pressed", gamepad1.leftTriggerWasPressed()); + telemetry.addData("Gamepad 1 Left Trigger Released", gamepad1.leftTriggerWasReleased()); + telemetry.addData("Gamepad 1 Left Trigger Status", gamepad1.left_trigger_pressed); + + // Add an empty line to separate the buttons in telemetry + telemetry.addLine(); + + // Add the status of the Gamepad 1 Right trigger + telemetry.addData("Gamepad 1 Right Trigger Pressed", gamepad1.rightTriggerWasPressed()); + telemetry.addData("Gamepad 1 Right Trigger Released", gamepad1.rightTriggerWasReleased()); + telemetry.addData("Gamepad 1 Right Trigger Status", gamepad1.right_trigger_pressed); + // Add a note that the telemetry is only updated every 2 seconds telemetry.addLine("\nTelemetry is updated every 2 seconds."); diff --git a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/externalhardware/ConceptExternalHardwareClass.java b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/externalhardware/ConceptExternalHardwareClass.java index 7a721fe..cee35f6 100644 --- a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/externalhardware/ConceptExternalHardwareClass.java +++ b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/externalhardware/ConceptExternalHardwareClass.java @@ -27,7 +27,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package org.firstinspires.ftc.robotcontroller.external.samples; +package org.firstinspires.ftc.robotcontroller.external.samples.externalhardware; import com.qualcomm.robotcore.eventloop.opmode.Disabled; import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; diff --git a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/externalhardware/RobotHardware.java b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/externalhardware/RobotHardware.java index b1c8de6..64f2206 100644 --- a/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/externalhardware/RobotHardware.java +++ b/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples/externalhardware/RobotHardware.java @@ -27,7 +27,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package org.firstinspires.ftc.robotcontroller.external.samples; +package org.firstinspires.ftc.robotcontroller.external.samples.externalhardware; import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; import com.qualcomm.robotcore.hardware.DcMotor; diff --git a/README.md b/README.md index 522fb80..355d349 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,21 @@ The readme.md file located in the [/TeamCode/src/main/java/org/firstinspires/ftc # Release Information +## Version 11.1 (20251231-104637) + +### Enhancements + +* Gamepad triggers can now be accessed as booleans and have edge detection supported. +* GoBildaPinpointDriver now supports Pinpoint v2 functionality +* Adds webcam calibrations for goBILDA's USB camera. + +### Bug Fixes +* Fixes issue [1654](https://github.com/FIRST-Tech-Challenge/FtcRobotController/issues/1654) in GoBildaPinpointDriver that caused error if resolution was set in other than MM +* Fixes issue [1628](https://github.com/FIRST-Tech-Challenge/FtcRobotController/issues/1628) Blocks editor displays incorrect Java code for gamepad edge detection blocks. +* Fixes possible race condition issue [1884](https://github.com/FIRST-Tech-Challenge/FtcRobotController/issues/1884) on Driver Station startup when Driver Station name doesn't match the Robot Controller name. +* Fixes issue [1863](https://github.com/FIRST-Tech-Challenge/FtcRobotController/issues/1863) - Incorrect package paths in samples. +* Fixes an issue where an OnBotJava filename that begins with a lowercase character would fail to properly rename the file if the user tried to rename it so that it begins with an uppercase character. + ## Version 11.0 (20250827-105138) ### Enhancements diff --git a/build.dependencies.gradle b/build.dependencies.gradle index 1c07e8c..cad63e6 100644 --- a/build.dependencies.gradle +++ b/build.dependencies.gradle @@ -4,14 +4,14 @@ repositories { } dependencies { - implementation 'org.firstinspires.ftc:Inspection:11.0.0' - implementation 'org.firstinspires.ftc:Blocks:11.0.0' - implementation 'org.firstinspires.ftc:RobotCore:11.0.0' - implementation 'org.firstinspires.ftc:RobotServer:11.0.0' - implementation 'org.firstinspires.ftc:OnBotJava:11.0.0' - implementation 'org.firstinspires.ftc:Hardware:11.0.0' - implementation 'org.firstinspires.ftc:FtcCommon:11.0.0' - implementation 'org.firstinspires.ftc:Vision:11.0.0' + implementation 'org.firstinspires.ftc:Inspection:11.1.0' + implementation 'org.firstinspires.ftc:Blocks:11.1.0' + implementation 'org.firstinspires.ftc:RobotCore:11.1.0' + implementation 'org.firstinspires.ftc:RobotServer:11.1.0' + implementation 'org.firstinspires.ftc:OnBotJava:11.1.0' + implementation 'org.firstinspires.ftc:Hardware:11.1.0' + implementation 'org.firstinspires.ftc:FtcCommon:11.1.0' + implementation 'org.firstinspires.ftc:Vision:11.1.0' implementation 'androidx.appcompat:appcompat:1.2.0' }