Troubleshooting Checklist

The Basic Troubleshooting Checklist covers issues sometimes encountered getting a basic Robot Application running on the VMX-pi. The checklist covers issues during compilation, deployment and communicating with the robot application using the Driver Station.

Does the VSCode Robot Application Compile?

If the VSCode Robot Application does not compile correctly, the project cannot be deployed to the robot.

When building the Robot Application in VSCode, the success of the compilation is indicated by the “BUILD SUCCESSFUL” message in the VSCode Terminal window, as shown below:

If instead any error messages are displayed, these issues must be corrected and the project must be rebuilt, in order to deploy the software to the robot.

Was the Development Computer Connected to the Internet when you last ran “Update WPILib Version”?

When running the “Update WPILib Version” command using the VMX VSCode Extension, the Development Computer must be connected to the Internet.

Indicators that the Development Computer is not connected to the Internet when running the “Update WPILib Version” command can be found in the VSCode status area, as shown below:

To resolve this situation, connect to the Internet and re-run the “Update WPILib Version” command.

Was the Development Computer Connected to the Internet when you last ran a “Change the Deploy Target…” command?

Your development computer must be connected to the Internet when invoking the command to change the deployment target between VMX-pi and RoboRIO. This is because whenever switching deployment targets, the WPI Library version is automatically updated to the latest version – and the latest version information must be acquired from the Internet.

If the Development Computer was not connected to the Internet during the last “Change the Deploy Target” command, the VSCode Robot Application’s build.gradle will have an indication that the last attempt to update the WPILibVersion failed, as shown below:

To resolve this situation, connect to the Internet and re-run the “Change the Deploy Target…” command.

Is the VSCode Robot Application’s build.gradle file configured for VMX-pi?

As discussed in “Configuring a VSCode WPI Library project for VMX-pi”, the VSCode Robot Application’s build.gradle must be configured correctly to work with VMX-pi.

To confirm that the build.gradle file is configured for VMX-pi, the GradleRIO plugin id should be set to “com.kauailabs.first.GradleRIO” as shown below:

Was the last deployment from VSCode successful?

Each time the Robot Application is changed, it must be successfully deployed to the Robot in order to run that latest code.

The status of the “Deploy Robot Code” command is displayed in the VSCode Terminal window; successful deployment is indicated by the “BUILD SUCCESSFUL” message shown below:

If case of an error during deployment, details describing the encountered issues will be displayed in this terminal window.

When deploying, can the Development Computer communicate over a network to the Raspberry pi?

The Development Computer must be connected to the Raspberry Pi in order to deploy, using one of the methods described in
“Raspberry Pi Network Configuration for FRC”.

To verify this communication, the “ping” command can be used in a console window on the Development Computer to verify basic network communication, as shown below. In this example, the Raspberry Pi is configured in WifiAP mode with IP Address 10.56.782, and the Development Computer is connected to the Raspberry Pi’s Wifi network.

If the ping does not complete as expected, a message similar to the following will be shown instead:

Are the Raspberry Pi User Name/Password set to their default values?

As indicated in the “VMX_FRC Raspberry Pi Software Configuration” page, the Raspberry Pi default user name and password must be used. If these do not match their default values, deployment of the robot application to the VMX-pi robot will fail.

Does the Team Number in the VSCode project configuration match the Team number assigned to VMX-pi?

The team number configured on VMX-pi (as described in “Raspberry Pi Network Configuration for FRC”) must match the team number entered in VSCode to deploy.

Setting the Team Number in the VSCode project is described in the WPI Library VSCode Extension documentation.

Also, the team number entered in the Drive Station configuration must match the VMX-pi, in order to connect from the Driver Station, as discussed in the “Controlling a VMX-pi FRC robot using the FRC Driver Station” documentation.

Is Virus or Firewall software blocking communication between your Development Computer and VMX-pi?

Even when the Ping command successfully indicates the Development Computer and Raspberry Pi are communicating, it’s possible that Virus or Firewall software running on your Development Computer may block communication between the Driver Station and the VMX-pi robot.

Additionally, if your Development Computer and Raspberry Pi communicate (using WifiClient or Ethernet mode as described in the
“Raspberry Pi Network Configuration for FRC” document) via a network using routers which are configured with firewalls, the firewall within the router may also be blocking communication as well. This case typically occurs on school networks or a corporate networks. In this case its recommended to contact the network administrator about resolving the problem – or connect instead via WifiAP or directly-connected Ethernet.

More information on this can be found in the “Prior to Departing for Competition” section of the official “Driver Station Best Practices” documentation.

If using Windows Firewall, is the network connection “Private”?

In Windows 10, each network connection on the computer is part of either a “Home”, “Public” or “Private” network.

The Windows Firewall applies more restrictive communication filtering on “Public” networks. Therefore in some cases configuring Windows so that the network connection to the Raspberry Pi is on a “Private” connection will allow communication to occur.

Is the Windows Account used for Driving a member of the Administrator’s Group?

As described in the “Prior to Departing for Competition” section of the official “Driver Station Best Practices” documentation”, the Windows user account you use to drive must be a member of the Administrator group.