OpenRC is a modified version of the official FTC SDK (Software Development Kit) that provides various enhancements to the FTC development experience.
Despite the name OpenRC, this repository also contains a fully-functional reverse-engineered version of the FTC Driver Station app, of the same version as the main SDK in this repo (v3.7)
Check out our documentation on the OpenFTC website.
The unofficial Driver Station app contained herein is absolutely not legal for competition, per \<RS06> in the 2018-19 GM1.
OpenRC, in its default configuration, is also illegal for competition per \<RS09> in the 2018-19 GM1. However, because the real value of OpenRC applies even if you don't use it at a competition, we added a feature that allows you to deploy a competition-legal configuration of the app from within the OpenRC project (no copying code around). It builds using the untouched libraries that ship with the official app.
You can learn how to use this feature by reading our build variants guide. Always make sure to test this feature for yourself at least a week before competition. Don't ignore the part about doing a Gradle sync.
Sign up for our mailing list for notifications about updates and upcoming new projects.
Join us on the OpenFTC Discord for real-time support or to ask questions.
OpenRC is currently based on version 3.6 of the SDK. Do not attempt to manually update beyond that yourself. OpenRC will be updated within a week of new official app releases.
The OpenRC family of Robot Controller apps are brought to you by the OpenFTC community. They are based on the official FTC SDK (Software Development Kit), but the AAR files used there have been converted to first-class modules in the OpenRC Android Studio project. This makes it easy to see and modify almost the entirety of the Robot Controller app's source code. In addition, the history in Git shows all changes that have been made to the core code since OpenRC's inception. This is a very useful supplement to the changelogs that FIRST provides - teams can see exactly what code has been changed and determine how those changes will affect them.
This system allows pull requests and enhancements to the code of the entire SDK, and can allow teams to understand the structure and functionality of the whole system. Enhancements will be considered as long as they do not force teams to change their workflow. Changes made in the OpenRC should keep it possible for teams to move from the official SDK to OpenRC with no code changes required.
To request a new feature, you can open an issue on this repository. If there's a large enough call for the feature, it's very likely to be added to the list for a future release.
This version keeps the OnBotJava and Blocks programming system. If your team doesn't use these, you may want to look into OpenRC-turbo, which features faster deploy times.
To see the release notes for FIRST's releases of this SDK, see doc/FIRST_CHANGELOG.md
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. If you are new to the FIRST Tech Challenge software and control system, you should visit the online wiki to learn how to install, configure, and use the software and control system:
https://github.com/ftctechnh/ftc_app/wiki
Note that the wiki 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.
It is important to note that this repository is large and can take a long time and use a lot of space to download. If you would like to save time and space, there are some options that you can choose to download only the most current version of the Android project folder:
git clone --depth=1 https://github.com/ftctechnh/ftc_app.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.)").
FIRST maintains an online wiki with information and tutorials on how to use the FIRST Tech Challenge software and robot control system. You can access the wiki at the following address:
https://github.com/ftctechnh/ftc_app/wiki
The Javadoc reference documentation for the FTC SDK is now available online. Visit the following URL to view the FTC SDK documentation as a live website:
http://ftctechnh.github.io/ftc_app/doc/javadoc/index.html
Documentation for the FTC SDK is also included with this repository. There is a subfolder called "doc" which contains several subfolders:
For technical questions regarding the SDK, please visit the FTC Technology forum:
http://ftcforum.usfirst.org/forumdisplay.php?156-FTC-Technology