acmerobotics / road-runner-ftc

BSD 3-Clause Clear License
4 stars 19 forks source link

NOTICE

This repository contains the public FTC SDK for the INTO THE DEEP (2024-2025) competition season.

Welcome!

This GitHub repository contains the source code that is used to build an Android app to control a FIRST Tech Challenge competition robot. To use this SDK, download/clone the entire project to your local computer.

Requirements

To use this Android Studio project, you will need Android Studio 2021.2 (codename Chipmunk) or later.

To program your robot in Blocks or OnBot Java, you do not need Android Studio.

Getting Started

If you are new to robotics or new to the FIRST Tech Challenge, then you should consider reviewing the FTC Blocks Tutorial to get familiar with how to use the control system:

      FTC Blocks Online Tutorial

Even if you are an advanced Java programmer, it is helpful to start with the FTC Blocks tutorial, and then migrate to the OnBot Java Tool or to Android Studio afterwards.

Downloading the Project

If you are an Android Studio programmer, there are several ways to download this repo. Note that if you use the Blocks or OnBot Java Tool to program your robot, then you do not need to download this repository.

            git clone https://github.com/FIRST-Tech-Challenge/FtcRobotController.git

Once you have downloaded and uncompressed (if needed) your folder, you can use Android Studio to import the folder ("Import project (Eclipse ADT, Gradle, etc.)").

Getting Help

User Documentation and Tutorials

FIRST maintains online documentation with information and tutorials on how to use the FIRST Tech Challenge software and robot control system. You can access this documentation using the following link:

      FIRST Tech Challenge Documentation

Note that the online documentation is an "evergreen" document that is constantly being updated and edited. It contains the most current information about the FIRST Tech Challenge software and control system.

Javadoc Reference Material

The Javadoc reference documentation for the FTC SDK is now available online. Click on the following link to view the FTC SDK Javadoc documentation as a live website:

      FTC Javadoc Documentation

Online User Forum

For technical questions regarding the Control System or the FTC SDK, please visit the FIRST Tech Challenge Community site:

      FIRST Tech Challenge Community

Sample OpModes

This project contains a large selection of Sample OpModes (robot code examples) which can be cut and pasted into your /teamcode folder to be used as-is, or modified to suit your team's needs.

Samples Folder:    /FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples

The readme.md file located in the /TeamCode/src/main/java/org/firstinspires/ftc/teamcode folder contains an explanation of the sample naming convention, and instructions on how to copy them to your own project space.

Release Information

Version 10.0 (20240828-111152)

Breaking Changes

Enhancements

Bug Fixes

Version 9.2 (20240701-085519)

Important Notes

Enhancements

Bug Fixes

Version 9.1 (20240215-115542)

Enhancements

Bug Fixes

Version 9.0.1 (20230929-083754)

Enhancements

Bug Fixes

Version 9.0 (20230830-154348)

Breaking Changes

Enhancements

Bug Fixes

Version 8.2 (20230707-131020)

Breaking Changes

New features

Bug Fixes

Version 8.1.1 (20221201-150726)

This is a bug fix only release to address the following four issues.

Version 8.1 (20221121-115119)

Breaking Changes

Enhancements

Bug Fixes

Version 8.0 (20220907-131644)

Breaking Changes

Enhancements

Version 7.2 (20220723-130006)

Breaking Changes

Enhancements

Bug fixes

Version 7.1 (20211223-120805)

Version 7.0 (20210915-141025)

Enhancements and New Features

Bug fixes

Version 6.2 (20210218-074821)

Enhancements

Bug fixes

Version 6.1 (20201209-113742)

Version 6.0 (20200921-085816)

Important Notes

New features

Enhancements

Bug fixes

Version 5.5 (20200824-090813)

Version 5.5 requires Android Studio 4.0 or later.

New features

Bug fixes

Version 5.4 (20200108-101156)

Version 5.3 (20191004-112306)

Version 5.2 (20190905-083277)

Version 5.1 (20190820-222104)

Known issues:

Version 5.0 (built on 19.06.14)

Version 4.3 (built on 18.10.31)

Version 4.2 (built on 18.10.30)

Version 4.1 (released on 18.09.24)

Changes include:

Version 4.0 (released on 18.09.12)

Changes include:

Known issues:

Version 3.6 (built on 17.12.18)

Changes include:

Version 3.5 (built on 17.10.30)

Changes with version 3.5 include:

Version 3.4 (built on 17.09.06)

Changes with version 3.4 include:

Version 3.3 (built on 17.09.04)

This version of the software includes improves for the FTC Blocks Programming Tool and the OnBot Java Programming Tool.

Changes with verion 3.3 include:

Known issues:

Version 3.2 (built on 17.08.02)

This version of the software introduces the "OnBot Java" Development Tool. Similar to the FTC Blocks Development Tool, the FTC OnBot Java Development Tool allows a user to create, edit and build OpModes dynamically using only a Javascript-enabled web browser.

The OnBot Java Development Tool is an integrated development environment (IDE) that is served up by the Robot Controller. OpModes are created and edited using a Javascript-enabled browser (Google Chromse is recommended). OpModes are saved on the Robot Controller Android device directly.

The OnBot Java Development Tool provides a Java programming environment that does NOT need Android Studio.

Changes with version 3.2 include:

Known issues:

Version 3.10 (built on 17.05.09)

This version of the software provides support for the REV Robotics Expansion Hub. This version also includes improvements in the USB communication layer in an effort to enhance system resiliency. If you were using a 2.x version of the software previously, updating to version 3.1 requires that you also update your Driver Station software in addition to updating the Robot Controller software.

Also note that in version 3.10 software, the setMaxSpeed and getMaxSpeed methods are no longer available (not deprecated, they have been removed from the SDK). Also note that the the new 3.x software incorporates motor profiles that a user can select as he/she configures the robot.

Changes include:


Additional Notes Regarding Version 3.00 (built on 17.04.13)

In addition to the release changes listed below (see section labeled "Version 3.00 (built on 17.04.013)"), version 3.00 has the following important changes:

  1. Version 3.00 software uses a new version of the FTC Robocol (robot protocol). If you upgrade to v3.0 on the Robot Controller and/or Android Studio side, you must also upgrade the Driver Station software to match the new Robocol.
  2. Version 3.00 software removes the setMaxSpeed and getMaxSpeed methods from the DcMotor class. If you have an OpMode that formerly used these methods, you will need to remove the references/calls to these methods. Instead, v3.0 provides the max speed information through the use of motor profiles that are selected by the user during robot configuration.
  3. Version 3.00 software currently does not have a mechanism to disable extra i2c sensors. We hope to re-introduce this function with a release in the near future.

Version 3.00 (built on 17.04.13)

Use this version of the software at YOUR OWN RISK!!!

This software is being released as an "alpha" version. Use this version at your own risk!

This pre-release software contains SIGNIFICANT changes, including changes to the Wi-Fi Direct pairing mechanism, rewrites of the I2C sensor classes, changes to the USB/FTDI layer, and the introduction of support for the REV Robotics Expansion Hub and the REV Robotics color-range-light sensor. These changes were implemented to improve the reliability and resiliency of the FTC control system.

Please note, however, that version 3.00 is considered "alpha" code. This code is being released so that the FIRST community will have an opportunity to test the new REV Expansion Hub electronics module when it becomes available in May. The developers do not recommend using this code for critical applications (i.e., competition use).

Use this version of the software at YOUR OWN RISK!!!

Changes include:

Version 2.62 (built on 17.01.07)

Version 2.61 (released on 16.12.19)

Version 2.6 (released on 16.12.16)

Version 2.5 (internal release on released on 16.12.13)

Version 2.4 (released on 16.11.13)

Version 2.35 (released on 16.10.06)

Version 2.30 (released on 16.10.05)

Version 2.20 (released on 16.09.08)

Version 2.10 (released on 16.09.03)

Version 2.00 (released on 16.08.19)

Release 16.07.08

Release 16.03.30

Release 16.03.09

Release 16.02.09

Release 16.01.04

Release 15.11.04.001

Release 15.10.06.002

Release 15.08.03.001