Prepare your workstation computer

Before Installing Phoenix…

It is strongly recommended to complete the base installation of FRC tools. https://docs.wpilib.org/en/latest/docs/getting-started/getting-started-frc-control-system/control-system-software.html

Warning

You will need to image the roboRIO to 2020 software before continuing. The roboRIO kickoff versions are image 2020_v10.

Test base FRC Installation - FRC LabVIEW

If a team intends to use LabVIEW to develop robot software, be sure to complete the full NI installer. At which point, opening LabVIEW should reveal the FRC-styled graphical start menu.

At this point it is recommended to create a simple template project and test deploy to the roboRIO. Be sure the DriverStation can communicate with the robot controller, and that DS message log is functional.

Note

LabVIEW is versioned 2019 due to its release schedule. Therefore, LV2019 is used for the 2020 season.

Test base FRC Installation - FRC C++ / Java

It is recommended to install the FRC Driver Station Utilities. This will install the Driver Station software, which is necessary for:

  1. Basic comms checks
  2. Reading joystick data
  3. Generally required for enabling motor actuation (Phoenix Tuner Control features may require this, depending on setup).

General Recommendations for FRC C++ / Java.

The FRC C++/Java standard distribution for 2020 is based on the Microsoft Visual Studio Code development environment with WPI extensions.

If you are not familiar with developing C++/Java FRC programs, we strongly recommend testing full deployment to your robot controller before installing Phoenix and porting previous season software. A recommended test is to:

  1. Create a project from scratch
  2. Make a simple change such as add a print statement with a counter.
  3. Deploy (or debug) your application.
  4. Confirm robot can be teleop-enabled in DS.
  5. Open FRC message Console and read through all the messages.
  6. Repeat 2 - 5 ten times. This will train students to become familiar with and build general confidence in the tools.

Note

Third-party vendor libraries are installed into the C++/Java project, not the environment. For each C++/Java project you create, you must use the WPI provided tools to select Phoenix to bring the libraries into your project.

What to Download (and why)

Option 2: Phoenix API via Non-Windows Zip

Environments: Linux/MacOS - C++/Java

The Phoenix API can be manually installed on non-Windows platforms by downloading the “non-Windows” zip and following the instructions found inside.

This essentially contains a maven-style repository that holds the API binaries and headers, as well as a “vendordeps” JSON file that instructs VS how to incorporate the Phoenix C++/Java API libraries.

Note

This is auto installed when using the Windows full installer (Option 1).

Phoenix Tuner

Environments: Windows

If you are using option 2, you will need to download Phoenix Tuner separately. Phoenix Tuner is available here… https://github.com/CrossTheRoadElec/Phoenix-Tuner-Release/releases

This can be convenient for workstations that aren’t used for software development, but are used for field-upgrade or testing motor controllers.

Note

LabVIEW teams may need to use Phoenix Tuner to install Phoenix libraries into the roboRIO. More information on this can be found under Prepare Robot Controller.

Note

This is auto installed when using the Windows full installer.

Note

Developers may be interested to know that all Phoenix Tuner features leverage an HTTP API provided by the Phoenix Diagnostics Server. As such, custom tooling can be developed to field-upgrade, test-control, or diagnostics CTRE devices without Tuner.

Device Firmware Files (crf)

The test firmware files for all CTRE devices are packaged with the Windows Installer (and has been for years). However, many FRC teams don’t notice, or prefer to download them directly from the product pages on the ctr-electronics.com website. If Internet access is available, they can be downloaded as such.

The FRC Software installer will create a directory with various firmware files/tools for many control system components. Typically, the path is:

C:\Users\Public\Documents\FRC
_images/crf.png

When the path is entered into a browser, the browser may fix-up the path:

C:\Users\Public\Public Documents\FRC

In this directory are the initial release firmware CRF files for all CTRE CAN bus devices, including the new Talon FX and CANCoder.

The latest firmware to be used can be found in the Software Release Notes.

Note

Additionally, newer updates may be provided online at http://www.ctr-electronics.com.

Note

There is no longer FRC versus non-FRC firmware for motor controllers. Instead the latest firmware detects if the use case is FRC. If so, the device will FRC-Lock, and will require the Driver Station for actuation.

Workstation Installation

There are three installation methods listed below. The simplest and recommended approach is to run the Windows Installer (Option 1).

Option 1: Windows Offline Installer (C++/Java/LabVIEW, HERO C#)

Un-compress the downloaded zip.

_images/exe.png

Double click on the installer. If the Windows protection popup appears press More Info, then Run anyway.

_images/prot-1.png _images/prot-2.png _images/prot-3.png

This will look very similar to previous installers - make sure you have the relevant component selected for your programming language.

_images/install-1.png

LV Teams: Make sure LabVIEW is selected. If it is grayed out, then LabVIEW was not installed on the PC.

C++/Java Teams: Make sure C++/Java is selected.

If Visual Studio 2017 (Community/Professional) is detected, HERO C# will be selected. This can be turned off to speed up the installer.

_images/install-2a.png

Installer can take anywhere from 30 seconds to 5 minutes depending on which Microsoft runtimes need to be installed.

_images/install-3.png

Final page will look like this. The Phoenix Tuner link can be used to open Phoenix Tuner. Alternatively, you can use the Windows Start Menu.

_images/install-4.png

Option 2: Non-Windows Zip (C++/Java)

The zip will contain two folders, “maven” and “vendordeps”. These folders are meant to be inserted into your frc2020 install folder.

See WPI documentation for typical location. https://docs.wpilib.org/en/latest/docs/software/wpilib-overview/3rd-party-libraries.html#the-mechanism-c-java

Copy/paste the maven and vendordeps folder into frc2020 folder. This will override a pre-existing Phoenix installation if present.

Note

This will not install Phoenix Tuner or firmware files. If these are necessary (and they typically are) these can be downloaded separately or consider using the complete Phoenix Installer.

Post Installation Steps

After all workstation installs, the following checks should be followed to confirm proper installation.

FRC C++/Java - Verify Installation

The offline files for vscode are typically installed in:

C:\Users\Public\wpilib\2020\vendordeps\Phoenix.json (File used by vscode to include Phoenix in your project)
C:\Users\Public\wpilib\2020\maven\com\ctre\phoenix (multiple maven-style library files)

Your drive letter may be different than “C:”. After running the Phoenix Installer, the instructions to add or update Phoenix in your robot project must be followed.

FRC LabVIEW – Verify Installation

After running the installer, open a pristine copy of FRC LabVIEW.

Testing the install can be done by opening LabVIEW and confirming the VIs are installed. This can be done by opening an existing project or creating a new project, or opening a single VI in LabVIEW. Whatever the simplest method to getting to the LabVIEW palette.

The CTRE Palette is located in:

  • WPI Robotics Library -> Third Party.
_images/lv-paletteMenu.png

This palette can also be found in:

  • WPI Robotics Library -> RobotDrive -> MotorControl -> CanMotor
  • WPI Robotics Library -> Sensors -> Third Party
  • WPI Robotics Library -> Actuators -> Third Party

FRC Windows – Open Phoenix Tuner

Open Phoenix Tuner

_images/tuner-1.png

If this is the first time opening application, confirm the following:

  • the status bar should read “Lost Comm”.
  • No CAN devices will appear.
  • The Server version will be unknown.
_images/tuner-2.png