Your robot is complete, so take a day or two to relax. Soon you’ll need to start thinking about your next competition. There are a few things you should prepare for with respect to your control systems.
First things first: A new version of the FRC 2019 Update Suite was released, so download it. This is a mandatory update. Also, take a look at the 2019 FRC Inspection Checklist. The robot inspectors will use this checklist to determine if your robot is legal.
Bring your code
Sometimes we see teams at competition without their robot software. This can happen if a team only has one programmer who can’t make the trip, or maybe their programming laptop gets misplaced. Don’t let this happen to you. Back up your code to a flash drive or keep a recent copy on your driver’s station. Or, keep your code online.
This will be especially important when you must re-image your roboRIO at the competition, since the re-imaging process will erase all software currently on your RIO.
Your driver’s laptop
The inspection checklist requires that you must use this year’s driver station software (currently version 19.0). Use the FRC Update Suite to install all new software onto all the drivers laptops that you intend to bring to competition. It will ask for your serial number. You can leave the serial number blank and you will get a 30 day evaluation mode. You should also do the FRC Update on all your programmer’s laptops.
You definitely don’t want your laptops to do Windows auto-updates while at a busy competition. To avoid this, make sure all your laptops have the latest Windows updates and then put the auto-updates on a temporary pause. To do this, open up the Windows Settings tool and select “Update & Security”:
From this window check for any updates. When the updates are done, select “Advanced options” and then turn on “Pause Updates”. This should prevent your laptop from doing system updates when you need it for driving.
New roboRIO image
Team update 14 requires that all roboRIOs use image FRC_roboRIO_2019_v14. This image was in the latest FRC Update Suite, so you must use the roboRIO Imaging Tool to update your RIOs. This update was released after Stop Build day, so every single robot will need to apply this image at their first competition. After re-imaging, you must redeploy your robot code.
Wait… Before you re-image your roboRIO, make sure you have a copy of your robot source code.
If you do not have your source code, the CSAs may be able to make a copy of your current executable code. The procedure for this is to connect directly to the roboRIO and retrieve relevant files from your /home/lvuser directory. You can accomplish this with putty or WinScp.
If you are using TalonSRX or VictorSPX motor controllers controlled from the CAN bus, you install the native libraries. Get a copy of the Phoenix Tuner and run “Install Phoenix Library/Diagnostics”.
You will also need to update your build.gradle file to work with the v14 RIO image. Just change the GradleRIO version to “2019.4.1”. The first few lines of your build.gradle file should look like this:
id "edu.wpi.first.GradleRIO" version "2019.4.1"
You are using GradeRIO and this year’s WPILib software for Java and C++ development, aren’t you? It’s possible that one or more teams will show up to the competition with code written against last year’s development environment. For those folks the CSAs (or some friendly teams) will help them covert it. The procedure for this is to:
Programming at the competition
Gradle tries to make sure you have all the latest support code. Once a day it will try to connect to central servers to see if you have the latest libraries cached. This is fine if you always have an internet connection, but it can be a problem if you’re away from wifi.
The solution is to switch to “offline” mode while at a competition.
In Visual Studio Code, select the two options: “WPILib: Change Run Deploy/Debug Command in Offline Mode Setting” and “Change Run Commands Except Deploy/Debug in Offline Mode”.
Eclipse and IntelliJ have offline modes in their Gradle settings. If you build from the command line, add the “–offline” argument.