Bibliotecas de 3ros

Los equipos que no están usando las piezas proporcionadas en el KoP probablemente necesitarán instalar dependencias externas. Consulte la siguiente sección para ver información sobre como añadir una biblioteca externa.

El mecanismo

En apoyo de este esfuerzo NI (para LabVIEW) y FIRST/WPI (para C++/Java) han desarrollado mecanismos que deberían facilitar a los proveedores conectar su código al software WPILib y que los equipos usen ese código una vez que se ha instalado. A continuación, encontrará una breve descripción de cómo funciona el sistema para cada idioma.

El mecanismo - Java/C++

Para C++ y Java, se instala un archivo JSON que describe la biblioteca de proveedores en el sistema en ~/ wpilib/YYYY/vendordeps (Dónde YYYY es el año y ~ es C:UsersPublic en Windows). Esto se puede hacer mediante un instalador sin conexión o el archivo se puede obtener desde una ubicación en línea mediante el elemento de menú en Visual Studio Code. A continuación, este archivo se utiliza desde VS Code para agregar a la biblioteca a cada proyecto individual. La información de la biblioteca de proveedores se administra por proyecto para asegurarse de que un proyecto siempre apunta a una versión coherente de una biblioteca de proveedores determinada. Las propias bibliotecas se colocan en la caché de Maven en C:\Users\Public\wpilib\ YYYY\maven. Los proveedores pueden colocar una copia local aquí con un instalador sin conexión (recomendado) o requerir que los usuarios estén en línea para una compilación inicial para recuperar la biblioteca desde una ubicación remota de Maven.

El archivo JSON permite la especificación de bibliotecas complejas con multiples componentes (C++, Java, JNI, etc.) y también ayuda a manejar algunas complejidades relacionadas con la simulación. Los proveedores que eligen proporcionar una dirección URL remota en el JSON también permiten a los usuarios buscar actualizaciones desde VS Code.

Nota

Los archivos JSON del proveedor son procesados por GradleRIO una vez que están en la carpeta vendordeps de su proyecto. Si utiliza otro IDE, tendrá que crear manualmente una carpeta «vendordeps» en su proyecto y copiar los archivos JSON del proveedor que desee desde la carpeta «wpilib/YYYY» (donde debería colocarlos un instalador sin conexión) o descargarlos directamente del proveedor y colocarlos en la carpeta del proyecto.

El mecanismo-LabVIEW

Para los equipos LabVIEW, puede notar algunos elementos nuevos de terceros en varias paletas (específicamente, Actuators, uno en Actuators -> Motor Control etiquetado CAN Motor, y uno en Sensors). Estos corresponden a carpetas en `C:Program FilesNational InstrumentsLabVIEW YYYYvi.libRock RoboticsWPIThird Party` donde YYYY es el año actual -1. Si es 2020, el directorio sería LabVIEW 2019.

Para utilizar las bibliotecas de terceros instaladas, simplemente localice los VI en una de estas 3 ubicaciones y arrástrelos a su proyecto como lo haría con cualquier otro VI.

Administrar bibliotecas en VS Code

Añadiendo una biblioteca instalada sin conexión

VS Code

Using the Manage Vendor Libraries option of the WPILib Command Palette.

Para añadir una librería vendor que se ha instalado por un instalador fuera de línea, presione Ctrl+Shift+P y escriba WPILib o haga clic en el icono de WPILib en la esquina superior derecha para abrir la Paleta de Comandos de WPILib y empiece a escribir Manage Vendor Libraries, después selecciónelo en el menú. Seleccione la opción de Install new libraries (offline).

Select the libraries to add.

Seleccione las bibliotecas deseadas para agregarlas al proyecto marcando la casilla situada junto a cada una y, a continuación, haga clic en OK. El archivo JSON se copiará en la carpeta vendordeps del proyecto, agregando la biblioteca como una dependencia al proyecto.

Línea de comando

También se puede agregar una dependencia de biblioteca de proveedor desde la URL del proveedor a través de la línea de comandos a través de una tarea gradle. Abra una instancia de la línea de comandos en la raíz del proyecto e ingrese gradlew vendordep--url=<url> donde``<url>`` es la URL JSON del proveedor. Esto agregará el archivo JSON de dependencia de la biblioteca del proveedor a la carpeta vendordeps del proyecto. Las bibliotecas de proveedores se pueden actualizar de la misma manera.

La tarea vendordep de gradle también puede obtener JSON de vendordep de la carpeta del usuario wpilib. Para hacerlo, pase FRCLOCAL/Filename.json como el archivo URL. Por ejemplo, gradlew vendordep --url=FRCLOCAL/WPILibNewCommands.json buscará el JSON para el nuevo marco basado en comandos.

Buscando actualizaciones (sin conexión)

Las dependencias ahora se administran por versión y se realizan por proyecto. Incluso si ha instalado una biblioteca actualizada con un instalador fuera de línea, deberá Manage Vendor Libraries y seleccionar Check for updates (offline) para cada proyecto que desee actualizar.

Comprobación de actualizaciones (en línea)

Parte del archivo JSON que los proveedores pueden completar opcionalmente es una ubicación de actualización en línea. Si una biblioteca tiene una ubicación especificada, ejecutar Check for updates (online) comprobará si hay una versión más nueva de la biblioteca disponible desde la ubicación remota.

Eliminar una dependencia de biblioteca

Para eliminar una dependencia de biblioteca de un proyecto, seleccione Manage Current Libraries del menú Manage Vendor Libraries, marque la casilla de las biblotecas que desee eliminar y haga clic en OK. Estas bibliotecas serán eliminadas como dependencias del proyecto.

Bibliotecas

Advertencia

Many vendors, such as CTRE & REV, recommend using their offline installers over using the online vendor json URL. This recommendation is because the offline installer is bundled with additional programs that are extremely useful when working with their devices.

Click these links to visit the vendor site to see whether they offer online installers, offline installers, or both. URLs below are to plug in to the VS Code -> Install New Libraries (online) feature. The online vendor json will break if a team has not ran an «online» build after 30 days, since the cache will clear.

Copperforge LibCu Software Library - Biblioteca para todos los dispositivos Copperforge incluyendo el Lasershark

https://copperforge.cc/files/dev/vendordeps/LibCu-latest.json

CTRE Phoenix Framework - Contains CANcoder, CANifier, Pigeon IMU, Talon FX, Talon SRX, and Victor SPX Libraries and Phoenix Tuner program for configuring CTRE CAN devices

https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix-frc2022-latest.json

Digilent <https://reference.digilentinc.com/dmc-60c/getting-started>`__ - Biblioteca de DMC-60C

Offline only

Playing With Fusion Driver <https://www.playingwithfusion.com/docview.php?docid=1205> __ - Biblioteca para todos los dispositivos PWF, incluido el motor / controlador Venom

https://www.playingwithfusion.com/frc/playingwithfusion2022.json

Kauai Labs - Bibliotecas para NavX-MXP, NavX-Micro, y Sensor Fusion

https://www.kauailabs.com/dist/frc/2022/navx_frc.json

REV Robotics REVLib - Library for all REV devices including SPARK MAX and Color Sensor V3

https://software-metadata.revrobotics.com/REVLib.json

Bibliotecas comunitarias

PhotonVision - Biblioteca para el software PhotonVision CV

https://maven.photonvision.org/repository/internal/org/photonvision/PhotonLib-json/1.0/PhotonLib-json-1.0.json

Bibliotecas de comandos de WPILib

The WPILib new command library has been split into a vendor library. It is installed by the WPILib installer for offline installation. It may also be installed with the following online link:

New Command Library

Para eliminar una dependencia de biblioteca de un proyecto, seleccione Manage Current Libraries en el menú Manage Vendor Libraries, marque la casilla de las bibliotecas que desee desinstalar y haga clic en Aceptar. Estas bibliotecas se eliminarán como dependencias del proyecto.

Romi Library

A Romi Library has been created to contain several helper classes that are a part of the RomiReference example.

Romi Vendordep.