WPIlib 2019: Adding 3rd Party Libraries

wpilib

#1

EDIT: See this github issue.
TL;DR: These 3rd party libraries have not been released yet.

I’ve been trying to figure out how to add 3rd party libraries to my project in VS Code. I found the ScreenSteps Live page which has instructions on how to add them, but I can’t find the files or URLs for the actual libraries. I need the NavX_MXP and CTRE libraries. For the NavX Library, I found the page that should have it, but Kawai Lab’s page has a blank spot after they say “Then, enter the URL shown below and press ENTER.” Will they be released on Kickoff or are they already available?

Please let me know if you have any ideas.


#2

Here are the navx libraries. They are tested with the beta releases of the wpilib tools and such for 2019 but not tested with the full release. That being said, I have succesfully imported it into the project. I also did an offline install instead of online. They have the installation steps on the page I linked.

As for CTRE, I havent tested using their beta code yet. I will get around to it today. Just expect they will release new updates once the season starts. Im pretty sure you can update through VSCode though.


#3

After installing the 2019 CTRE Phoenix Tuner [formally Phoenix Diagnostics] you will right click the gradle.build folder and select [manage vendor Libraries] when you will then in turn select install vendor libraries (offline) this will bring the vendor json files to your project in a folder named vendordep. I hope that the CTRE and NavX teams get their 2019 releases launched soon too if they have not already.

I should also note that this same process for the NavX libraries after installing their software suite.


#4

Thanks @jreneew2! I tried downloading the file you linked, but I should have also said that I’m on a mac right now. I think I need the JSON files for the libraries, not the source files. I read on this page that

For C++ and Java a JSON file describing the vendor library is installed on your system to C:\Users\Public\frcYYYY\vendordeps. This can either be done by an offline installer or the file can be fetched from an online location using the menu item in VSCode. This file is then used from VS Code to add to the library to each individual project. Vendor library information is managed on a per-project basis to make sure that a project is always pointing to a consistent version of a given vendor library. The libraries themselves are placed in the Maven cache at C:\Users\Public\frcYYYY\maven. Vendors can place a local copy here with an offline installer (recommended) or require users to be online for an initial build to fetch the library from a remote Maven location.

Also on the Kawai Labs page, they wrote that

At this point, the “navx_frc.json” file will be added to the “vendordeps” directory in your project. This file provides GradleRIO with all the information need to compile and link your application with the navX_FRC libraries – and even enables you to debug into the navX_FRC libraries if you wish.


#5

There is a readme in the cross-platform zip package that explains how to install it on linux and I assume its very similar for mac.

Here is the download link to the cross-platform zip.

It has instructions in it on how to change the windows paths and such. Once you install the navx stuff. You should be able to just add it in VSCode without any messing around with JSON files.


#6

Thanks for the insight, @cpapplefamily. I saw that Kawai Labs, who makes the NavX, wrote that

[ Update: 11/3/2018 – Version 3.1.330 has been released, which is compatible with the 2019 FRC Beta 1 Release 2018.1.1. There are no known issues for release. ]

(See here)


#7

I downloaded the NavX files and moved them as the readme described. However, when I go to the command pallet in VS Code --> Manage Vendor Libraries --> Install New Libraries (offline), I get the error “No new dependencies available.” Any Ideas?


#8

It looks like that zip file doesnt have any maven repo in it. I think you could manually add it using the online install option. However, Im not sure of the exact URL for it.

You could try this URL I found:
http://www.kauailabs.com/maven2/com/kauailabs/navx/frc/navx-cpp/3.1.340/


#9

Hmm. When I try that URL with the Install New Libraries (online) option, I get no responding messages. When I chose Manage current libraries, I get the message No dependencies installed

I’ve used OpenRIO’s Mavin Mirror before, so I’ll try that.
Forget about that. The versions look like they are from the 2018 season and the URLs don’t work in the Install New Libraries (online) box.

@people working on WPIib and this new build system, (maybe @Jaci, ThadHouse) any suggestions?


#10

See this github issue.
TL;DR: These 3rd party libraries have not been released yet.


#11

Final third party installers have not been released yet. Please don’t try to hack in beta releases, they are not guaranteed to work. CTRE is planning on releasing their kickoff release today, and I would expect NavX to release theirs soon as well.


#12

Okay, Thanks!


#13

Hi all,

CTRE doesn’t seem to have any releases listed yet. VSCode tells me “No dependencies installed”, and this is where Google’s first result takes me. Anyone know of any new updates, or places to look for these things?

Also, anyone have any links handy to a primer on GradleRIO or anything like that? I’m totally new to this dependency management system, and information seems sparse on the ground.

Thanks!


#14

We did our official release last Friday. Our software doesn’t come with the default WPILib installation; you’ll need to install Phoenix (just like last year) and then follow the documentation on adding Phoenix to your project.

CD announcement here:

Documentation (including where/how to install & use with vscode) is here:
https://phoenix-documentation.readthedocs.io/en/latest/index.html


#15

Ah thank you! Some other post had linked me right into the middle of those directions, so I didn’t see the huge banner reading “Follow these instructions in order!” I’ll follow the directions from the start now. You’ve saved me a ton of time, thanks!