Skip to content

Instantly share code, notes, and snippets.

@ethanc8
Created January 26, 2024 03:55
Show Gist options
  • Save ethanc8/a132c9128d8ed8fa1dee72cda67f1284 to your computer and use it in GitHub Desktop.
Save ethanc8/a132c9128d8ed8fa1dee72cda67f1284 to your computer and use it in GitHub Desktop.
RoboRIO Deployment from Linux

RoboRIO Deployment from Linux

Using open-ds and the proper radio configurations, you can deploy to the RoboRIO from Linux!

This might be useful for team members who mostly program on Linux, if you have vision/coprocessor code that is easier to develop on Linux but you also need to work on robot code, or if you want to set up a Raspberry Pi or other ARM64 system as a lab computer to do programming.

Networking setup

  1. Connect power to the roboRIO
  2. Plug a Power-Over-Ethernet splitter into the radio's left port, and connect the power cable to power and the other cable to the roboRIO (by plugging in a normal Ethernet cable)
  3. Plug an Ethernet cable into the radio's right port and the other end into your computer (you may need a USB-to-Ethernet adapter if you're doing this from a laptop)

WPILib Installation

Download the latest version of WPILib.

Extract the tarball and run WPILibInstaller (inside the extraction directory). It will guide you through the steps to install WPILib.

Using the system VS Code/VSCodium (optional)

To use the system VS Code, open VS Code, open the Extensions tab, click the three dots, and click "Install from VSIX...". Choose ~/wpilib/2024/vsCodeExtensions/vscode-wpilib-2024.1.1.vsix.

Driver Station (open-ds) Installation

Note: open-ds is not the official driver station and may have missing features

To install open-ds, please install a JDK or JRE for Java 8 or later.

On Debian and Ubuntu, please install:

sudo apt install default-jdk

On other distros, consult your package manager documentation or package manager search tool.

If your distro does not provide a JDK, you can download a JRE from Eclipse Temurin (AdoptOpenJDK).

Now, you can download the JAR for open-ds from GitHub Releases. I will provide an updated JAR, a .desktop file, and a complete installer in the future, but for now, you can use the following command to launch the JAR:

java -jar open-ds-v0.2.4.jar 

Phoenix Tuner X installation (optional)

(these instructions assume Ubuntu or Debian)

(this will install the Android version of Phoenix Tuner X)

First, install the Android rootfs and userspace libraries:

sudo apt install curl ca-certificates -y
curl https://repo.waydro.id | sudo bash
sudo apt install waydroid -y
sudo waydroid init
waydroid prop set persist.waydroid.multi_windows true
waydroid session stop

Now, download and install Phoenix Tuner X:

wget https://github.com/ethanc8/someblobs/releases/download/phoenix-tuner-x-2024.6.1.0/Tuner.X_2024.6.1.0_apkcombo.com.apk
waydroid app install "./Tuner X*.apk"
waydroid app launch com.ctre.phoenix_tuner

TODO

If any of you want to help me with this, please leave a comment!

  • Support other ways to connect to the RoboRIO
    • Direct via USB
    • Direct via Ethernet (plug in to RoboRIO)
    • Direct via RS-232 serial port (via USB adapter or GPIO)
    • Wi-Fi to router
  • Test on arm64 systems
  • Support flashing the RoboRIO (my notes)
  • Support configuring the radio
  • Determine other features supported by FRC Game Tools
  • Start maintaining open-ds
  • Make an installer for the Linux Game Tools
  • Port to Android
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment