Librairies tierces

Les équipes qui n’utilisent pas les pièces fournies dans le KoP devront probablement installer des dépendances externes. Veuillez consulter la section ci-dessous pour voir les informations sur l’ajout d’une bibliothèque externe.

Processus

À l’appui de cet effort, NI (pour LabVIEW) et FIRST/WPI (pour Java/C++) ont développé des mécanismes qui devraient permettre aux fournisseurs d’intégrer facilement leur code sur le logiciel WPILib et aux équipes d’utiliser ce code une fois qu’il a été installé. Vous trouverez ci-dessous une brève description du fonctionnement du système pour chaque langage de programmation.

Le mécanisme - Java/C++

Pour Java et C++ un fichier JSON décrivant la librairie du fournisseur est installé dans votre système à ~/wpilib/YYYY/vendordeps (où YYYY est l’année et ~ est C:\Users\Public sous Windows). Ceci peut être fait par un installateur hors ligne ou le fichier peut être récupéré à partir d’un emplacement en ligne en utilisant l’élément de menu dans Visual Studio Code. Ce fichier est ensuite utilisé à partir de VS Code pour être ajouté à la librairie de chaque projet individuel. Les informations de la librairie du fournisseur sont gérées par projet pour s’assurer qu’un projet pointe toujours vers une version cohérente de la librairie d’un fournisseur donné. Les librairies elles-mêmes sont placées dans le cache Maven à C:\Users\Public\wpilib\YYYY\maven. Les vendeurs peuvent placer une copie locale ici avec un installateur hors ligne (recommandé) ou exiger des utilisateurs d’être en ligne pour une première compilation pour aller chercher la librairie dans un emplacement maven à distance.

Le fichier JSON permet la spécification de librairies complexes avec plusieurs composants (Java, C++, JNI, etc.) et aide également à gérer certaines complexités liées à la simulation. Les fournisseurs qui choisissent de fournir une URL distante dans le fichier JSON permettent également aux utilisateurs de vérifier les mises à jour à partir de VS Code.

Note

Les fichiers JSON des fournisseurs sont effectivement traités par GradleRIO une fois qu’ils sont dans votre dossier de projets vendordeps. Si vous utilisez un autre IDE, vous devrez créer manuellement un dossier vendordeps dans votre projet et copier tous les fichiers JSON du fournisseur désiré à partir du dossier « wpilib/YYYY » (où ils doivent être placés par un installateur hors ligne) ou les télécharger directement à partir du fournisseur et les placer dans le dossier du projet.

Processus - LabVIEW

Pour les équipes labview, vous remarquerez peut-être quelques nouveaux éléments tiers partie sur différentes palettes (en particulier, un dans Actuators, un dans Actuators -> Motor Control étiqueté CAN Motor, et un dans Sensors). Ceux-ci correspondent à des dossiers dans C:\Program Files\National Instruments\LabVIEW YYYY\vi.lib\Rock Robotics\WPI\Third PartyYYYY est l’année en cours - 1. Si nous sommes en 2020, le repertoire devrait être LabVIEW 2019.

Pour utiliser les librairies « Tierce partie » installées, il vous suffit de localiser les VIs dans l’un de ces 3 emplacements et de les faire glisser dans votre projet comme vous le feriez avec n’importe quel autre VI.

Gestion des librairies sous VS Code

Ajout de librairies hors ligne

VS Code

Utilisation de l’option Manage Vendor Libraries de la palette de commandes WPILib.

Pour ajouter une librairie d’un fournisseur qui a été installée par un installateur hors ligne, appuyez sur Ctrl+Shift+P et tapez WPILib ou cliquez sur l’icône WPILib en haut à droite pour ouvrir la palette de commande WPILib et commencer à taper Manage Vendor Libraries, puis sélectionnez-la dans le menu. Sélectionnez l’option Install new libraries (offline).

Sélectionnez les librairies à ajouter.

Sélectionnez les librairies que l’on souhaite ajouter au projet en cochant la case à côté de chacune, puis cliquez sur OK. Le fichier JSON sera copié dans le dossier vendordeps dans le projet, ajoutant la librairie comme une dépendance au projet.

Ligne de commande

L’ajout d’une dépendance d’une librairie tierce à partir de l’URL du fournisseur peut également se faire à travers la ligne de commande via une tâche gradle. Ouvrez une instance de ligne de commande à la racine du projet, puis entrez gradlew vendordep --url=<url><url> est l’URL JSON du fournisseur. Cette ajoutera le fichier JSON de dépendance de la librairie des fournisseurs au dossier vendordeps du projet. Les librairies des fournisseurs peuvent être mises à jour de la même façon.

La tâche gradle vendordep peut également aller chercher les fichiers vendordep JSONs dans le dossier de l’utilisateur wpilib. Pour ce faire, passez FRCLOCAL/Filename.json comme URL du fichier. Par exemple, gradlew vendordep --url=FRCLOCAL/WPILibNewCommands.json va chercher le fichier JSON pour le nouveau cadre de développement orienté commande.

Vérification des mises à jour (hors ligne)

Les dépendances sont maintenant gérées par version et effectuées sur une base par projet. Même si vous avez installé une librairie mise à jour à l’aide d’un installateur hors ligne, vous devrez vous servir de Manage Vendor Libraries et sélectionner Check for updates (offline) pour chaque projet que vous souhaitez mettre à jour.

Vérification des mises à jour (en ligne)

Une partie du fichier JSON que les fournisseurs peuvent optionnellement remplir est un emplacement de mise à jour en ligne. Si une librairie a un emplacement approprié spécifié, l’exécution de Check for updates (online) vérifiera si une nouvelle version de la librairie est disponible à partir de l’emplacement distant.

Suppression d’une dépendance

Pour supprimer une dépendance d’un projet à une librairie, sélectionnez Manage Current Libraries du menu Manage Vendor Libraries, cochez les cases correspondant à toutes les librairies à désinstaller et cliquer sur OK. Ces librairies seront supprimées en tant que dépendances du projet.

Librairies

Avertissement

Il ne s’agit pas de liens pour se brancher directement à la fonctionnalité VS Code -> Install New Libraries (online). Cliquez sur ces liens pour visiter le site du fournisseur pour voir s’ils offrent des installateurs en ligne, des installateurs hors ligne, ou les deux.

Analog Devices ADIS16448 IMU - Pilote pour ADIS16448 IMU. Plus d’infos ici

Analog Devices ADIS16470 IMU - Pilote pour ADIS16470 IMU. Plus d’infos ici

Copperforge LibCu Software Library - Librairie pour la prise en charge de tous les composants Copperforge, dont Lasershark

Le framework CTRE Phoenix - Contient les librairies CANcoder, CANifier, Pigeon IMU, Talon FX, Talon SRX, et Victor SPX ainsi que l’utilitaire Phoenix Tuner pour configurer les périphériques CAN CTRE

Digilent - Librairie DMC-60C

Playing With Fusion Driver - Librairie pour tous les équipements PWF, dont le moteur/contrôleur Venom

Kauai Labs - Librairies pour NavX-MXP, NavX-Micro, et Sensor Fusion

Rev Robotics SPARK MAX - Librairie SPARK MAX

Librairies communautaires

Librairie du logiciel PhotonVision CV PhotonVision

Librairies des commandes WPILib

Note

Le modèle de projet pour l’ancienne infrastructure orientée commandes a été supprimé. Les nouveaux projets ne peuvent plus être créés pour cela, et il est fortement recommandé aux utilisateurs de migrer vers la nouvelle infrastructure orientée commande.

Les bibliothèques de commandes WPILib ancienne et nouvelle ont été organisées en bibliothèques de fournisseurs afin de réduire les chances de mélanger les deux, ce qui ne fonctionnerait pas correctement. Elles sont toutes deux installées par le programme d’installation de wpilib pour une installation hors ligne. Elles peuvent également être installées avec les liens en ligne suivants:

Ancienne librairie Command Nouvelle librairie Command

Pour supprimer une dépendance de librairie d’un projet, sélectionnez Manage Current Libraries du menu Manage Vendor Libraries, cochez la case des librairies à désinstaller et cliquez sur OK. Ces librairies seront supprimées en tant que dépendances du projet.