Hardware Configurators
Each vendor has their own software and process to setup their hardware before it can be used. There are a few common vendors we use below, each with instructions on how to configure their hardware to be able to interface with it in our robot code.
There are very few settings that need changed in the configuration applications, but you can change almost everything on the device. Typically we only change the CAN ids from the applications. The tools are also allow for simple manual control (for prototyping) or seeing device telemetry. They are also used to update the device firmware.
We try to set most settings in code that way we can enforce and ensure the devices are always configured correctly.
Below is reference and tips for each of the primary hardware vendors that we frequently use. Cycle through the different tabs to see the unique setup instructions for each.
- General 🧰
- CTRE 🐔
- REV ⚙️
- PWF ☢️
Generic FRC Hardware
Hardware that we typically use that is generic across all robots includes:
These devices have their own unique configuration method, but are required on all FRC robots. You can't run your code without a RIO and you can't connect to the field without a radio.
roboRIO
The two different roboRIOs have different imaging processes as listed below. The device has both firmware and a software application image. The firmware updates are rare, but there is a yearly season image release.
Avoid using the original roboRIO since it has barely enough memory to run modern FRC code. Only use it for simple applications like test benches or small project robots.
You can debug an information on the RIOs by opening a hosted webserver at 10.41.43.2
in any browser on the robots network. If you are connected over USB you can try 172.22.11.2
VH109 FRC Radio
The VH109 also has firmware and configuration settings that are required to be set to let your computers connect to the robot. The radio will need to be reprogrammed at and after each event, because the events require additional configuration. Firmware updates will be rare.
Cross the Road Electronics
Hardware that we typically use from CTRE includes:
- TalonSRX
- TalonFX
- TalonFXS
- CANCoder
- Pigeon 2.0
- CANivore
All CTRE devices are configured through the Tuner X application. It is likely already installed so you can just use Windows search, but there are instructions to install here. You can launch Tuner X and connect over the robot network to see all the CTRE devices on the RIO or CANivore CAN bus.
CTRE provides excellent documentation for interfacing with their devices over the tool and how to set it up. Below are some quick links to the more common actions you would preform in Tuner X, but you can also see their entire documentation here.
REV Robotics
We tend to try to limit REV devices on the robot to attempt to run a common motor controller ecosystem. Sometimes there is no other option and a REV device is the best for a given situation.
Hardware that we typically use from REV includes:
- SPARK MAX
- SPARK Flex
- Power Distribution Hub
- This device can run without REVLib and is typically used on all FRC robots.
All REV devices are configured through the REV Hardware Client application. It is likely already installed so you can just use Windows search, but there are instructions to install here. This tool requires being physically connected to a REV device on the robot through a USB-C cable. You should be able to see all devices that share the same CAN bus as the device you plugged into.
REV provides documentation for interfacing with their devices over the tool and how to set it up. Below are some quick links to the more common actions you would preform in the REV Hardware Client, but you can also see their entire documentation here.
- How to Connect using REV Hardware Client
- Device List Overview
- Blinking Device for Identification - SPARK MAX
- Updating Device Firmware - SPARK MAX
- Manually Controlling Devices - SPARK MAX
- Blinking Device for Identification - SPARK Flex
- Updating Device Firmware - SPARK Flex
- Manually Controlling Devices - SPARK Flex
- Viewing PDH Faults
- Updating Device Firmware - PDH
- Viewing Device Telemetry
Make sure to press Persist Parameters
after making any device changes for them to stay across power cycle!
Playing with Fusion
Hardware we typically use from PWF includes:
There is not much configuration required for the PWF TOF sensor. It doesn't even require an external application. Once the library has been added to the robot project and a sensor has been added in code it will force a webserver to launch on the robot network. This webserver allow for changing the CAN id of the device and blinking the LED for identification.
You can reach the webserver by entering 10.41.43.2:5812
into a web browser on the robot network. If you are connected to the RIO via usb you can also try 172.22.11.2:5812
.
Ensure the address matches the roboRIOs and the port is 5812