RoboRIO Deployment from Linux

Oh, that’s nice. Is it part of the VSCode extension, or somewhere else?

It’s one of the tools that’s installed by the installer, alongside Shuffleboard, glass, sysid, etc.

Hmm, at least for me, the roboRIO utility seems to more reliably detect the roboRIO than the WPILib team number setter. Granted I haven’t used the WPILib team number setter in a while.

Thanks!

The legal answer to this is no, we can’t. But… Thats not to say you as a user can’t go and do that.

1 Like

Doesn’t WPILib already insert other things into the installed VSCode? Could the package.json be modified in the same manner (i.e. after installing VSCode into ~/wpilib)?

Also, does anyone know of any other FRC Game Tools capabilities I missed?

We use the portable mode of VS Code, and set settings inside of that mode, which is allowed. We don’t and are not allowed to modify the internals of VS Code, which is what changing package.json would entail.

1 Like

Ok, thanks!

If we wanted to cleanly separate WPILib from the system VS Code, you could use VSCodium or do code-oss rebuilds, but I think the issue here is that Pylance and C/C++ debugger extension for Windows are proprietary. C/C++ extension has many good alternatives (clangd, CodeLLDB), but Pylance has not really seen a good replacement in terms of speed, quality, and ease-of-use as far as I know.

Yup. Thats why we don’t build our own. The extension marketplace is only supported on the Microsoft Visual Studio Code builds, as well as most of the debugger extensions (C++, Java, and Pylance) all require Microsoft VS Code builds to work.

Java works perfectly fine (at least in VSCodium configured to use the Marketplace*) because it’s open source and provided by Red Hat. Other than that, yes.

* I understand that it might cause legal issues to configure WPILib to use the Marketplace without using the proprietary VSCode

The Intellisense extension works, but the debugger extension does not.

Oh. I guess I’ve never used the debugger. Thanks!

Does WPILib contain a JDK, and if so, can I set environment variables/other things to make other programs (such as open-ds) use that JDK? I’m not really familiar with the Java ecosystem.

i would like to add cool existing materials onto this thread:

to connect to roborio with the USB cable instead of ethernet:

awesome cross-platform driver station that i use:

1 Like

awesome cross-platform driver station

I tried using Conductor, but it didn’t connect to the roboRIO even when SSH and open-ds worked. I can investigate further next week, though.

Yes, the WPILib installer installs a JDK, on Linux it will install to ~/wpilib/2024/jdk. To use it, the bin subdirectory should be on the PATH, and the JAVA_HOME environment variable should be set to the JDK path. For just running an application, you can just directly run ~/wpilib/2024/jdk/bin/java -jar <jarname.jar> to use that JRE.

strange. my experience has been successful using a prebuilt artifact on macos which probably differs from whichever flavor of desktop linux you might be using, so good luck.

Another thing that we might need on Linux is a way to configure REV systems, similarly to the REV Hardware Client.