Introduction

New to the 2017-2018 season, there is only 5 seconds between the end of the hands-off autonomous period, and the beginning of the driver-controlled teleop period. This leaves very little time for the drive team to pick up their controllers, and even less time for the coach to change the program, initialize it, and make sure everything is working. In order to make this transition faster for the drive team, we have created a tool to automate the process of selecting a teleop program and initializing it.

Usage

Using this utility is very simple, and only takes one line of code to be inserted into your autonomous OpModes. To get it set up, follow the following steps:

Copy the AutoTransitioner.java file into your package (default is org.firstinspires.ftc.teamcode) Note the exact name of your teleop program; it can be found in your @TeleOp annotation. For example, if your annotation reads @TeleOp(name = "Robot Teleop") then the name is Robot Teleop. Type AutoTransitioner.transitionOnStop(this, "<Program Name Here>"); into your autonomous program, preferably during the initialization part. For LinearOpModes, type the line just before waitForStart(); For OpModes, type the line at the end of your init() method. For example, if your program name is Robot Teleop, type:

AutoTransitioner.transitionOnStop(this, "Robot Teleop");

And that's it! When your autonomous program next stops, whether it be because of the stop button being pressed or the 30-second timer hitting zero, the specified teleop program will automatically be selected and initialized. All you have to do it hit play!

​

Disclaimer

This utility uses a field in the OpMode class specifically marked "this is logically an internal field. DO NOT USE". It is possible that using this causes some form of instability, and you should use it at your own risk. So far, this utility has only been tested on ZTE Speed phones. However, it is a fairly simple process and should be stable.