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

Estos no son links para conectarse directamente a la función VS Code -> Install New Libraries (online). Haga clic en estos links para visitar el sitio del proveedor para ver si ellos ofrecen instaladores en línea, instaladores fuera de línea, o ambos.

Analog Devices ADIS16448 IMU - Driver for ADIS16448 IMU. Más información aquí

Analog Devices ADIS16470 IMU - Driver for ADIS16470 IMU. Más información aquí

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

CTRE Phoenix Framework - Contiene CANcoder, CANifier, Pigeon IMU, Talon FX, Talon SRX, and Victor SPX Libraries y el programa Phoenix Tuner para configurar los dispositivos CTRE CAN

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

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

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

Rev Robotics SPARK MAX - Biblioteca SPARK MAX

Bibliotecas comunitarias

PhotonVision - Biblioteca para el software PhotonVision CV

Bibliotecas de comandos de WPILib

Nota

The project template for the Old Command Library has been removed. New projects are no longer able to be created for this, and users are highly recommended to migrate to the new library.

The WPILib old and new command libraries have been split into vendor libraries in order to reduce the chances of mixing the two which will not work correctly. They are both installed by the wpilib installer for offline installation. They may also be installed with the following online links:

Antigua Librería de Comandos Nueva Librería de Comandos

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.