第三方库

不使用KoP中提供的部分的团队可能需要安装外部库。 请查看以下部分以查看有关添加外部库的信息。

机制

为了支持这项工作,NI(对于LabVIEW)和FIRST / WPI(对于Java / C ++)已经开发了机制,使供应商可以轻松地将其代码插入WPILib软件,并且一旦安装该代码,团队就可以使用该代码 。 可以在下面找到有关系统针对每种语言的工作方式的简要说明。

机制-Java / C ++

对于Java和C ++,在将描述供应商库的JSON文件安装到你的系统上:〜/ wpilib / YYYY / vendordeps(其中YYYY是年份,而〜是Windows上的C:Users Public)。这可以由脱机安装程序完成,也可以使用Visual Studio Code中的菜单项从联机位置获取文件。然后,从VS Code中使用该文件将其添加到每个单独项目的库中。供应商库信息是按项目进行管理的,以确保项目始终指向给定供应商库的一致版本。库本身位于C:Users Public wpilib YYYY maven的Maven缓存中。供应商可以使用脱机安装程序在此处放置本地副本(推荐),或者要求用户在线以进行初始构建以从远程Maven位置获取库。

JSON文件允许指定具有多个组件(Java,C ++,JNI等)的复杂库,还可以帮助处理与仿真相关的一些复杂问题。选择在JSON中提供远程URL的供应商还使用户能够从VS Code中检查更新。

注解

一旦供应商JSON文件位于您的项目的vendordeps文件夹中,它们便实际上由GradleRIO处理。 如果使用其他IDE,则需要在项目中手动创建“ vendordeps”文件夹,然后从“ wpilib / YYYY”文件夹(脱机安装程序放置它们的位置)复制任何所需的供应商JSON文件 或直接从供应商处下载并将它们放入项目的文件夹中。

机制-LabVIEW

对于LabVIEW团队,您可能会注意到在各种选项版上有一些新的“Third Party”项(特别是,在“Actuators”中一项,在“Actuators -> Motor Control labeled CAN Motor”中一项,在“Sensors”中一项)。 它们对应于C:Program Files National Instruments LabVIEW YYYY vi.lib Rock Robotics WPI Third Party中的文件夹,其中YYYY是当前年份-1。如果是2020,则目录为LabVIEW 2019。

要使用已安装的“第三方”库,只需将VI放在这三个位置之一,然后将它们拖到项目中即可,就像使用其他VI一样。

管理VS code库

添加离线库

VS Code

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

要添加由脱机安装程序安装的供应商库,请按Ctrl + Shift + P并输入WPILib/单击右上角的WPILib图标,以打开WPILib命令面板。然后,输入“Manage Vendor Libraries”,然后从下拉菜单中选择它。 选择“Install new libraries (offline)”的选项。

Select the libraries to add.

选中每个库旁边的框,选择 要添加到项目中的所需库,然后单击“确定”。 这样,JSON文件将被复制到项目中的vendordeps文件夹中,并将库添加为项目的依赖项。

命令行

还可以通过gradle任务通过命令行从供应商URL添加供应商库依赖项。在项目根目录下打开一个命令行,然后输入“gradlew vendordep –url = <url>”,其中<url>是供应商JSON URL。这会将供应商库依赖项JSON文件添加到项目的vendordeps文件夹中。供应商库可以用相同的方式更新。

“vendordep” gradle任务还可以从用户“wpilib”文件夹中获取vendordep JSON。为此,请将“FRCLOCAL / Filename.json”作为文件URL传递。例如,“gradlew vendordep –url = FRCLOCAL / WPILibNewCommands.json”将为一个基于命令的新框架获取JSON。

检查更新(离线)

现在,依赖项是在每个项目的基础上进行版本管理和完成的。即使您已使用脱机安装程序安装了更新的库,也需要点击“Manage Vendor Libraries”并为要更新的每个项目选择“Check for updates (offline)”。

检查更新(在线)

供应商可以选择填充一部分JSON文件为在线更新。如果库指定了适当的位置,则运行“Check for updates (online)”可检查远程位置是否有可用的较新版本的库。

删除库依赖

要从项目中删除库依赖性,请从“Manage Vendor Libraries”菜单中选择“Manage Current Libraries”,选中要卸载的任何库的复选框,然后单击“确定”。这些库将从项目中删除。

警告

这些**不是**直接插入:guilabel:VS Code -> :guilabel:`Install New Libraries (online)`功能的链接。 单击这些链接以访问供应商站点,以查看他们是否提供在线安装程序,脱机安装程序,或同时提供这两者。

Analog Devices ADIS16448 IMU - ADIS16448 IMU的驱动. 更多信息 见此

Analog Devices ADIS16470 IMU -ADIS16470 IMU的驱动。更多信息`见此<https://wiki.analog.com/first/adis16470_imu_frc>`__

Copperforge LibCu Software Library - 包括Lasershark在内的所有 Copperforge 设备的库

CTRE Phoenix Framework- 包含用于配置CTRE CAN设备的CANcoder,CANifier,Pigeon IMU,Talon FX,Talon SRX和Victor SPX库以及Phoenix Tuner程序

Digilent-DMC-60C库

Playing With Fusion Driver - 包括 Venom motor/controller在内的所有PWF设备的库

Kauai Labs - NavX-MXP, NavX-Micro, 与Sensor Fusion的库

Rev Robotics SPARK MAX- SPARK MAX库

社区库

PhotonVision-PhotonVision CV软件库

WPILib命令库

注解

旧指令库的项目模板现在被移除了。新的项目不再会被加入旧的指令库,我们相当建议旧指令库的用户迁移到新的库

WPILib 命令库和 命令库 已被划分为供应商库,以减少将两者混合使用的机会,而这两者将无法正常工作。它们都由wpilib安装程序安装,以进行脱机安装。它们也可以通过以下在线链接进行安装:

`旧命令库<https://raw.githubusercontent.com/wpilibsuite/allwpilib/main/wpilibOldCommands/WPILibOldCommands.json>`__`新命令库<https://raw.githubusercontent.com/wpilibsuite/allwpilib/main/wpilibNewCommands/WPILibNewCommands.json>`__

要从项目中删除库依赖项,请从**管理供应商库**菜单中选择**管理当前库**,选中要卸载的任何库的复选框,然后单击**确定**。这些库将从项目中删除。